Web 2.0 is all about Web Applications. Blogs, Wikis, Discussion Groups and other custom made web apps have made the life easy. Web Application development has it's own recipe. You need to depend on XHTML, CSS and JavaScript for front-end, but for the backend you have the option of selecting a scripting language or a framework of your choice. This process is more important as the whole business logic of your app relies on this. Getting the right tool involves both knowledge and experience.
Choosing the Right Tool
When choosing a language or a framework for a project you will need to look into certain aspects such as:- How easy to achieve the expected goals. (You don't want to code your blogging system in C, aren't you ?)
- The costs for development, hosting and deployment (Best example is the huge popularity of PHP.)
- Backward compatibility (bloggers will know how easy it was to upgrade from Wordpress 1.x from 2.0)
- Availability of resources & code libraries, samples, support Communities, etc.
- Complexity - if you have to spend most of development time on learning system and correcting the syntax, you haven't picked the right tool for you job. (That's why I personally prefer Ruby and Python over PHP.)
Tools for the job.
Here are some of the programming languages and frameworks that can be used in server-side development. If I have missed anything let me know, I'm trying to make this list a more complete resource.- Ruby on Rails (RoR) 37Signals invented RoR as an ideal Web Framework; it showed its power by being the backend for Basecamp, Backpack and Campfire. RAILS is a framework which was coded in Ruby. It follows the MVC (Model, Views and Control) architecture. I personally like RoR for it's simplicity in language and automation of tedious tasks most developers love to avoid (Form Validation, XML parsing, etc.) The Best thing about RoR is it’s Open Source. If you're excited about this, I will write more posts on RoR in future, meanwhile you could visit www.rubyonrails.com for more info.
- Python Even Google(need better example than it ?) use python for most of their applications, eventhough it’s not only a web programming language (even NASA is using it ;)). I like Python over PHP for it’s human-readable code syntax and for module based structure. It combines the power of low-level language such as C with high-end capabilities.
- PHP (Hypertext Preprocessor) This is the most popular server side scripting language today; it is also an Open Source Project. Most of the web applications are built on this including popular packages such as Wordpress, Drupal, Mambo, etc. Most of the web hosts supports PHP, also you can find many online resources for PHP.
- Java (J2EE) Java is been a part and parcel of internet development from the early days and it has become a ideal solution for e-business. Sun’s Java Enterprise platform includes JavaServer Pages and various other Web Services which makes it a great internet development tool. The low cost deployment and multi-platform architecture, gives J2EE a clear lead over Microsoft’s dotnet framework.
- .NET Framework If you can afford to use it (and if you still have love them) Microsoft’s dotnet framework is one of the most intelligent systems to be used as web backend. ASP.net with ADO.net provides the backbone for development. Recent release of dotnet express editions enabled small scale developers to get a glimpse of it. Still dotnet hosting charges are bit high.
- ASP 3.0 This became very popular in 90’s but today it’s been replaced by ASP.net, still I have seen some local developers using it.
- Cold Fusion Cold Fusion was also another web scripting format which also includes a tag based markup. Macromedia bought it from it’s first owner Allaire. Powerful language with lot of features (Many bulitin features). Lack of web hosts and resources makes it difficult for developers.
- CGI & Perl/ C CGI based Perl scripting was the first generation of Server-Side scripting. Compared to the Server-Side scripting language available today, Perl had a very complex syntax, which was pretty difficult to read. Most of the hosting packages supports CGI and you could easily find scripts such as Form Mailers which could be still handy even in a basic web site.