Sunday, June 10, 2007

Remembering Why I Love CodeIgniter

For giggles, I recorded a screencast of a project I recently did at work for a non-profit. The process reminded me why I like CodeIgniter over other PHP frameworks.

This was a very short project. All-told, it took about 6-8 hours to complete. The app itself is a simple Event Calendar application. There are only about five screens (view, add, edit, change password, log in) plus the front end. A gentle sprinkling of Ajax was employed, and I think made the app more usable.

The reasons I prefer CI over others are few:
  1. Installation is simple.
  2. The framework is light.
  3. There is a lot of "helper" code available to you right away.
  4. Everything just works.
What I loved most about these four things is that it enabled a fifth: speedy development. The framework is familiar to me, and easy for others to learn. Because of this, I can crank out lines of code almost non-stop. I rarely have to refer to the documentation (though when I do, the docs are plentiful and neatly organized), and everything works exactly as expected.

There are only a few things I wouldn't mind seeing in the framework, or adding myself:
  1. Automatic layout/partial (a la Rails).
  2. A real ORM.
  3. Different application layout (in the filesystem)
Items 1 and 2 are fairly self-explanatory. Item three may not be. You see, CodeIgniter places your application folder inside of the framework system folder. This means that for every application you want to have, you have to have an instance of the framework for that application. In my mind, I'd rather have the framework library sitting in one place for every application, and have the app-specific code in its folder. This is the way Django, Rails, XAVIOUR, Tuplix, and so many other frameworks do it. It just makes more sense.

If you haven't tried CI, check it out. I think you'll find it to be a breath of fresh air.

0 Comments:

Post a Comment

<< Home