views:

674

answers:

2

Hi,

I am in the process of choosing a web framework for an application that will contain:

  • an ajax heavy user interface for administration and configuration
  • subsite accessed by mobile terminals (like cellphones, windows mobile, etc) that will include Google Gears for offline support
  • a reporting site

Since I know basic PHP as well as Python, I am inclined to use Django since Python is a much better language. However, needing to use ajax (jquery, YUI,...) extensively and a need for some kind of reporting engine (like Jasper Reports for java), steers me away from Django since I do not see many results on google... Just seems PHP has so much more documentation and addons that could assist with my requirements, plus the frameworks such as Symfony or CodeIgniter wrap some of the weaknesses of the PHP language.

Any experience with ajax and reporting and Django? Basically, I want to be convinced that going with Django is the way to go, or warned to stay away from it.

Cheers

+8  A: 

We use PHP + Cake. Absolutely avoid Cake. They have painted themselves into a corner by insisting on PHP 4 compatibility. The ad-hoc growth of PHP has made it a bit of a Franken-language. I yearn to use python on a daily basis instead of PHP. This is just a personal opinion, but I encourage you to go the python route.

The PHP documentation is sufficient, but excessive. The user-contributed notes create the impression of bulk, but they are often inconsistent. The official documentation is sometimes lacking, and it merges the PHP versions together. By comparison, the python documentation is thoughtful, well organized, and separated by version.

Ewan Todd
Thanks for the tip! By what I read I did exclude cakephp and codeigniter for exactly that reason. If I did go the PHP way i'd want a full OO deal. But it seems that very few people are taking PHPs side over python...
Rok
+2  A: 

Ajax and reporting and Django go quite well together, so if you find yourself more comfortable at Python (no surprise there) and would like a well rounded framework to code in - Django is the way to go. It does not get in your way while being pretty full-featured, we have production Ajax sites with heavy reporting (all custom though) and never regretted going with Django over RoR or especially PHP.

kibitzer