To Cake or not to cake

To Cake or not
I am starting work on a project for a client that involves complicated workflows when the customer orders a product and also a simple user interface. Even thought I have worked with a few php frameworks, this is the first time I am starting solo on a project from scratch. While looking around for the best options that fit the bill, I shortlisted 3 options
1. Core PHP
2. Drupal
3. CakePHP or Zend Framework
Option 1 might be the simplest to start with but would be not be a wise decision since it would be a maintenance and extensibility nightmare. I started working on a prototype for Drupal, but a few weeks down the line, the limits of a CMS for such a project became obvious. The best option now seems to be to use a framework, which should have been obvious from the start in hindsight.
I considered going with Zend but Cake seems to be much lighter and also places more emphasis on convention which supposedly makes me a ‘better’ programmer. Additionally, the fact that Zend seems to be more feature rich that cake actually pushed me more towards cake since the project is quite simple technically. And Zend seems to be too powerful for that.
So I am off to the bakery.
Cheers and Peace!
Jeba Singh Emmanuel
————————————-
Those who would joyously march in rank and file have already earned my contempt, for they were given a large brain by accident when a spinal chord would have sufficed.
–Albert Einstein

I am starting work on a project for a client that involves complicated workflows when the customer orders a product and also a simple user interface. Even thought I have worked with a few php frameworks, this is the first time I am starting solo on a project from scratch. While looking around for the best options that fit the bill, I shortlisted 3 options

1. Core PHP

2. Drupal

3. CakePHP or Zend Framework

Option 1 might be the simplest to start with but would be not be a wise decision since it would be a maintenance and extensibility nightmare. I started working on a prototype for Drupal, but a few weeks down the line, the limits of a CMS for such a project became obvious. The best option now seems to be to use a framework, which should have been obvious from the start in hindsight.

I considered going with Zend but Cake seems to be much lighter and also places more emphasis on convention which supposedly makes me a ‘better’ programmer. Additionally, the fact that Zend seems to be more feature rich that cake actually pushed me more towards cake since the project is quite simple technically. And Zend seems to be too powerful for that.

So I am off to the bakery.

2 thoughts on “To Cake or not to cake

  1. Caveat: I’m project lead for ZF.

    I’d argue with the assertion that an “emphasis on convention … supposedly makes me a ‘better’ programmer.” Convention-based systems make it easy to get started on green-field projects, but very difficult to customize should you need features that are outside their offering. ZF tries to be flexible and allow the developer to choose — but this flexibility comes at the cost of a steeper learning curve.

    If you want the simplicity of a conventions-based framework, but flexibility to use components from other systems later, I’d recommend either Symfony or Lithium (which is a fork of Cake’s version 3 branch, and developed by former Cake developers). Both of these frameworks make it fairly easy to integrate third-party libraries and components, and as such let you guide your own project in a more flexible manner. This will allow you to use features from ZF should you determine you need them later down the line.

  2. Hi Mathew,

    Thanks for taking the time for the reply. I do agree with your points, and the point about a better programmer was said tongue in cheek. :) I do hope to get my hands dirty with the Zend Framework since it does seem amazing. But as I mentioned, I believe it might be overkill. I did look at Symfony (will look at Lithium now) but Cake seems to fulfill all the requirements that the project has. Any future requirements for the application have been considered too. So Cake for now, itching to get to Zend. :)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>