Web Development

Quick introduction into the fundlementals of web development

Some non web-developers have asked about the basics of web development and how to get started. This is a quick overview:

The web platform works in a client-server relationship. The client being the user's personal computer and the server being where the website's files are stored

Client

The client is what the user uses to see the interacts with the website. Usually this is a web browser such as Internet Explorer, FireFox, etc...I say usually because today it could a phone or a pda. It understands HTML code for the most part...I say most the most part because there are emerging technologies such as Flex, Silverlight,etc...that are not html.

Web Server:

The web server is the computer where the files for the website are located. It has a network address just like any other computer or hardware equipment on a network. This is usually a series of numbers such as 112.222.111.22. Now if we had to remember websites by the numbers we would never remember the locations of our favorite websites. So they invented domain names. These are really network address aliases. So instead of remembering 112.222.111.22. we can just remember www.espn.com Now you can do a lot with domain names and sub domain names but I will leave that for another discussion.

How it works

Let's look at this step by step:

1. A user clicks on a link .His web browser sends the request for the web page e.g. http://localhost/test.php.

2. The web server gets the request for test.php. It knows that .php files are handled by the PHP Interpreter (by the file extension .php) so it tells PHP to deal with it.

3. Test.php is a PHP script that contains commands. The commands are passed to the interpreter. The choice of interpreter will depend on what type of script we are dealing with.

4. The interpreter the generates HTML code

5. The HTML page is returned to the client.

There is a big distiction between the web server and client that must be notes. The client understands client technologies ONLY. The client does not understand the server-side script. Likewise the web server does not understand client technologies.

When the server gets the page it only processes code that is encapsulated by the defining tags of the scripting language.

Examples of Client languages

1 - HTML

2 - Javascript

3 - VB Script

4 - CSS

5 - XSLT

6 - XML

Examples of Servier side scripting languages

1 - PHP

2 - CFML (Coldfusion)

3 - Java Server Pages

4 - Ruby

5 - Perl

6 - Phyton

7 - VB Script / C#

Frameworks

Frameworks make the life of a developer easier. Think of CNEXT. CNEXT was the framework under which we developed. It made life easier by providing commonly used components(e.g Dialog objects) Almost all programming languages have frameworks. Some of the more well known frameworks are

Examples of frameworks

1 - Java - Spring and Grails(java answer to ruby on rails)

2 - Coldfusion - Mach II, Model Glue,etc..

3 - Ruby - Rails - More commonly known as Ruby on Rails

4 - VB Script / C# - .Net (VBScript is commonly known as ASP Classic...the extension aspx denotes C# web application)

5 - PHP -

6 - Phyton - Django

UI libraries

UI libraries are libraries that build upon the basic elements inside the DOM of a HTML page. The DOM is the document object model. Inside the HTML page there are elements such as forms. Inside the forms there are elements such as input text boxes. Libraries extend those elements and provide functionality such as error checking, user alerts, etc… They are very much like frameworks but for the client.

Examples of UI libraries

1-DoJo

2 - JQuery

3 - YUI