Part of the EllisLab Network
   
2 of 2
2
Future of CodeIgniter?
Posted: 25 June 2008 04:10 AM   [ Ignore ]   [ # 16 ]  
Lab Assistant
Avatar
RankRank
Total Posts:  131
Joined  06-06-2008

Some good discussion going on here, very happy to see that people are as curious as I am.

The thing that I expect to see in future releases is for CI to become more modular, so that developers can integrate their modules easily with other developers. This means, getting bits and pieces and putting it all together to get what you want. Might not be the best example but that’s what’s on my mind right now.

I like how ME5 lets your create modules with ease. This is what the framework should be doing IMO.

It would also be nice to see more libraries added that resemble what Zend is doing, but as I mentioned in my previous posts, it could be a bit too much for developers. There where I’m looking at gathering some info and making it easier to get the things you want out of CI without any hassles.

 Signature 

Milos Dakic
JustHost - world class hosting
Library: Events Library

Profile
 
 
Posted: 25 June 2008 09:19 AM   [ Ignore ]   [ # 17 ]  
Grad Student
Rank
Total Posts:  68
Joined  03-25-2007

Awesome discussion going on here. I like Sock Puppet’s explanation of why EllisLab is still doing great, even though it distributes an unobfuscated (I assume) version of EE with all of their plans, and they have a free plan as well. Definitely a business model worth looking into. Besides, I don’t think EE is intended for low budget developers. There will still be plenty of fairly well off clients who are willing to pay the extra for their developers to get all EE has to offer.

Now, to the topic of where CI’s going. There will be some new libraries but I highly doubt that besides maybe a Javascript wrapper any of them will get in the core. EllisLab has done a good job with including almost everything a PHP developer would need to build a decent and fully-functional web app. If we’re talking about 1.6.3 or 1.7, then (I hope) they will come out with a few tweaks to the validation class, mostly in displaying errors more nicely.

It’s simply awesome that EllisLab is deciding to rewrite EE with CI. If and when they show that the framework works well with commercial-grade (enterprise?) software, AND they are willing to provide support for any problems…that tells you something. Although CI is fast already, there is always room for improvement (it’s still got some overhead, after all) so the developers might find novel ways of speeding things up. I am sure that bugs and security holes will be fixed faster now since their own software depends on it.

Profile
 
 
Posted: 25 June 2008 10:08 AM   [ Ignore ]   [ # 18 ]  
Grad Student
Rank
Total Posts:  84
Joined  01-08-2007

Ok so if I get this right, EE2 is being rebuilt on top of the current CI framework, and things are being changed and added to the framework as EE2 progresses. Does that mean that they have started EE2 from scratch, using just a couple of libs from EE1? I’m just trying to understand how it’s being developed.

I am wondering about how much code refactoring is being done, and the influence it will have on the workflow of it’s users. If I have a project going on, it would be important for me to know how much will change in order to make the right decisions. I’m just trying to analyze the risks involved.

Right now the community doesn’t know what to expect, and that’s maybe because the EE developers have perhaps not set any expectations for it, or are aware of the fact that these expectations may change at an invariable rate, as is the world of web development, though it is always good to know the global direction of where things are headed. It’s not necessary to know each and every specific detail of every adjustment, just the big picture, you know? There’s just a lot of guesswork going on right now. And I know the developers might say, well if we tell you about feature x and adjustment y, and things do not go the way they were supposed to go, then you might get upset. Well, maybe it’s better to upset 5 people, rather than leaving 500 people in the dark, not knowing what they can expect.

Example, we can assume that CI is a tool we can all use, so let’s compare it with a flamethrower, since that is a tool also (ok, a weapon, you get the point). If I’m using a flamethrower to destroy a couple of buildings, how will I know that flamethrower 2.0 will not spit water instead of fire? That would be garbage. And how about if flamethrower 1.0 is designed for your right hand, and flamethrower 2.0 is being designed for your left hand, then it would be good to know this so I can train my left hand upfront. Perhaps 2.0 spits fire 10 meter while 1.0 spits fire 5 meter, so then suddenly 2.0 would have doubled it’s scope. The same thing may be for CodeIgniter. Who knows?

Profile
 
 
Posted: 17 July 2008 01:32 AM   [ Ignore ]   [ # 19 ]  
Grad Student
Avatar
Rank
Total Posts:  47
Joined  10-22-2007

Some of the posts in this thread mention the idea of “PHP5 only”  for future CI versions.  I know one of the core features of CI is backwards compatibility (PHP4) but at some point it won’t be necessary to support PHP4 right?  After all PHP3 is not supported.

My question is, if in the future PHP4 support is dropped would you expect performance improvements in CI?  I assume there are snippets here and there that use less than efficient code to support backwards compatibility.  ...wonder what will happen to Kohana at that time.

Profile
 
 
Posted: 17 July 2008 01:59 AM   [ Ignore ]   [ # 20 ]  
Sr. Research Associate
RankRankRankRankRank
Total Posts:  4839
Joined  07-14-2006

If CI drops php4 i don’t think it would result in massive performance improvements, and if it does php5 will be the reason and not CI itself.

Profile
 
 
Posted: 17 July 2008 08:02 PM   [ Ignore ]   [ # 21 ]  
Grad Student
Rank
Total Posts:  84
Joined  01-08-2007

I too agree with a PHP5 only version in order to increase CI’s efficiency by using the full power of the OOP capacities of PHP5. But isn’t EE2 being developed on top of the current codebase of CI, which is of course PHP4 compatible? That sort of forces me to believe that CI will remain PHP4 compatible.

But then again, in the end it’s a whole bunch of guesswork… Perhaps the devs could fill us in with some minor details.

Profile
 
 
Posted: 17 July 2008 08:27 PM   [ Ignore ]   [ # 22 ]  
Administrator
Avatar
RankRankRankRankRankRank
Total Posts:  7337
Joined  03-23-2006

No guesswork needed.  The best stats we currently have indicates that PHP 4 is still 60% of all PHP websites.  Its been about a year since PHP 4 end of life was announced.  At the time it was 75% or so.  So approximately a 15% drop in a full year, after PHP 4 was announced end of life.

It just doesn’t make sense for us to exclude 60% of all potential CodeIgniter sites at this stage of the game.

CodeIgniter will not be dropping support for PHP 4 anytime soon

Let me lay it on the table here.  I like PHP 5.  I dislike PHP 4.  The other CI dev team universally share this opinion to varying degrees.  I am NOT making the argument that we should support PHP 4 on any type of philosophical or technical argument.  This is purely a numbers game.  If we could drop PHP 4 support tomorrow from a business perspective, we’d do it in a heartbeat.

On a technical level, this has been argued to the point where its gone from interesting, to funny, to boring, and now its back to funny again.  There is nothing in CI that prevents you from taking advantage of pure PHP 5 in your own apps (this is what I do in BambooInvoice).  CodeIgniter itself uses different “base” files for PHP 4 vs 5, and the end result is that in real, practical, functional terms, there is little to be gained from recoding CI in pure PHP 5, particularly in light of the market numbers.

In the article I link to above though, I write this, and I will conclude here as well.

So what are our plans for PHP 4 support?  We make software for the real world.  I assure you that when PHP 4 becomes as irrelevant as PHP 3, that we’ll drop support for PHP 4.

 Signature 

DerekAllard.com - CodeIgniter, ExpressionEngine, and the World of Web Design
BambooInvoice - Open Source, CodeIgniter powered invoicing.

Profile
MSG
 
 
Posted: 17 July 2008 10:02 PM   [ Ignore ]   [ # 23 ]  
Grad Student
Avatar
Rank
Total Posts:  47
Joined  10-22-2007

Derek, that was the most complete, concise and convincing answer I have seen yet.  Thank you very much.

I didn’t realize that CI includes separate code for PHP4 and PHP5.  That’s a very good idea.

Profile
 
 
Posted: 17 July 2008 10:07 PM   [ Ignore ]   [ # 24 ]  
Grad Student
Rank
Total Posts:  84
Joined  01-08-2007

That’s awesome, thank you for the update, and a wise decision I must say. Even though from a technical point of view I am a tiny bit disappointed, as are some other CI developers I assume (I bet you are too, Derek), it is logical that you guys have chosen to follow this path, seeing as how it’s important for your business. Business comes first and that goes without a doubt.

Will there be any significant changes to CI’s core / architecture / structure when v2 is to be released, or will things mostly remain in the same fashion, except with a few minor additions and closer integration with EE? Or is this perhaps hard to say at the current stage of development? I’ve read about integration of Jquery into the framework and that’s wonderful, are you guys also planning on adding ‘authentic’ ORM, and maybe things like, a user management module? Just brainstorming here you guys. Maybe you’re not thinking about this stuff just yet and just want to get EE2 up and running. Whatever the case may be, I’m very excited about the great work which I know you guys will put in, looking forward to it!

Profile
 
 
Posted: 17 July 2008 11:29 PM   [ Ignore ]   [ # 25 ]  
Lab Technician
Avatar
RankRankRankRank
Total Posts:  2264
Joined  07-30-2007

Firstly, let me say: I have no advance knowledge of EE2 - I know just as much as you guys.
Edit: This post got really long, skip to the bottom for the “bottom line” text.

In the beginning Rick created the Expression and the Engine.

Now ExpressionEngine was powerful and brought new ideas to the CMS field, and people were using ExpressionEngine as a framework creating amazing web applications centered around content.

And Rick said, “Let there be CodeIgniter,” and there was CodeIgniter. Rick saw that the CodeIgniter was good, and he separated the CMS from the framework. Rick called the CMS “ExpressionEngine,” and the framework “CodeIgniter.”

But, really - pMachine was EllisLab’s first product, blogging software. In 2004, EllisLab’s replaced pMachine with an amazing CMS called ExpressionEngine that had much cleaner code, was modularly designed, and a bucket full of features. Since it’s release, EE has been known for stretching the boundaries of what can be developed with a CMS. Really, it’s not your Mullenweg’s Wordpress - I’d be willing to say 70% of my client’s websites could have been developed in EE and it would have saved them about $600 each time.

So, Rick and team see that people are taking EE and essentially using it as a framework and making some pretty cool stuff with it. So, Rick’s like, “Yo dudes - let’s clean up the core of EE. The meat and potatoes that really makes it work. And release that bad boy for free.” And everyone else was like, “OMG - yes!”

So, CodeIgniter was released and as we all know, it’s the best thing to grace our careers. Now, ExpressionEngine and CodeIgniter have been following these two separate tracks since day 1. The tracks are parallel to one another - but still, separate tracks. If EE gets some crazy-insane new method that sticks cooks up Mozzarella sticks for you, use CodeIgniters are going to have to wait a little bit before we see it. The dev team has done an excellent job of sharing with the CI community but it’s a bit of manual labor on their part and let’s be honest, CI isn’t paying any bills.

So, earlier this year (or probably last) Rick was like, “Yo dudes - that framework we pulled out of EE… let’s build the next version of EE on top of it.” And everyone was like, “OMG - yes!”

So, now, we get a full-stack content management system that is pwntastic built on top of our pretty little framework here. When EE needs a new class that could benefit the rest of the world, or when a security issue gets patched - all of this is going into the CI core. Guess how easy that is to get into the SVN and the next release… seamless! Rather than having two separate products, on two separate tracks, we now have those two products on the same track.


Bottom Line: ExpressionEngine, the lifeblood of EllisLab’s, will directly rely upon the innovation and hard-word the CodeIgniter community puts in every single day. Our community, and for us freelancers - potential client-base, has grown significantly with this announcement.

As the amazing people here spot bugs, send in bug reports, ask the easy question (and answer the tough question) of “why?” we will see CodeIgniter greatly improve. Personally, I think the tempo of changes (if you’re an SVN person) and new releases will speed up considerably.

 Signature 

Become a fan of the CodeIgniter Cookbook (estimated: Fall 2010).

Follow me on twitter here.
MichaelWales.com | MichaelWales.info

Profile
 
 
Posted: 17 July 2008 11:48 PM   [ Ignore ]   [ # 26 ]  
Sr. Research Associate
RankRankRankRankRank
Total Posts:  2634
Joined  06-10-2007

CI isn’t paying any bills

@Michael,

CI is a huge drawcard bringing developers to Ellislab products and services, ExpressionEngine benefits simply by being related and vice-versa.

CodeIgniter sticks out because it is a well documented and discussed framework among the few out there, whereas ExpressionEngine simply gets buried in CMS search results.

Don’t tell anyone CI doesn’t pay bills, even if indirectly.

PS. It’s certainly helping to pay my bills.

 Signature 

URI Language Identifier | Modular Extensions - PHP5 | Modular Separation - PHP5 | Widget plugin | Access Control library

Profile
 
 
Posted: 18 July 2008 12:01 AM   [ Ignore ]   [ # 27 ]  
Lab Technician
Avatar
RankRankRankRank
Total Posts:  2264
Joined  07-30-2007

Don’t tell anyone CI doesn’t pay bills, even if indirectly.

Completely agreed wired, I should have stated it better: CI doesn’t directly pay EllisLab’s bills, although it does an amazing job getting ExpressionEngine and EngineHosting in front of people.

It’s certainly helping to pay my bills.

Ditto. :D

 Signature 

Become a fan of the CodeIgniter Cookbook (estimated: Fall 2010).

Follow me on twitter here.
MichaelWales.com | MichaelWales.info

Profile
 
 
   
2 of 2
2
 
Post Marker Legend
New Topic New posts Hot Topic Hot Topic with new posts New Poll New Poll Moved Topic Moved Topic Sticky Topic Sticky topic
Old Topic No new posts Hot Old Topic Hot Topic with no new posts Old Poll Old Poll Closed Topic Closed Topic Announcement Announcements
Theme
Change Theme
Visitor Statistics
The most visitors ever was 819, on March 11, 2010 11:15 AM
Total Registered Members: 120418 Total Logged-in Users: 33
Total Topics: 126518 Total Anonymous Users: 6
Total Replies: 665271 Total Guests: 381
Total Posts: 791789    
Members ( View Memberlist )