Six Python Web Frameworks Compared 111
snydeq writes "InfoWorld's Rick Grehan provides an in-depth comparison of six Python Web frameworks, including CubicWeb, Django, Pyramid, Web.py, Web2py, and Zope 2. 'No matter what your needs or leanings as a Python developer might be, one of these frameworks promises to be a good fit,' Grehan writes. 'As usual, the choice is highly subjective. You will find zealots for each product, and every zealot is able to present rational reasons why their chosen framework is superior.'"
What?!? No Flasks or bottles in sight! (Score:4, Interesting)
Any python web framework shootout that features neither a flask [pocoo.org] nor a bottle [bottlepy.org] is not worth drink...err reading!
Oh, python (Score:2, Interesting)
I dig python. I chose python + sqlite to clean data instead of excel and vba.
1.) It's free (speech/beer)
2.) It's multiplatform
3.) It runs on my freebsd machine as easily as on my mac desktop
4.) I can use a sqlite database exactly like a postgresql or mysql db in the python api (handy).
5.) It added a line to my resume!
etc etc
I hope to never use python as a web designer (because I don't want to be a web dev - no offense). But, I definitely appreciate its generality.
Re:Doesn't matter which. At least it's not PHP! (Score:4, Interesting)
One thing to keep in mind with modern web development:
Learning the server side language is only a small fraction of the total learning curve.
You will need to eventually learn databases, a smattering of basic sysadmin skills, Javascript, HTML, CSS, a bit of HTTP, and not least the web frameworks or associated libraries and APIs themselves.
With most frameworks sorta looking like MVC (whatever that ends up meaning these days) and the basic problems being the same, part of the learning curve of one system will help with learning another. Most web developers worth their salt will end up knowing multiple frameworks and server side languages anyway.
You should actually try out both Django and something like Symphony2 (PHP) yourself to see which you prefer. Spend a week or so on each running through tutorials and creating demo sites. You'll soon get a feel for whatever you prefer.
Career wise, language popularity isn't necessarily the most important thing really. Niches can still be profitable depending on where you are and supply/demand etc. eg there are plenty of PHP jobs, but standing out from the hordes of barely capable PHP developers can also be difficult for the less experienced.
If you have to just start with one thing though, Django is a good choice. It's the most popular Python framework, and Python is a much better language for learning good coding habits than PHP. And if you later decide you prefer PHP (or the PHP job market), Symphony is still pretty similar from an architectural / functional point of view and having another language behind you gives a better idea of what not to do in PHP. Or if you end up really liking Python, you have lots of other options later for other frameworks if Django ends up being a bit limited or not quite to your taste.
Just stay flexible and open minded, and know that web development will require ongoing learning no matter what.