Bonnier Corp, my current employer, allows us to host the Orlando PHP Meet-Up group at our offices. It was recently resurrected after a year or so of lying dormant.
For the month of June we are going to be staging a ‘Code Shoot Out’ between 4 of the most popular development frameworks for PHP: CakePHP, Zend Framework, Symfony, and Code Igniter.
The idea is simple: Each developer, who is already familiar with the framework they are using (in order to remove the learning curve all frameworks have from the equation), will take the same MySQL schema and create the same application with it. This way we the strengths and weaknesses of each framework could be compared in a relative way, instead of absolutely.
If you’re interested in attending, sign up and RSVP as soon as possible, as it is filling up quickly.
I will be representing CakePHP, and also designed the database and drafted the requirements.
We will be creating a simple CMS/Blog with the following features:
- Password Protected Admin Panel to manage the content, complete with tags and a published/draft status.
- A front end section to navigate and display the content created in the admin panel.
Sounds simple enough, huh? Well it is. The idea is to build the application from a fresh install of the latest version of the framework, document the effort and time the results. In this way, we should be able to get a real sense of the amount of code you have to write to be productive, what that code looks like, and how the framework helped you get it done.
In an effort to make the shoot out fair to each framework and make it easier for the audience to better judge the benefits of each one, the following restrictions are in effect:
- We can’t create any graphics for the site. No need for someone with better photoshop skills to make their results more attractive by spending time on design. It would be distracting.
- We can’t draw on any existing code. This is intended to equalize each developers experience with their framework. Yes, over time, you would expect one to build up a library of reusable code, but it would be cheating if we just hacked an existing app to fit the requirements.
- Don’t use any scaffolding techniques in your final code. You wouldn’t put scaffolding into production, and neither will we.
- If your framework has a default style sheet, use it as much as possible. I think that the default styles that the framework ships with can speak volumes about its philosophy. Plus this reduces the amount of time you have to write CSS for the front-end piece.
I also added a wild card challenge, just to spice things up a bit. Each developer can add one more feature, not represented in the requirements to show off some advanced feature of their framework. Think feeds, web services, ajax, or ACL. The idea is that we can all do simple database interactions quickly – with or without a framework, but will it blend?
The full requirements document, including schema, is available at the Orlando PHP Meet-Up site in the files section. You’ll have to be a member of the meet-up group to download it.
The full source of each application will be posted after the meeting, so that you can dive into each one to see how they tick. If you’re looking to pick a framework, this code shoot out should be a nice organic way to compare and contrast the various pros and cons of each framework in a way that allows you to get real insight into the approach each one takes to support you in writing modular, scalable code using the best practices available.
CakePHP vs Zend Framework vs Symfony vs Code Ignite! Who will win? You Decide.
This is the professional blog of Eric Marden, a veteran web developer, entrepreneur, and inspirational speaker.
If you're new here, please subscribe to my RSS feed. You'll get a blend of tech news, analysis, inspirational essays, and much more. Subscribe today.
Results coming soon. We’ve all been busy.
can’t wait for the results
Any word on the results?