Being in the field of IT (Computer Science), it’s necessary to keep pace with the changing landscape, otherwise you would end up rendering yourself obsolete. It’s no different with web development/programming: The landscape keeps changing, either on the user interface front or the browser side or the website back-end.

As of now, we are moving through the era of web application frameworks. That’s the landscape we are surrounded with. Plenty of frameworks have been built during these years broadly categorized under software frameworks, web application frameworks and JavaScript frameworks (or libraries), and plenty more are being developed.

So better learn one now, before you are rendered obsolete.

I am considering the following frameworks:

image image image image Djangoimage

Read more about the most popular web frameworks that I am considering after the jump.


Which Web Framework to Learn as a Starting Point?

I have been a Drupal developer for over an year now. After working on two projects based on Drupal, one of them being my own site Jhoom and another an upcoming local community-based site, I am now planning to expand my open source development skills further by learning a web framework (’another framework’ if Drupal is considered as a framework too).

But the question is, which web framework to go for? There are so many of them now! Which one shall one start with?

The Web Frameworks

I am considering the following frameworks, and one lucky framework out of these will have the privilege to be learned by me (before the others)!

Four of them are PHP frameworks - CakePHP, Code Igniter, PRADO and Symfony; while Django is a Python based framework; and lastly Ruby on Rails,which is based on Ruby.

PHP Frameworks

image image image image

Going with a PHP web framework would be relatively easier if, like me, you are experienced with PHP as well. Also, you won’t have to spend your time learning a new language, rather, you will be strengthening your PHP skills further. Knowing PHP already will also give you more time to focus on understanding the concepts behind the terms MVC - Model, View, Controller and Rapid Application Development.

The PHP frameworks that I have short-listed - CakePHP, Code Igniter, PRADO and Symfony - are those that are mostly referred to and have a good community following. I haven’t really researched them thoroughly yet to assess the difference between them (that’s for a later post).

Python and Django

Django

Python was love at first sight for me! If you are comfortable in Java and OOP concepts, Python would be like a thing of beauty. Learning Django would simply help in learning Python more and it will add to the skill set as well.

Ruby on Rails (ROR)

image

Aah the framework (that I thought was a language, and not a framework, until just recently) that owes much of its popularity to its Rapid Application Development (RAD) of AJAX based applications; it was thought of as THE ‘language’ to create AJAXified applications. It has remained true to the hype though and it has sustained its position as a viable alternate web language to the most popular ones - PHP and ASP .NET.

I really want to learn this framework as there is a dearth of Ruby on Rails developer out there. The only issue is that its syntax is much different than any other programming language that I know. But I believe one will be able to adapt to Ruby’s (on Rails’) way of coding, since it is often termed as quite easy to learn and implement.

Ruby on Rails is quite in demand and lots of sites are being built in it. So, even if the learning curve is relatively steeper, one just can’t go wrong by learning ROR; it’s a good investment of your time.

Conclusion

I would love love to go with Ruby on Rails, or Django, for I love learning new stuff, and then there is a dearth of Python and Ruby on Rails out there. But then I am also planning to build a couple of web sites soon, utilizing the web framework I wet my hands in. So going with either ROR or Django would probably take more time, since the learning curve would be relatively steeper than going with a PHP based framework.

But then again, I haven’t yet researched these frameworks in detail. That’s the next step!

Until then, I would like to know what’s your framework of choice? Which one did you learn first? And which one do you find the best to work with? What are your views on the frameworks I have short-listed?