Приглашаем посетить
Татищев (tatischev.lit-info.ru)

The Evolution of Web Applications

Table of Contents
Previous Next

The Evolution of Web Applications

In the beginning, web applications were just a collection of static HyperText Markup Language (HTML) pages. Earlier versions of HTML allowed web developers to use text, some formatting tags, images, and a few widgets in their pages. The first sites and applications concentrated more on presentation aspects. This quickly became a problem since HTML was created to be a data modeling language and not a true presentation vehicle: it was meant to describe the structure of a document by separating data from metadata (head/body) leaving the browser to render the page.

Programmers then added a bit of logic to their applications mainly to do some form processing and user tracking. The first functions were simply bolted to the old view-only applications. Common Gateway Interface (CGI) scripts, usually written in Perl, were the main tools to add logic to a web site.

Later on, plenty of new programming alternatives emerged — ColdFusion, mod_perl, Python, ASP, JSP, and PHP. Dynamic web applications added more complexity to the logic of a web application, since the scripts have to access, pull, transform, and format the data:

Technology

Advantages

Disadvantages

PHP

Executed as a web-server module, PHP runs really fast. Lots of extensions and ad-hoc functions greatly reduce development time.

Some compatibility issues when ported to non-Apache web servers or platforms mainly regarding specific extensions.

CGI programming

Allows us to develop dynamic pages using a very wide range of programming languages (Perl, C, Python, Lisp to name a few).

It's an old-fashioned way of programming and the slowest alternative for the development of web pages.

mod_perl

Runs the Perl interpreter as an Apache module. Provides the performance of PHP.

Not portable to other web servers.

mod_python

Runs Python as an Apache module. Provides better performance than CGI programming.

Not portable to other web servers.

Java Servlets

Very high portability. All the Java features can be used.

The disadvantages of Java are adopted too (slow performance, higher development time).

FastCGI

A modern approach to CGI scripting. Increases performance and allows us to program in a wide range of programming languages.

Not very popular, not very portable.

ASP

Short development time and acceptable performance.

Not portable. Proprietary language.

As developers thought of ways to store and manage data, they encountered the principle of a content entity. They built administrative tools to create, delete, and modify content in their databases. Content management systems (CMS) promised that editors, journalists, and managers of information would share the creative burden of an active site.

Even HTML had to tidy up its act. Browser vendors attempted to transform HTML into a WYSIWYG (What You See Is What You Get) language, adding awkward presentation features beyond its natural capacity. The result was a hybrid of structured content with a lot of presentation tags, which was cluttered with colors, borders, and some other features. The challenge is to master logic, content, and presentation as one architectural bundle.


Table of Contents
Previous Next