Artistic peacock feather

My Heart Will Go On for CodeIgniter

Love for Codeigniter

Simplicity and Brevity, a Favorite Combination

 
Screencap of the CodeIgniter intro text w/ Github actions.

Though I write a lot more for Laravel these days, I am so pleased that the CodeIgniter project has picked back up and returned to the framework pool. It now has the MIT license which is perfect for open source projects and updates are rolling out periodically. Hooray!

Why I Love Codeigniter

While full fledged CMS’s have been conquering the world and having a real heyday, there is still so much to love about building with CI. For starters, the footprint of this system is probably second to none in terms of filesize. The whole codebase PLUS the user guide is 2MB. Two megabytes for security, URL routing, and all the base functionality you need to keep from reinventing the wheel. That’s so small that it’s huge. While some popular CMS platforms eat up memory for breakfast, lunch, and dinner – you could probably handle a decent slice of traffic with good speed on the most meager of hosting plans with CI.

The second thing I love about CodeIgniter sites is the well organized codebase. If you inherit a CI site there should be no question about where your template (aka Views) files live, no wondering on where to find the site’s configuration, and no extensive searching to figure out what functions are handling the request uri paths. It’s all standardized and right where you expect it! I really don’t understand the need for the “hand rolled custom CMS”, which is something totally unique and proprietary from the ground up. This approach is going the way of the dinosaur because the critical flaw is that usually there is a lynchpin person… A developer in the company probably, and once that person departs or is fired, the product is virtually untraversable by anyone else and becomes dead in the water. The CI system is a beautiful thing!

Why Isn’t Codeigniter More Popular?

I think the answer to this question is largely that many CI developers have already moved on to products like Laravel and Symfony, probably in large part to the long downtime of the CI project. But it’s also true that times have changed, and the process of building and maintaining websites has changed (that is a whole nother kettle of fish), and CI doesn’t try to meet the new needs of many projects.

The second but also huge reason for CI’s downturn in market share is also the rise in custom CMS websites. There is real value for many small, medium, and large business owners to be able to administrate their own website with an out-of-the-box admin panel. CI (nor Laravel, nor Symfony) doesn’t come with this, you have to build your own and that does take time. WordPress and Drupal have become a real easy sell in this regard. Heck if you are really pressed for time, pop in a shopping cart plugin and you can be up and running a full ecommerce store in no time. The weakness here is also a strength for speed and security though. It can be a “six of one, half-dozen of the other” situation if you’d rather have a fast site with fewer vulnerabilities, versus a nice admin backend for $0 in development time.

In Summary

While Codeigniter is a bit of a dinosaur, it’s at least the apatosaurus (aka brontosaurus) of code dinos. It’s not going to chew you up and spit you out – like an herbivore, CI doesn’t go for blood. Your project will get a lot of heavy lifting for very little effort, and actually I’ve heard of some very impressive results for sites that were essentially “downgraded” from heavy CMS’s to the CI framework. They served tons more traffic on the same hosting resources, and avoided the security pitfalls that many sites other sites face.

I’m glad the CodeIgniter project lives on, and I’ll always have a soft spot for it.

Last updated on