journal-25-2-11
I started in on Django this week. I like it so far. I'm a bit torn at this point as to whether the reasons I like it are a) my familiarity with Python, b) the style of the
tutorial being directed at experienced web developers, or c) Django being "better" than Rails. One thing I'm noticing about frameworks so far is that (and this is probably more a reflection of Ruby and Python but it seems more true here than in other places) there really is usually one correct way of doing things. This can be infuriating if you don't know what that is and end up wasting time with something inevitably inelegant but I suspect once I understand things it will be really nice for just rolling things out quickly.
One thing I really want compare now is the libraries of extensions to these frameworks. How big are they? what do they support? How well do they support it? It seems like a big discrepancy here will make a big difference in which frameworks are more useful. The whole point of these is rapid development if you have to re-invent the wheel then you're not getting that.
I also started looking at cakePHP. Interestingly, whereas Ruby and Python are not natively web development systems and Rails and Django build up a lot of that infrastructure for you, cakePHP seems to have less infrastructure so far. For example in both Rails and Python the db is built for you from the model you describe, in cakePHP, you build it yourself. I'm starting to think that a better model for PHP frameworks may in fact not be this universal framework system like Rails or Django but more specific CMS approaches like WordPress, Drupal, phpBB etc. That have been so successful.
Jim
We mentioned Sinatra, which is what the Green River folks are using for a project I'm working on.
This article :
discusses several frameworks, and discusses what Sinatra is and how it compares to Rails.