[PLUG] Ready for website creation tutorials

Jon Scully jonscully at gmail.com
Wed Dec 13 18:09:42 UTC 2006


CGI -- Common Gateway Interface is largely what it's name says: It's a
gateway between the server and the remote browser -- OK it's a common
way to interface a server with a browser.  Or, it's a communication
protocol, like many others.  For example: B: "hello?" S: "hi" B: "hey,
can I get a file?" S: "what's the secret password?" B: "I don't know!"
S: "just kidding... what file do you want?" etc.

GET sends the request (the answer to "what file do you want?" at the
end of the URL. Ever notice [www.site.com], then
[www.site.com?file=42]? The '?' part is followed by one or more
key=value pairs, sent to the server.

POST -- does virtually the same thing as GET, but uses FORM fields,
such as <input type="text" name="file" value="42" />, etc.

Apache is one of the more common web 'servers'.  When you install
Windows or a Linux distribution on some hardware, you don't always get
a web server with the package.  To get a web server you can install
Apache (or any number of others).  You know what a web browser is.  So
it's a lot like some Unix/Unix-like distribution that don't have a
browser by default.  You have to pick one (Firefox, Opera, lynx) and
install it.  The difference is, a server (like Apache) is often
configured by changing text files, instead of clicking buttons in an
'Options' window, like with a browser.

Ruby is programming language, like PHP.  It's Rail, the 'framework',
that has probably caused a lot of the hype around the language.  The
'framework' really consists of just software.  It auto-creates code
(Ruby code) in very convenient ways, taking much of the drudgery out
of developing a web site.  If you learn just the framework and don't
learn the language, two things will happen: First, it will be a very
exciting trip, to begin with.  You'll wonder how you created so much,
so fast -- especially if you're used to using, say PHP and haven't
used one of its myriad 'frameworks'.  Next, you'll run into many
limitations; some small; some not so small.  Then you'll realize
(eventually) that you really need to learn more about Ruby so you can
get into the guts of Rails and make your web site what you really
intended it to be.

What did Mark Twain say? "The longest distance between two points is a
shortcut."?

If you're a veteran programmer, you'll appreciate Rails (because you
know you can drop down to the Ruby level any time and start tweaking
real code).  If you're a beginner, you'll appreciate Rails a lot --
but the honeymoon will be over pretty quickly.

Server based is unavoidable.  Web pages get 'served' from a server.
What is also meant by 'server based', however, is if there's any logic
happening on your web site.  Any forms being filled out?  You can
check the validity of an e-mail address, for example, when the form's
contents are submitted (PHP) or before they're submitted (JavaScript).
 For an example of a 100% browser-based application (no server-based
code required) look at www.tiddlywiki.com.

Then there's AJAX.  It's about as perfect a tool for creating dynamic
content as it is difficult to code.  But it's really all about
bringing 'server-based' and 'browser-based' closer together.  Instead
of loading a web page and re-loading web pages for every button pushed
or link clicked, AJAX can provide just the information needed, at just
the right time – and without a page re-load.  Sounds like the first
and second pages may benefit from some of the problems AJAX can solve.

OK, back to work I go...  Haven't answered all your questions, but
should be a good start.

Oh, and a final thought. "I have no intention of changing careers and
becoming a web designer."  Ha!  [thinks back, fondly, of a simpler
time] ;-)

HTH

P.S. The to-many-editors-open bungle.  Sorry.



More information about the PLUG mailing list