All websites we see use HTML as the markup language for creating and defining web page elements: forms, links, tables, text blocks, images etc. CSS is used for styling these elements. That explains why we see different designs on web pages. Armed with some knowledge of HTML and CSS, you can build static web pages and link them up to form a static website.
The real power in web development, however, comes when we implement a server-side scripting language. CMSs such as WordPress, Drupal, Joomla and Magento are built on PHP, which is the most popular of these scripting/programming languages. Ruby on Rails is a popular web framework built on Ruby and has powered a number of popular websites.
Here’s a quick overview of them:
1. PHP – PHP stands for “Hypertext Preprocessor”. It’s the most widely used web scripting language and provides everything a developer would need to build dynamic websites/web apps/web services.
Pros of PHP:
Extensive database support
Support for regular expressions
Easy to deploy on server, minimal configuration needed
Cheap to host as it’s widely available with Apache
Has extensive documentation, with a popular online manual available at PHP.net
Support is widely available as it’s the most popular server-side scripting language
Cons of PHP:
Poor error handling
Low barrier to entry leads to many weakly written scripts with severe security vulnerabilities
2. ASP.NET - Microsoft’s server-side framework for building dynamic sites and web apps/services. ASP stands for “Active Server Pages”.
Pros of ASP.NET:
Flexible – can be programmed with various languages, including VB and C#
Task-based library saves time on routine development tasks
Visual Studio.NET IDE saves developers time with its ton of tools and debugging functions
Cons of ASP.NET:
Resource-intensive – more server resources used, as compared to PHP
Most ASP.NET apps are deployed on Window’s IIS server, which is expensive
Somewhat slower than PHP
3. Ruby – ?a dynamic programming language also used for server-side web scripting. Ruby on Rails is the most popular framework for Ruby.
Pros of Ruby on Rails:
Encourages good programming practices – “convention over configuration”
Little setup needed to be up and running
Gems and plugins are available for almost any task – saves lots of time
Built-in AJAX support, unlike PHP
Supports multiple database management systems
There’s much emphasis on testing, with a built in testing framework
Cons of Ruby on Rails:
Tough to debug, but its IDEs such as Komodo are making things easier
Development on Windows platform not supported as much as on the Mac
Your codebase may be hard for fellow programmers to figure out
Resource-intensive needs lots of RAM on deployment
4. Python - another programming language, also used for web scripting
Pros of Python:
Cross platform, with a powerful set of libraries
Simple, clean syntax
Great, helpful community
Cons of Python:
Deployment not as easy as with PHP
Smaller community, compared to PHP
These programming languages differ in their syntax, deployment and the way they handle tasks. There are also variations in performance, but they all serve the same basic purpose in web development: creating dynamic pages. PHP and ASP.NET are almost entirely exclusive to the web; Java, Ruby and Python are general programming languages that have also been successfully implemented on the web.
The learning curves for these languages differ, as you would expect, (and most programmers each have their own preferences) though they have the ability to accomplish just about the same things. See this detailed comparison of Ruby, PHP and Python.
Websites can be broadly classified as either static or dynamic, but that clasification wouldn’t suffice since virtually all sites today are dynamic. So it’s best to classify sites based on their functionality. If we did so, we’d come up with the following broad categories.