I am trying to decide whether to use Pylons or Django. Both are frameworks for building Python web applications, but with opposing philosophies.
Django tries to be everything. It comes with its own ORM, its own template engine, its own everything. That gives you a nice developing experience because everything fits together and because very nice applications can be built on top of all those components, like the admin tool, which is amazing.
On the other hand, if you donโt like one component, you canโt just remove it and put another one in its place. Maybe you can, but it is most likely that it wonโt go very smooth. All these issues apply equally to Rails.
Pylons doesnโt try to do anything else than the basics, and leaves the rest to external libraries. External libraries that you pick, and switch if you feel like it. This is closer to real-, I mean, non-web-application development where you generally donโt use frameworks. It sounds good, but as soon as you start using Pylons, you see that it seems like a bunch of different stuff badly glued together. The whole experience ends up not being as pleasant although it is, Iโd say, more professional (you are picking the tools you think are right, not whatever that was already there).
But thereโs more. If you develop an application in the Pylons way, you can reuse parts of it without depending on the web framework. You use the database models in a desktop application and you only depend on SQLAlchemy (or whatever ORM you picked). You donโt end up with a desktop application that depends on a web framework, which doesnโt makes sense. This may be important or most likely, not.
It would be nice if something like Django was built on top of Pylons. That would be something like, if you use Elixir and you have this or that template engine, you get a nice administration tool, if you donโt, you donโt get it. But you still can pick your philosophy without changing basic parts, like the way you write the configuration file. Given infinite time this facts should reach the conclusion that Pylons is the right choice, but the Djangoโs admin tool is so sexy!
Leave a Reply