This is a discussion on One man's search for an MVC framework within the PHP Language forums, part of the PHP Programming Forums category; I am considering PHP and Python frameworks. This is what I'd like: 1) Good documentation 2) Active community 3) ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
I am considering PHP and Python frameworks. This is what I'd like:
1) Good documentation 2) Active community 3) Easy to set up a CRUD grid 4) Built in ability to handle complex data relations 5) Strong data validation 6) Built in multi-level user authentication 7) Ajax enabled inline editing 8) Easy to deploy and configure 9) Low system requirements 10) Misc. I have looked at the following frameworks, this is my analysis: Codeignitor: Great documentation, good community, very low system requirements, easy to deploy. But fails on CRUD and Ajax. CakePHP: Biggest and most active community of all, low system requirements, easy to deploy. Several popular PHP projects integrate with Cake in one way or another: Drupal, Joomla, Mambo, PhpBB. The complaint I read about, constantly, is the documentation. Qcodo: Decent community, system requirements are not too bad (PHP5), easy enough to deploy. The CRUD and Ajax features are the best I've ever seen. When it comes to developing a sortable, searchable, inline editable grid; Qcodo seems to blow away all the others. I am somewhat concerned about doing anything outside of what is shown in the tutorials. Also, somewhat concerned about maintainability. For example, I think Qcodo generates 8 files for every table you create - seems like a lot. Django: The system requirement, deployment, and configuration issues seem overwhelming. I get the impression that Python framework developers just assume the user has complete control over the server. Those who develop Python frameworks seem to have no regard for the realities of shared hosting. System requirements tend to be sky-high: Apache 2.x, mod_python (latest version), fastcgi (at least), command line access, PostgreSQL (recommended). Assuming you can meet the system requirements, you still have server configuration issues such as setting up the Path, and maybe the .htaccess file. Then there is the ongoing configuration: database model has to be synced to database, configuration file for every application, urls have to be configured to match your view, webserver has to be restarted every time modify your code - or touch every file if using fastcgi. Django may be a great project, but the admin overhead seems excessive. Also, not much built-in Ajax support. TurboGears: System requirements about the same as Django. Better Ajax support than Django. TurboGears in a bunch of other Python projects glued together. I have mixed feeling about the "Frankenstein" approach. On the one hand, I understand the desire to have "best of breed," on the other hand, I'm not sure I'm comfortable with components being swapped out fairly frequently. For example, according to wikipedia, TurboGears components consist of: "MochiKit, SQLObject, CherryPy and Kid." As I understand it, practically all of those components have been swapped, or will soon be swapped. Rails: System requirement issues again. Also, as I understand it, Rails does not handle complex data relations very well. |
|
|||
|
On Aug 7, 1:41 pm, walterbyrd <walterb...@iname.com> wrote:
> I am considering PHP and Python frameworks. This is what I'd like: > > 1) Good documentation > 2) Active community > 3) Easy to set up a CRUD grid > 4) Built in ability to handle complex data relations > 5) Strong data validation > 6) Built in multi-level user authentication > 7) Ajax enabled inline editing > 8) Easy to deploy and configure > 9) Low system requirements > 10) Misc. > > I have looked at the following frameworks, this is my analysis: > > Codeignitor: > Great documentation, good community, very low system requirements, > easy to deploy. But fails on CRUD and Ajax. > > CakePHP: > Biggest and most active community of all, low system requirements, > easy to deploy. Several popular PHP projects integrate with Cake in > one way or another: Drupal, Joomla, Mambo, PhpBB. The complaint I read > about, constantly, is the documentation. > > Qcodo: > Decent community, system requirements are not too bad (PHP5), easy > enough to deploy. The CRUD and Ajax features are the best I've ever > seen. When it comes to developing a sortable, searchable, inline > editable grid; Qcodo seems to blow away all the others. I am somewhat > concerned about doing anything outside of what is shown in the > tutorials. Also, somewhat concerned about maintainability. For > example, I think Qcodo generates 8 files for every table you create - > seems like a lot. > > Django: > The system requirement, deployment, and configuration issues seem > overwhelming. I get the impression that Python framework developers > just assume the user has complete control over the server. Those who > develop Python frameworks seem to have no regard for the realities of > shared hosting. System requirements tend to be sky-high: Apache 2.x, > mod_python (latest version), fastcgi (at least), command line access, > PostgreSQL (recommended). Assuming you can meet the system > requirements, you still have server configuration issues such as > setting up the Path, and maybe the .htaccess file. Then there is the > ongoing configuration: database model has to be synced to database, > configuration file for every application, urls have to be configured > to match your view, webserver has to be restarted every time modify > your code - or touch every file if using fastcgi. Django may be a > great project, but the admin overhead seems excessive. Also, not much > built-in Ajax support. > > TurboGears: > System requirements about the same as Django. Better Ajax support than > Django. TurboGears in a bunch of other Python projects glued together. > I have mixed feeling about the "Frankenstein" approach. On the one > hand, I understand the desire to have "best of breed," on the other > hand, I'm not sure I'm comfortable with components being swapped out > fairly frequently. For example, according to wikipedia, TurboGears > components consist of: "MochiKit, SQLObject, CherryPy and Kid." As I > understand it, practically all of those components have been swapped, > or will soon be swapped. > > Rails: > System requirement issues again. Also, as I understand it, Rails does > not handle complex data relations very well. I noticed you didn't mention the symfony project. http://www.symfony-project.com/ |