Abundance of Web Frameworks

17 March 2015   •   development

As someone who has only recently got into web development, the amount of different web technologies to know is absolutely crazy! Besides, knowing the basics of HTML, CSS, and JavaScript there’s Ruby, Python, various C’s, and within each language a multitude of frameworks. Having some Python knowledge I looked at the frameworks available: Django, Pyramid, Flask, web2py, Turbo Gears to name just a few! Viewing the wiki page for Python web frameworks just makes you dizzy, and that’s just for one language. In someways it makes starting really hard: what framework do I chose, does it matter, which one provides a better career path, what’s current and modern? Before a single line of code is written you could read hours upon hours of comparisons between the frameworks and which one is best.

For me, the reading of what framework to use finally stopped once I got to Django, and more specifically their tutorial and documentation. It was clear and concise and it was a name that came up a lot around the web. However, I could have just as easily gone down the micro-framework path of Flask, or the middle of the road Pyramid just as easily. For any one trying to start I would suggest picking the top three frameworks, and rolling a dice! (I’m only slightly kidding…)

Things do get much better once you get working with a framework and try to build something. You’ll get to understand the features you like and want, versus the ones you don’t use. You’ll also be able to better judge other frameworks within a different language as well, even if you don’t know the underlying language. Personally I’ve re-written Plex Requests from Django/Python to Meteor/JavaScript for no real reason other than I wanted to try a new framework. Once I got started on it though I instantly saw the differences between the frameworks as well as the use cases for them. Meteor has allowed me to very quickly get out a working, dynamic, single page web application version which I would not have been able to do in Django. It’s also shown me some of the benefits of using Django and it’s more structure approached. I like both frameworks, but they definitely fill very different roles in the web application world.

For anyone starting out, all I can say is pick one and try to build something with it! Start on the tutorials but there’s no need to finish them. If you start to get a feel for how things work, get started on what you want to build. I still reference the tutorials and documentation in places where my I’m unsure, but after awhile following along the whole tutorial wasn’t really gaining me much. It’s better to take the training wheels off as soon as possible, you learn quick when you’re about to fall!

Check out the Django “Write your first Django app“ and Meteor’s Tutorial guides!