The State of Python Web Frameworks

I feel that this is the right time to expand the wings of my web development skill beyond Drupal, and so I have been looking for a right framework to work on.

Python-based frameworks

Please note that I have very little experience with python, so my opinion here might differ with pythonic (or anti-pythonic) zealots. I gained most of the information here by browsing and reading the documentation of numerous projects, so my view is more-or-less a layman's or newcomer's.

The python language has garnered quite an interest for me: simple and intuitive, pseudocode-like feel, very high level, general-purpose, embraced by open source community. Much better than PHP, IMHO.

The state of web development in python, however, is somewhat disappointing. There are several major frameworks competing in different levels of service, confusing new users and fragmenting the community.

Django is the all-time full-stack old-timer with solid community and proven years of success. Historically it is made for publication houses with tight deadlines and mainly content-based websites, so it is big on admin interface generation. The main drawback is that it was born quite a while ago when python community is smaller, and it implemented everything by itself (namely the routing mechanism and ORM layer). Now that excellent components like SQLAlchemy made their way to the world, Django suffers from "Not Invented Here" / NIH syndrome where certain features won't be there because it cannot integrate existing alternative (and perhaps better) implementations.

Zope, on the other hand, seems to focus on lower level: web servers, transaction manager, framework for frameworks. The splendid Plone CMS built on top of Zope provides evidence that Zope can be used to create web application. However Zope also suffers from the same NIH syndrome, which might be ameliorated by Zope 3 (aiming to reduce NIH) and the Repoze project (providing compatibility layer to WSGI). Zope hype has certainly dwindled recently, and introduction to Grok seems not to help.

Another low-level framework is Pylons. The exact opposite of Django, it strives to universally glue existing python components and call it a "framework". Of course the choice of which ones to glue is left to the developer. Every part of Pylons is designed to be as flexible and pluggable as possible, which can be both good and bad. It has been a good thing for open-minded people who thinks that "one size does NOT fit all". Maintenance can be difficult, however, and the number of dependencies your web application would have is mind-boggling. Pylons itself and many of its dependencies are still in version zero (< 1.0), meaning that the developers have not considered their software to be worthy enough of v1.0. Which scares off new users.

Now we turn to Turbogears. Pylons was considered so good a framework that Turbogears builds on top of it. At least starting from the neonate v2.0. Turbogears is Pylons + Rare Candy: it's higher level and opines more (although due to its Pylons backbone it certainly is possible to replace components Turbogears thought the best).

So which one?

Given the current state, for me there is no clear winner. Actually a winner is not needed as long as there is at least one framework with decent design and community (and better corporate) backing. The trend now seems that certain components have their own project and community, so perhaps in the future, frameworks would behave like Linux distros, packaging components they think are the best and make it interoperable. It's such a good thing, but Django needs to die or shift paradigm before it happens.

9 comments

No teme.

Hello from Russia!
Can I quote a post in your blog with the link to you?

Hi! Yes you are welcome to do.

Hi! Yes you are welcome to do so as long as the link is there. Thanks for the visit :)

acheter des bijoux en ligne I.

acheter des bijoux en ligne
I was very pleased to find this site.I wanted to thank you for this great read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you post. Contact some state or county agencies in your state to get in contact with some facilities that may be places of interest to you.,,,just a formality

obat tradisional kanker pankreas.

日本では猫がいる家より、obat tradisional kanker pankreas 犬がいる家のほうが多いのではないだろうか。犬は大体玄関の近くか、庭にいる。そして obat kelenjar tiroid 、知らない人がその家の前を通ると。「ワンワン、 ワンワン」と大変うるさい。犬に「ワンワン」と鳴かれて困ったことがある人は、 大勢いるだろうと思う。うるさい犬をどうしたら静かにさせられることが教えよう。cara order ace maxs 犬が「ワン」と言ったら、あなたはすぐ「ツー」と言えば良い。obat jantung koroner terampuh
そうすれば、犬は次の「スリー」が言えないので、静かにするしかないのだ。

obat kelenjar tiroid.

The first objective will be to relieve the pain and inflammation of the current gout attack. Once the gout attack is under control, which can take a few hours or a couple of days, you and your doctor will focus on managing the disease long-term. Your efforts will center on preventing future attacks, avoiding the long-term damage to your obat kelenjar tiroid joints and chronic pain associated with uncontrolled gout and preventing the formation of tophi, lumps of crystallized uric acid that can form in the affected joints or surrounding tissues.
What resources are available?

Toko obat herbal JELLY GAMAT GOLD-G di bandung.

Pangsa menunjukkan bangsa, umpama durian. Artinya Kita bisa melihat perangai seseorang melalui tutur katanya. toko obat jelly gamat gold-g di bandung

obat herbal varikokel tanpa operasi.

posts are very interesting to see
I was amazed to you
thanks for sharing
Obat Herbal Varikokel Tanpa Operasi

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <pre> <i> <b>
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.

Recent comments