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.
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.