I used to be subscribed to the CI Forum RSS feed and kept-up with the daily conversations and heartbeat of the community. However, I stopped when I couldn’t keep up with the daily thread amidst all of the topics being started by people who were saying:
“Please help me, even though I haven’t done anything to even attempt to figure this out myself.”
Eventually I learned enough to be an expert with this framework, and I’ve designed a highly profitable CMS supporting a nice size company. We have billion dollar companies using our software all over the world and I’ll be damned if I’m going to upgrade the framework my team and I know inside and out to 2.0. We can’t afford the liability of upgrading to a framework that now has a development mentality of “features” over “stability.”
I was VERY happy with the infrequent release schedule because it meant the framework was solid. I was able to focus on developing features into my application, instead of worrying about new “features” within the framework compromising my application and breaking solid, optimized, perfectly working PHP code.
This holds true for security as well. Whenever the security schema for a very large web-facing application is being developed, there are assumptions made along the way. This could be something as simple as a boolean versus a string response from a function on failure/success, or as complex as which functions of a library are private/public, etc. To upgrade any sizable application to CodeIgniter 2.0, all of these schema have to be tested and reworked. Especially any code surrounding web forms (i.e. login pages, contact forms). Any person telling me that “a good programmer does it right the first time” is not an experienced developer. Nobody is perfect.
The reason we use and promote CodeIgniter is because it is a lightweight, stable framework. We don’t need functions that use PHP to write our Javascript & HTML for us. If I needed that I would have stuck with ASP.NET. We also don’t need a new feature every day, or daily fixes of bugs caused by the unnecessary features from the previous day. Touting the REACTOR branch as stable and mentioning that there were 11 commits in the last week is an oxymoron.
By comparison, I will not download the 2.0 “core” from EL because I don’t need it. There is nothing wrong with CI 1.7.3. It’s an amazing framework and as far as I’m concerned 1.7.3 is still the latest release. Everything after that is not necessary. We do a LOT with this framework, and have never thought:
Hmm… CI just isn’t fast enough, and it doesn’t have enough features.
Instead, we are able to sleep at night because we know our application is rock solid built on a concrete framework.
People need to stop trying to squeeze more power out of this framework and focus on becoming more robust programmers. Using tools like Amazon Web Services, Memcache, jQuery, and mod_pagespeed, our CI-based applications load websites faster than any Internet connection can keep up with. Now that HTML5 is on the rise, with constant changes and developments with HTML5 and CSS3 we don’t need our framework changing every day as well.




