Skip to main content

A history of the dynamic web

Today we enjoy websites that are full of content and services that let us take care of anything imaginable online (well, almost). But the ride to our “Web 2.0” world of today has taken quite a while. It has been about 14 years since the first web page with dynamic content was created.
This is a look at the history of the dynamic web, especially the server-side programming languages and frameworks that make it all possible.

From static to dynamic

When the Web first started, there were only static HTML pages. The internet had been around for some time already, but it was only after the introduction of HTML (and with it, web browsers) that what we call the World-Wide Web got started.
A lot has happened since then. We would like to place the birth of the dynamic web to when CGI, Common Gateway Interface, was first introduced in 1993, 14 years ago. CGI was a way to let a website run scripts (usually Perl scripts back then) on the web server and display the output.
Now the web has evolved tremendously and is powered by server-side technologies and languages such as PHP, Java, ASP.NET, Python, Ruby (with Ruby on Rails), and many others.
(You may gasp in horror that we have not yet mentioned JavaScript and AJAX, but remember that the focus of this article is on the server side, not the client side.)
So, how did we get from A to B? For your viewing pleasure, we have created a handy little timeline.

The history of the dynamic web – A timeline

This is a time-line of key events in the history of server-side scripting languages and frameworks.
Timeline of server-side scripting history

The future of the dynamic web

These days websites are in many cases full-fledged browser-based applications. The line between web and desktop applications is blurring more for every day that passes.
There is a strong movement towards RIA (Rich Internet Applications) where some notable initiatives are JavaFX from Sun, Flex from Adobe and Silverlight from Microsoft. These frameworks allow for richer, more interactive and responsive web applications that can have more elements of regular desktop applications.
It seems very likely that the difference between what is a desktop application and what is a web application will eventually disappear.
A positive side effect of putting more power and flexibility on the client side, versus the way many web applications work today, is that it not only sidesteps limitations of HTML/CSS and JavaScript, but it will also make it easier for websites (web applications) to scale in the future since the load on the backend servers would lessen.
One thing we know for sure: Whatever the future of the web holds, it’s going to be an interesting ride.

Glossary (to fill in the blanks if you have any)

CGI (Common Gateway Interface)
A standard protocol for interfacing external application software with an information server, usually a web server.

Perl
Perl was a highly used language on the early web and still is very much alive today. Large websites using Perl include Amazon.com, LiveJournal.com, Ticketmaster.com and IMDb.com.

Python
A programming language that keeps gaining popularity. Some projects that use Python are the Zope application server, YouTube and Google has mentioned that they use Python extensively.

PHP
Most likely the most used server-side scripting language in the world. Over 19 million internet domains are currently hosted on servers with PHP installed. Examples of popular server-side PHP applications include phpBB, WordPress, and MediaWiki.

ColdFusion
Adobe’s ColdFusion framework still has a strong following. According to Adobe, ColdFusion is in use at 75 of the Fortune 100 companies.

ASP and ASP.NET
Microsoft’s framework for dynamic web pages. Examples of sites using ASP.NET are MySpace.com, Dell.com, Match.com and Monster.com. Common languages used with ASP.NET include Visual Basic and C#.

Lasso
Scripting language and framework loved by the Apple Mac community.

Java Servlet
Server-side Java. Sun’s Java language has a strong developer following. Some sites that use Java are eBay.com, LinkedIn.com and Hi5.com.

Ruby on Rails
A complete framework built around the Ruby scripting language. The philosophy of Ruby on Rails has been adopted to other languages with framework releases such as Django (Python), CakePHP (PHP), Symfony (PHP) and many more. Basecamp and Twitter are two websites running on Ruby on Rails.


Find the original article here.

Comments

Popular posts from this blog

Survey says: PHP passes Microsoft Active Server Pages

By JT Smith on June 11, 2002 (8:00:00 AM) With a faltering economy forcing companies to cut spending whenever possible, less expensive and freely available Open Source software solutions may be gaining in popularity. Those wanting proof can look no further to PHP taking the top server-side scripting spot in a recent Internet host survey. In April 2002, Netcraft's monthly Web server survey revealed that 24 percent, or around 9 million of the 37 million sites it surveyed, were using Hypertext Preprocessor (PHP) for a server side scripting language. For the first time, an Open Source scripting solution had passed Microsoft's proprietary Active Server Pages scripting to claim the top spot on the Netcraft survey. For both the April and May Netcraft surveys, PHP and ASP were almost too close to call, with Microsoft's product offering coming in just a hair under 24 percent of all hosts running a server-side script

PHP Code Review Guidelines

General  The code works  The code is easy to understand  Follows coding conventions  Names are simple and if possible short  Names are spelt correctly  Names contain units where applicable  There are no usages of magic numbers  No hard coded constants that could possibly change in the future  All variables are in the smallest scope possible  There is no commented out code  There is no dead code (inaccessible at Runtime)  No code that can be replaced with library functions  Variables are not accidentally used with null values  Variables are immutable where possible  Code is not repeated or duplicated  There is an else block for every if clause even if it is empty  No complex/long boolean expressions  No negatively named boolean variables  No empty blocks of code  Ideal data structures are used  Constructors do not accept null/none values  Catch clauses are fine grained and catch specific exceptions  Exceptions are not eaten if caught, unless explicitly documente

Security: Password Hashing

In this article I'm going to cover password hashing, a subject which is often poorly understood by newer developers. Recently I've been asked to look at several web applications which all had the same security issue - user profiles stored in a database with plain text passwords. Password hashing is a way of encrypting a password before it's stored so that if your database gets into the wrong hands, the damage is limited. Hashing is nothing new - it's been in use in Unix system password files since long before my time, and quite probably in other systems long before that. In this article I'll explain what a hash is, why you want to use them instead of storing real passwords in your applications, and give you some examples of how to implement password hashing in PHP and MySQL. Foreword As you read on you'll see that I advocate the use of a hashing algorithm called Secure Hashing Algorithm 1 (or SHA-1). Since I wrote this article, a team of researcher