Web Development
My current project with Sourcepad is converting a web application with with Drupal to CakePHP. We opted to develop the application with Ruby on Rails but the client wanted it developed in PHP. I would have loved to develop something again in Rails but clients can be persuasive (really persuasive).

With PHP, we had a few choices. We could develop the application using CakePHP, CodeIgniter, Yii or Kohana, frameworks I have had much experience in.

We ended up using CakePHP by writing up pros and cons for CakePHP and CodeIgniter. Yii and Kohana would have been very fine options but my project partner has little experience with them. 

Here's a list of what we had:

  • ( - ) Slow
  • ( + ) Built in themes
  • ( + ) Rails-like relationships
  • ( + ) Better Integration with Testing Suite(PHPUnit)
  • ( +/- ) Convention over Configuration
  • ( + ) Harder to mess up code because of stricter conventions
  • ( + ) Solid performance from the start
  • ( - ) No built in themes
  • ( - ) No ORM
  • ( - ) Built in Unit Test Class is weak
  • ( - ) Can potentially become hard to manage
  • ( +/- ) Configuration over Convention (somehow) 
People can of course argue that there are extensions for the CodeIgniter framework and CakePHP would be just as fast with proper caching.

The CakePHP and CodeIgniter frameworks are great. I've used both extensively (especially CodeIgniter). The thing is, in the end, we didn't choose because of the pros and cons(although CakePHP won). It will be team experience that will affect the framework decision. Only I had experience developing using the CodeIgniter framework, so we chose CakePHP.

Haha. Problem solved!