Why I fell for CodeIgniter

May 16th, 2008

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.

3 Responses

  1. Derek Allard says:

    Sunday, May 18th, 2008at 4:20

    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 ;)

  2. Andreas says:

    Monday, May 19th, 2008at 3:06

    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.

  3. Some of my projects - WebHostNinja.com and EnLaTele.com.mx | Digitalistic - Mashup or die trying says:

    Monday, May 26th, 2008at 8:05

    […] comparison search engine for web hosting called WebHostNinja.com. The site is all written using CodeIgniter and thanks to Kemie at monolinea.com it also looks great. What I am trying to do is a usefull site […]

Leave a Comment