Docstoc

web development language primer

Document Sample
web development language primer Powered By Docstoc
					A Web Development Language
Primer
By Ahmad Permessur

You've learned HTML, and you're good with graphics. You have a lot of content,
and people are coming to your site. You have it all, right?

Well, not exactly.

When the World Wide Web first became popular, HTML was the only language
programmers could use to create Web pages. They soon learned that HTML had
some major limitations. Although HTML presented the user with a "page" of
information, the Web page and the user had a limited amount of interaction; the
experience was like reading the front page of a newspaper on a computer
monitor. Now most computer users, whether they use Windows, Macintosh,
UNIX, or a combination of the three, are accustomed to graphical applications
that provide interaction. They're used to clicking buttons, entering values into
text boxes, and choosing from menus. In fact, the only way to get useful work
done with a computer is to interact with it. The first generation of Web pages
provided information to the users, but the users couldn't interact with the Web
the way they could with their word processors. If users wanted to interact with
their Web pages, they had to send the data to the server, which contained all the
"smarts." The server sent its results back to the Web page. This interaction
required a great deal of extra time, effort, and overhead, and the user interface
was very constrained compared to other popular applications.

Fortunately, the builders of the Internet and the World Wide Web recognized
these limitations. They soon realized that if the user was denied the capability to
interact with the Web page, the Web itself would become little more than a
collection of information, much like a library full of books. Although that
collection is very useful, users demand more from their computers than a
duplication of what they could find elsewhere.

The capabilities of HTML began to grow and become more powerful. Soon,
designers began to realize that they needed more than just HTML to make the
Internet accessible and useful to the masses. Corporations that wanted to
develop enterprise solutions or explore the profit potential of the Internet also
began to pressure designers to give them something more.

The Internet is basically a client and server environment, with 3 components to
the medium:

       Client side technologies
       Server side technologies
       Networks


Each will be discussed in turn in this article. So when you're ready, grab a cup of
coffee and carry on reading!

Client Side Technologies

Client side technologies are those that are interpreted (executed) by the user's
browser. When you type a website's address in your web browser, the latter will
make a request to the web server where your HTML files are stored, and the
HTML file is sent to the browser for viewing. The different technologies that are
included in the HTML page (such as CSS and JavaScript) are all executed on the
client browser. A limitation of client-side programming is that it is hard to tell
what browser/platform is being used, and it might turn out that some of the
client-side technologies are not supported (or not fully supported) by the
browser, with the result that your web page(s) might not display properly. The
section that follows will take you on a quick tour to discover the major client-side
technologies.

CSS (Cascading Style Sheets)

To understand CSS, it's worth recalling the main purpose of HTML. The latter
was originally designed as a structural language, but with time and updates,
HTML has been used as a tool for presentation, making use of fonts, colors and
other visual elements. These days the purpose of CSS is to restore HTML to its
original structural language. In other words, cascading style sheets are a new
way of formatting your page layout, text, fonts, images, and almost anything
that controls the look and feel of your web page. It is included either in-line with
the HTML file or linked as a separate file which can then be used by different
HTML files. The advantage of separating the structure and look is that web pages
can be tailored for different users, browsers, and platform and an obvious benefit
is that updating becomes easier.

Let's take a quick example at a usage of CSS. Suppose you want all your <H1>
tags to have a 10-point Verdana font. Instead of defining every all your <H1>
tags in your page with these preferences, you can just use CSS:

       H1 {font-family:
       Verdana; font-size:
       10pt;)

CSS usage goes far beyond that. CSS is capable of spacing out the content of a
page down to the very last pixel... it can do the same when sizing text, giving
you complete control over the look and feel of your page. In fact, CSS will
replace some older HTML tags in future browser versions.

JavaScript
JavaScript is a scripting language developed by Netscape and supported as
Jscript in Microsoft Internet Explorer. The language was turned to ECMAScript, as
a cross-platform Internet standard for scripting, but we still use the most
commonly recognised JavaScript name. JavaScript should not be confused with
Java. Despite similarities in their names, these 2 languages are completely
different from each other.

JavaScript is a core web technology that every designer is encouraged to
understand well. It was born out of desire to let HTML authors write scripts
directly in their documents. JavaScript brings programming power within the
reach of everyone familiar with HTML.

JavaScript borrows its syntax from C/C++ and those familiar with C will feel
right at home. Those without any programming experience will find that
JavaScript is not the easiest language in the world to learn but it's a far cry from
having to learn a programming language such as Java or C.

JavaScript is interpreted on the client-side (on the user’s browser), and is
shipped in every platform-specific version of Netscape Navigator 2 and Internet
Explorer 4. It can be used to enhance web pages in many ways, such as
validating forms, adding user interactivity, processing data or controlling multiple
frames. It handles events for the various HTML elements, an example of which is
allowing buttons to have OnClick event handlers. While most people find use of
JavaScript to be client-side only, JavaScript can also be used in servers and
authoring tools.

VBScript

Microsoft's Visual Basic Script (VBScript) offers the functions of a programming
language and the simplicity of a technology streamlined for the Web. With
VBScript, you can bring your Web pages to life with real-time interaction; there's
no more waiting for a server to respond to button clicks and mouse movements.
A click of a button gets an instant reaction, and the movement of the mouse
over an object brings the object to life.

When you enhance your Web pages with VBScript, you insert scripts directly into
your pages. Since VBScript is a subset of Microsoft's Visual Basic, your scripts
resemble programs written in Visual Basic. If you aren't a programmer, don't
worry. The wonderful thing about VBScript is that it's a very simple programming
language to learn and to use. Many Web publishers who aren't programmers use
VBScript to enhance their Web pages.

Like most basic programming languages, VBScript is an interpreted language,
which is both good news and bad news. The good news is that you don't need to
compile your scripts as you would with a program written in C or C++. Your
scripts are directly interpreted, line-by-line, when they're executed in the user's
browser. The bad news is that before anyone can run your scripts, he or she
needs a VBScript interpreter, which is part of the standard Internet Explorer
browser package. It's installed automatically when you install Internet Explorer
DHTML

DHTML (or Dynamic HyperText Markup Language), is a collection of coding
languages such as HTML, CSS and JavaScript. It allows a web site developer to
build dynamic abilities into what would normally be a static web page. What this
means is that a web page may be changed after it has been loaded using
DHTML. This provides a basis for many useful capabilities, and can make web
pages interactive, or feel more alive. The major browsers that support DHTML
are the fourth and fifth generation versions of Microsoft Internet Explorer and
Netscape Navigator.

Java

Java was developed by Sun Microsystems and is a programming language with
complete functionality similar to that of C++. At this point, Java's niche is on the
World Wide Web. Probably the most important things that Java brings to the
Web are the capacity for more interactivity on the Internet through multimedia
and animation. Most modern browsers have support for Java.

Java applets are a hybrid form of Java programs to run on a Java-compliant
browser on the World Wide Web. An applet is one or more .class files which
together form a program. Unlike other types of program, applets are designed to
be run from within a web (HTML) page. In this way, they differ from scripts such
JavaScript which are text commands typed into the HTML page itself. Some
common use of Java applets include image slideshows, chat rooms, etc…

Flash and ActionScript

Macromedia Flash is an authoring tool that can create a special type of file called
"Flash movie" and uses".SWF" as extension. You can see this type of movie all
over the Internet, and sometimes you don’t even recognize it as Flash movie
because it looks like a normal animated banner. Flash supports animation and
sound. If you have created your graphics in Flash, you will be able to move these
on the "stage." As in a real film, you put your graphics on the stage and tell the
program if and when they should move. You have a "timeline" where you do
control the timing of the animation, and you have "keyframes" where you do
control the position of the objects on the stage. Flash contains a powerful
programming language called "ActionScript" that is capable of doing much more.
With ActionScript you can build movies which can interact with the viewer. This
can be convenient if you want to build a quiz, a game or a shopping cart in
Flash. If you can use an additional script language on your web server, you are
even able to build complex database applications on the Web.

Server Side Technologies

Server-side technologies are the way that you can take your Web site to the next
level. Server-side technologies can be regarded as those technologies that
enable you to dynamically generate HTML and CSS. Take Amazon.com for
example. Amazon won't make separate web page for each their product, but if
you have a close look to at Amazon.com's page, you'll notice that it has many
other contents that are presented depending on the product you are viewing like
‘related products,’ ‘product review,’ etc. You'll notice that you can post a
product's review on the site, and it will appear instantly. Do you think that
there's someone behind the screen to paste your review and save it as an HTML
page for you to view on your browser?! No!

This is where the wonder and magic of server-side technologies comes into play.
The task of generating HTML pages is left to that of the server. The instructions
needed to decide on what content are to be included in the HTML page is made
possible through CGI or server-scripting languages which will be discussed later
in this article.

To thoroughly understand the significance of server-side programming
languages, it's appropriate to examine the weakness of HTML. HTML produces
static web pages, or web pages that never automatically change. To alter any
static page, you must make it happen.

A server-side document is written in any text application like Notepad, and is
uploaded to the web server. The document containing this script is saved on the
web server. When someone makes a request for a page from his web browser
the script file is sent to the appropriate interpreter, the code is executed and
HTML is automatically generated from the executed code. The resulting
document is pure HTML, and the user requesting the document will never see
the actual scripting language.

By making use of server-side technologies, highly interactive web applications
can be built, and customized to the user preferences. Web applications can be
made to interact with databases or other files, to store, retrieve and perform
other data manipulation tasks. More examples and applications will be given
throughout this section.

CGI

The Common Gateway Interface (CGI) is used to execute external applications
on Web Servers. Suppose you have an HTML file on your server, and someone
makes a request to access that file from his browser. Since HTML is static, it
won’t change, and its content will always be the same. Now, let's say that you
have a CGI program on your web server; it is executed in real-time, so that it
can output dynamic information upon user request. A CGI program can be
written in any language that allows it to be executed on the system, such as: C,
Perl, TCL, Visual Basic, etc… CGI is losing popularity these days due to the rise of
server-side scripting languages which is explained below.

Server Side Scripting Language

Server-side scripting language involves PHP, ASP, and JSP. The role of server-
side scripting language is the same as CGI but with server based scripting,
instead of the code outputting the lines of the Web page; the Web page itself
contains the code. Furthermore, the server usually has the interpreter built-in,
so it can serve up lots of requests with lower resource requirements.

ASP

ASP stands for Active Server Pages and is a division of Active Platform concept of
Microsoft Technologies. To get a better understanding of what ASP is and how
it works, let’s break the terms:

Active – means that the HTML is created dynamically by your ASP pages.

Server – refers to the fact that there is a computer involved in the process, thus
it is a server-side technology. The resulting file is pure HTML.

Pages – means that the HTML file is sent to the browser which displays the HTML
content of the ASP file in its window.

Actually, the ASP command set comprises scripts, mostly VBScript, though usage
of JavaScript is not uncommon. ASP can be made to interact with an MS Access
database to perform data retrieval, storage, sorting, etc, and afterwards it will
deliver the result in HTML form. To run ASP pages, you need to have a server
that supports ASP or run ISS or Personal Web Server on your local machine.

ASP is great for creating almost any kind of dynamic web content from
discussion groups to shopping carts. ASP is ideal for simplifying tasks that would
otherwise be very cumbersome or impossible in HTML.

PHP

PHP (or Hypertext Preprocessor), is a free, open-source and cross-platform
programming language. PHP is a server-side technology and is handled in a
similar way as ASP pages by the server. PHP script has much in common with
Perl, Python and JavaScript. PHP can interact with mySQL databases and many
other databases, thus making data storage and retrieval easier. PHP is being
increasingly used on the Internet, and is the most popular server side language.
Most webhosts support PHP, and PHP runs on many servers such as Apache, ISS,
etc. PHP is the programming language of choice if you want your web application
to be a little more flexible and highly interactive.

mySQL

Without the use of databases, the Internet as we know it would be impossible to
manage. A database allows you to store information in a categorized way,
making data storage, retrieval, sorting and other data manipulation tasks easier.
As we’ve seen with ASP and PHP, these scripting languages can be made to
interact with databases. MySQL is one of the fastest SQL (Structured Query
Language) database servers currently on the market. The MySQL server is free,
and can be downloaded at http://www.mysql.com/. It's available under both GPL
and commercial license. You'll find more info at:
http://www.mysql.com/company/legal/licensing/opensource-license.html
Compared to other databases servers on the Net, MySQL has quickly gained
popularity due to its various features. Some of these are the storage of millions
of records, very fast queries (command) execution and ability to handle multiple
users and user’s permission.

ColdFusion

ColdFusion was originally designed by Allaire, and then bought by Macromedia.
The main part of ColdFusion is the ColdFusion Server, and ColdFusion Markup
Language (CFML). CFML is a unique language, as it is tag based and is similar to
HTML. Beginning server-side programmers might find ColdFusion the easiest
language to learn, as it is broken up in tag blocks. ColdFusion is so easy to use
you can have a database driven site up in about two hours, even if you know no
SQL and have only a small data store. ColdFusion gives you all of the benefits of
CGI plus easy database access and easy to create forms and dynamic pages.
ColdFusion is available for different platforms, including Unix and Windows
operating systems. It is supported by many authoring tool and is well
documented.

Domain Names

How do domain names work?

Before going in depth in domain names issues, let us first understand the need
of a domain name. As mentioned earlier, your webpage will be hosted on your
web host's server. Usually that server will have a unique Internet Protocol (IP)
address or encoded URLs which might look something like:

http://203.245.254.107

Now, just sit back and think that how troublesome this would be to type in. This
is where domain names come into play. Domain names will mask all these
numerous numbers into something simpler like http://www.yoursitename.com
When a user types the domain name yoursite.com in their browser, the Domain
Name System (DNS) will translate the domain name into IP numbers. These are
then used by the Internet to connect the user to yoursite.com’s web site.
Domain names give you a unique identity on the Internet, creating your online
brand, and your email addresses will have a more professional look, being
unique to your business.

How do I acquire a domain name?

There are two main ways you can get a domain name. You can either register
your domain name yourself or you can get your web host or ISP (Internet
Service Provider) to register it for you.
To register a domain name yourself you will need to choose a Registrar. A
Registrar is an ICANN accredited domain registration company. There are
hundreds of Registrars on the Internet nowadays.

Hosting

Think of hosting or a web host as a place to store your website. The Internet is
up 24/7/365 and is a worldwide network of computers. For many people, a
permanent connection to the Internet in their homes or small business is not
practical or affordable. Since most people use dialup, it's not practical to have
your Web site on your home computer. When you're offline, so is your Web site.
The solution is to have it located somewhere that is always online so others can
send you mail or find your website—even when you are asleep.

Where do I get hosting?

There are tons of both paid and free web hosting companies on the Internet. Just
do a search on the term ‘web hosting’ and you’ll be presented with a seemingly
endless list of web hosting companies. Those that offer free hosting usually have
advertisement banners on them; while this may be an annoyance to you if you
are hosting your business site, it is quite convenient for the beginners to try it
first before going to a paid one. Choosing the right web hosting for your needs is
an important decision making stage.

I've gotten hosting, what's next?

Once you've selected your hosting package, you'll have to upload your files to
your web host's server. That process varies from web hosting companies. Most
of them use something called FTP which stands for File Transfer Protocol. FTP
provides you with an interface which interacts with your local computer and the
web host, and allows you to transfer your files easily, similar to the way you
transfer files from one folder to the other on your hard disk.

Conclusion

After reading this article, you should have a good understanding on client-side,
server-side technologies, hosting, and domain names issues. I hope that it will
help you create quality Web sites.

About the Author

Ahmad Permessur is the Content Director for iNET Interactive, LLC a media
content management agency with a portfolio of web portals within specific
vertical markets. They provide interactive content and marketing consulting
services.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:2/15/2012
language:
pages:8