I've been lurking and watching github for a number of months, and lately it seems that CodeIgniter's development has slowed to the point where I wonder if it is a dead project. I think it has been a year since a version release, and wonder if anyone knows if V3 will ever be released.
I think lots of people will continure to use CI for many years but in the long run I think it's dead. EllisLab has let it sit for a long time and isn't showing interest in improving the situation. There is one hard working developer on Github accepting pull request, without him I don't think any commits would be added to the dev branch.
I have emailed EllisLab twice in the last few months. They were nice and replied both times saying they are still interested in CI and the release would be out soon but nothing has happened. If you look at their blog they never talk about CI anymore. That is a clue where it is in their priorities. I think it would be better if they let a community member take over the project and switch to an MIT License.
Yes, I think you might be right. I think it's sad that CodeIgniter was so popular and now it seems dead. Perhaps if they were not so worried about backwards compatibility, they could change the framework to compete with the newer PHP5.3+ frameworks.
Opposite to the previous posts, I'd like to add my two cents.
In my opinion CI is just a very mature project. So the question is, do you need a "V3" mark on it or many new features to get your work done or just to keep your trigger-happy soul ehm... happy?
I've got a rather long running project, a site built on CI - I couldn't imagine upgrading it and getting it broken on every corner (google for stories on various other frameworks doing so).
You can implement some new stuff through libraries or helpers, I know, I know - it's not the same. Rather than complaining - just go for the framework, that suits your needs. Be it real, project-oriented, or imaginary, ego-oriented.
Looking at the commit graph at https://github.com/EllisLab/CodeIgniter/...t-activity
development seems to look relatively consistent with the peaks and valleys. As mentioned before the focus may not be commits to the develop branch, and more focused on commercial products like EE. As a business would you rather work on what is making you money, or working on something you are giving away for free?
The Reactor version was a great idea, but it becomes confusing as to the freedoms for devs to keep a forward thinking framework without sacrificing what CodeIgniter is/was.
That being said, I have been using 3.0dev for quite sometime, and have been completely fine using it. I don't care about a specific tag. At any point when you a release a version, as soon as a bug/issue is found, it becomes outdated.
I don't know that anyone from EllisLab actually works on CodeIgniter. Isn't it still just random devs from the community? I don't really know how it works, but for a project that has people waiting in anticipation for it's official release, it's starting to look more and more like that is never going to happen. I agree w/ pettersolberg that V2.1 stable is mature and agree with pickupman that 3.0dev could be used (although it's not even marked as beta, RC, etc). Also, I guess depending on the way you interpret the commit graph, you might think that development hasn't lost it's momentum, but you might need to go back and take a second look at the graph. To me it looks like it is fizzled out.
I am really concerned about the future of Codeigniter. Laravel looks really nice, but the amount of manual configuration and new syntax would be counter-productive to my current workflow. I've tried to mess around with it and other PHP 5.3+ frameworks and find additions like namespaces besides gimmicky make for remembering long lines of code all for the sake of cleaner code and better organisation.
New functionality isn't so much a priority or necessity for me in a framework, but fixing important security issues and bugs is, and by the looks of it, only one person is maintaining the entire repository which worries me from a progress point-of-view.
Would be nice if Ellislab manned up and made their priorities a little more clear.
I find this a bit of an odd remark.
Namespaces are abslutely needed to create separation and avoid class name collisions, especially if you have large and modular applications. It's one of the big limitations of CI.
Now you need to use stuff like "model_users" to avoid collisions, and where does that save you on typing compared to "\Model\Users" ?
The big advantage of namespaces is that you can make your application truely modular, and create reusable components, which reduces development a lot, especially if there is a theming/templating engine that allows you to separate the view logic from the component.
We've switched from CI to another framework two years ago due to the limitations of CI, and we have found that:
- on avarage we code a third faster
- code produced is much better maintainable and re-usable
- a framework in active development means getting new features for getting the job done even better
- it runs faster and uses a lot less memory for the same task
The last point btw is mainly due to the fact that to make something decent of CI, you'll have to bolt on tons of stuff that the framework doesn't provide, and you'll have to overload lots of system classes and hack your way into the core to deal with inadequacies in the core code.
I don't expect any major advances here. CI is a victim of it's own success. It didn't evolve, and is now stuck in the past. Modernizing it would basically mean rewriting the framework, but then it isn't CI anymore, and all your reasons to stick with it and not use a more modern framework would dissappear. A catch-22...
Fast paced development and bleeding edge have never been selling points of CodeIgniter. It even started out with an emphasis of being PHP 4.x compatible so that you could install it on any hosting provider. Back in the day it was closed to outside contributions and people complained about the same sorts of things people are complaining about in this thread. Ellislab probably worked on it whenever they could get to it, which means it probably went for some good stretches without getting touched. Despite all this, it took off.
ExpressionEngine is running on CodeIgniter and Ellislab has a paid team behind it. It's not the latest in ninja technology, but if I were betting on web frameworks which last, CodeIgniter would be one of them.
Anyways, what is a modern web framework these days? The jury is still out, but perhaps it looks more like Silex. Something small and simple that you can build an API with while you push more work to the device on the other end (mobile app, desktop browser, etc.) The sort of web framework that you could build yourself, but you don't have to bother with because someone else did a pretty good job already.
In other words, quit worrying and get back to work.
I actually emailed Ellislab and asked some straightforward questions and got answers to all of them within 24 hours which I posted on my blog here in this post: http://ilikekillnerds.com/2013/05/the-si...explained/
Basically, no, Codeigniter is far from dead and it is still a top priority for them as is ExpressionEngine which they are currently in the process of moving over to use the latest version of Codeigniter. They point out that just because there isn't new versions every few weeks doesn't mean it's dead and it's a good point.
Not completely insightful, but does address a few unknowns.