2 Jun 2008
Let’s Bake Some Cakes
This is a brief note about my reflection on choosing a web development framework.
In the last few days, I’ve been busy looking around for different web development frameworks. I’ve found quite a lot and these are some of the major ones - Ruby on Rails, Symfony, Django, CakePHP, CodeIgniter and Zend Framework.
Ruby on Rails is the most popular one because it’s the first one of its kind and it’s based on Ruby language- which is an easy language to learn. But I have heard many people say that Ruby on Rails is not so scaleable in some ways.
Django uses Python language. Python is a powerful scripting language, which is also used by Google. Django is properly the best in terms of performance. However, I don’t like the structure of Python language at all, it really does concern me.
CakePHP, as you can see from the name, is based on PHP language. I can say PHP is the most popular (web) server scripting language language ever. PHP is probably the the closest to Ruby on Rails in terms of features provided. Other frameworks that are based on PHP are Symfony, CodeIgniter, and Zend Framework.
Personally, I did not choose Rails and Django due to the fact that I really like PHP language and I don’t wanna give up on it. Furthermore, not all hosting service providers support ruby and python so this is the major reason not to take Rails and Django. Then it came down to CakePHP, CodeIgniter, Symfony, and Zend Framework.
After looking at some code snippets of these frameworks, I realized that I prefer CodeIgniter and CakePHP. I mean it’s easy to get going with these two. It was really hard for me to choose one of the two. CodeIgniter code seems to be clearer and it has a lot of the components and helpers compared to cakePHP. However, cakePHP seems to be more popular and has more active community and also has quite a number of satellite sites around. After a while, I thought well after all, open source is all about community. I was reading a lot of blog posts on web development frameworks. It was really helpful reading snook.ca.
I spent more time reading CodeIgniter and CakePHP and finally I find myself falling for cakePHP. So now I know exactly that cakePHP is for me. I’ve been reading more on its documentation and tutorials. It is a really cool framework. It’s easy to get everything up and running yet there’s so much that you can customize and bakers (cake users/developers) are really helpful.
So, if you’re looking for a web framework for yourself I really recommend cakePHP. Check out the links below:
There’s one more thing I learned from reading cakePHP manual. Apart from learning a new framework, I’ve learned more about good practice and MVC methodology.
To conclude, all of the frameworks I mentioned here are all great but the reason I chose cakePHP is because it suits my style and its community. If you know any other good frameworks, let me know. I’ll most likely write on cakePHP.
Till then, happy baking!









Kenno Says:
Thanks for sharing bro. When I have some free time, I’ll go bake some Php too.
waz Says:
when can i taste yours? no eggs please…lmao!
about festival link we were talking about, i’ve lost it!!! i’ll see if i can google it up n send it ur way…
Wil Sinclair Says:
The one critical thing you didn’t mention is exactly *what* you’d be using this framework for.
I’m the project lead for Zend Framework, and honestly I wouldn’t recommend it for every project. I would generally recommend it for projects that have extreme scalability requirements and/or very specific functional requirements that would necessitate extension or full homegrown components. For example, BBC will be launching their new site on Zend Framework: http://www.sitepoint.com/blogs/2008/05/30/media2008-day-one/. Now, there are certainly other frameworks that could run bbc.co.uk, but not all of them can.
On the other hand, if you are looking to write up some relatively basic site (most sites are pretty basic, after all) and you weren’t too concerned about scaling to infinity and beyond, then RoR, CakePHP, or a similar framework is a great choice.
Point is- it’s always best to start with requirements in making technology choices.
phalkunz Says:
@Kenno: you have a lot of free time now.
@waz: no worries.
@Wil Sinclair: Thanks for your comment
You’re right. it’s always best to start with requirement but the thing is I didn’t know what kind of project I’m gonna use these frameworks for. You know, I’m still looking for a job and since I have a lot of free time I’m just surfing around and see what I can pick up and learn. I’ve just started to think about a web application. It’s quite a simple application which has 3 levels of user management, probably 6 to 10 tables, and a number of simple interactions. I think cake 1.2 suits this kinda project best.
Of course, for a large site like BCC, I would definitely go for something like Zend Framwork. By the way, is there a plan for a Zend Framework conf in New Zealand? I’d love to go to one.
I’ll read more about Zend Framework. Thanks for dropping by
ijajaja Says:
I have heard about it when i knew Snook site. So far i have never tried to find out more about what it’s is exactly. thanks for sharing..
Daniel Says:
addons.mozilla.org is built on CakePHP, and that would receive plenty of traffic. CakePHP isn’t just for small webapps.
phalkunz Says:
for sure, addons.mozilla.org is not a small app, plus a few other on cakePHP.org.
Kane Says:
Is it just my eyes or you have choosen the blurry fond style for your post title???? It’s really make my eyes hurt:(
phalkunz Says:
@kane: what does it look like to you?
alice Says:
Gonna say that i dont understand much abt ur post, but i just wanna tell that the link of ur cake group is not working..^^
phalkunz Says:
Fixed now. Thanks for pointing out @alice
laptop battery Says:
for sure, addons.mozilla.org is not a small app, plus a few other on cakePHP.org.