Since leaving Kapow a week and a half ago I have been coding more than I have for the last 3 years combined, and I have done it all in PHP using the framework CodeIgniter. I looked at quite a few frameworks, CakePHP and Ruby on Rails for example, and quite a few applications/blogging platforms/Content Management Systems that can be hacked and adapted, wordpress and Drupal for example. In the end CodeIgniter won the day, and so far I am extremenly happy with my choice. There are a handfull reasons why I prefer CodeIgniter:
- It is PHP, this might be a dealbreaker for some, but for me that is a huge plus. Primarily the advantages of this is that I can easily host my creations on basically any cheap web host, that there are plenty of libraries and resources out there to make my life easier and also that I know PHP. For the last reason I could have gone with Ruby on Rails or Java as well, but it put all Python frameworks out of the competition.
- CodeIgniter is very easy to install and as easy to deploy. All you need for things to play nicely is an Apache server, a MySQL database and a copy of the CodeIgniter files. Deploying and setting up things are the most boring thing when it comes to writing your own apps, so it is a must for me that it is a breeze, I just dont have the patience to deal with deployment problems.
- Great documentation, the CodeIgniter user guide is excellent. This is a huge difference from many other frameworks and platforms, especially the ones developed by an open source community (CodeIgniter is developed by Ellis Labs, the guys behind the Expression Engine blogging platform). The developer community is also very active and knowledgable, so what isn’t in the user guide is in the CodeIgniter forums.
- Finally, a framework that improves my productivity. Most frameworks tries to do to much and are so huge and rigid that there is a huge learning curve if you want to doing anything but a “Hello World” app. CodeIgniter helps me with the stuff I need help with and doesn’t meddle in the rest. There is no need to hack 10 plugins of different qualities together to get what I need (like in Drupal), and that just makes developing fun as it should be. It is also the first MVC (Model-View-Controller) framework that helps me organise my code in a good way, something that I usually suck at otherwise.
In short I recommend that anybody that knows PHP and want a light weight, good framework checks out CodeIgniter. A good place to start are the CodeIgniter video tutorials, and if you get a bit deeper into things Elliot Haughin has a great blog that often covers CodeIgniter and he also have some great libraries that are well worth looking at (CodeIgniter libs for Twitter, Flickr and Akismet for example). Another great resource is the blog of Derek Allard, Technology Architect at Ellis Labs.
Welcome aboard! We’re thrilled to have you Andreas. It may interest you to know that Rick (the “Ellis” in “EllisLab”) considers it part of our job to write documentation. I’m not allowed to release anything unless its fully documented – so everything is documented by the development team, not a community wiki, not documentation writers, but by people who built and use it every day. 😉
Oh, Allard not Allerd 😉
It seems like Rick has the right idea, bad documentation has caused me more than it’s share of greif when I have used other frameworks. But with CodeIgniter I can be confident that all is well documented, and for me that makes all the difference. Great work!
I have corrected the spelling on your name, my apologies.
The advantages you mention for CodeIgniter also apply to CakePHP, but you still mentioned you chose Code over Cake. Why?
I didnt do a scientific comparison between CodeIgniter an CakePHP, and to be honest I dont remember exactly what was the deciding factor in me going with one over the other. Probably I found the CodeIgniter user guide and examples easier to get started with, and since I liked what I found I havent really had time to go back and check out CakePHP in more detail.
Hi Andreas!
I understand Your choice! The absolut excellent CodeIgniter User-Guide, a fast deployment and also php4 compatibility were the things which moved me to use CI in my projects.
Indeed. CodeIgniter is fantastic. I’m in the process of converting ALL of my online ventures (such as http://linkbun.ch, http://lin.cr, etc.) to run on CI. I’ve never been so excited to rewrite code in my life! 🙂
Can you please elaborate on “..There is no need to hack 10 plugins of different qualities together to get what I need (like in Drupal), and that just makes developing fun as it should be.”
I am planning on building a Rich Application for my client using Code Igniter, JQuery, CSS and Javascript. Just wanted to rule out Drupal before I get started.