Web Framework for Guido van Rossum

As you might know, Guido is spending 50% of his time on Python at Google in Silicon Valley. However, Python is not the main language there. Fortunately, it is the 3rd after C++ and Java. Not too bad. Well, his starter project at Google was to develop an web-based internal tools for Google developers. Google has a ton of reusable web server code for large scale servers, anyway, they are overkill in that project and it’s all C++. He was looking for a good web framework. Actually, he was looking for what it should be. During the research, he found and tried Django, Ruby on Rails, Quixote, Nevow, and more. He concluded as the word No XML.

I’m not saying that there’s no use for XML. But if you see XML as the solution to every problem, well, that’s a problem.

I found another interesting framework, web.py. Yes, it is only one file. Guido didn’t like it much because of its magic behavior. He also mentioned about what web framework should be. RoR may be good but not for all applications. For example, how to implement  or  in RoR? I can’t imagine too. So, what he wants is not just a framework in all-or-nothing approach. Instead, it should follow mix-and-match approach. As a result, there should be a standard core component that let us plug in other components for extensible and useful web functionality on your own. Below is a list of example components.

  • URL dispatch
  • Template
  • Persistence
  • Authentication
  • Sessions
  • Forms
  • Style sheets
  • i18n
  • Client-side scripting (AJAX or not)

I also would like to add authorization here. It could be roll-based authentication. For Guido, he tried Django and Cheetah in workshop practice, not the real application. The result of comparison between Django and Cheetah shown that Django seems to be better. Actually, it has same functionality but Django looks just more Pythonic. Other template engines like Kid, Nevow, TAL, and etc were not tested yet since they are all XML-based approch. Well, Well, Well. Guido just compared the tempate engine in Django and Cheetah and he liked that template engine in Django, not the whole Django. I agree with him Django is not the right one. What we need is a body to plug in head, arm, leg and more.

If you are interesting in web framework, you might read about WSGI at PEP-333 or an exploration in Linux Gazette #115. WSGI may be wrapped by a web framework that we are looking for.

Technorati Tags: , , , , , , , , , , , , , , ,

Post new comment