One man's search for an MVC framework

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) ...


Go Back   Usenet Forums > PHP Programming Forums > PHP Language

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 08-07-2007
walterbyrd
 
Posts: n/a
Default One man's search for an MVC framework

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.

Reply With Quote
  #2 (permalink)  
Old 08-07-2007
ELINTPimp
 
Posts: n/a
Default Re: One man's search for an MVC framework

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/

Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT +1. The time now is 07:53 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0