I know I know, this is a CI forum so I suppose asking such a question here doesn’t make much sense. Thing is, Kohonaphp.com’s forums are pretty bleh (quite ugly and inconvenient, and most of all seemingly quite inactive), so I was figuring posting here was the best way to get feedback from users who have tried out both frameworks.
So, I discovered CI about two weeks ago after googling PHP web frameworks for a while. CI was mentioned a lot as a very lightweight, fast, yet featureful and extremely well documented/user-friendly framework, so I gave it a try. It didn’t seem nearly as rich as Rails (which I poked around with for a few weeks), but it did feel really nice and, indeed—lightweight and fast.
After playing around with it for a few days, I then heard about Kohana. Kohana is said to be “CI on steroids”—basically the same stuff, but strictly PHP5 and with lots of improvements/additional features here and there. So I gave it a try as well… and really liked it. Pure features-wise, it seemed—indeed—a level above CI. And since I don’t need PHP4 compatibility, I ended up figuring it was the ideal framework I was looking for.
Fact is I’m still hesitating a bit, for two major reasons:
1. Kohana seems young. Maybe a bit too young. Most people don’t even seem to know about it. Documentation is pretty good but still lacking; community seems small; forums look pretty much inactive. The latest official download package includes a module which is outdated and therefore doesn’t even work (Auth). Young indeed…
2. Performance. I need to know if Kohana is as fast as CI (or faster for that matter), but I don’t seem to find any decent benchmark out there. I don’t really have the time to run some myself—I don’t even know how to make proper ones anyway. PHP 5.2 (which is supported by Kohana afaik) is supposed to bring some performance enhancements, but who knows if it’s being exploited correctly.
Has anyone run some performance tests (preferably with the most recent versions of the two frameworks) and can give me an idea of which one performs (overally) better, and by how much of a margin? I’m also interested in general comments about what you guys think about Kohana in general, why you haven’t switched, etc.
I think the best answer is for you to do your own research and trials and not rely on our CI centric opinions.
It would be better to ask about kohana on the kohana forums, I’m sure they’ll oblige you with an answer.
For my part I prefer the CodeIgniter community because there is strong support between the members and it is very friendly. CI itself is fast, lightweight, easy to learn and easy to use, what else does anyone need?
I switched to Kohana after having using CI for a long while. The lack of progress in CI was what annoyed me, not so much the sticking to php4. I felt that CI kept me back from using proper OO and design patterns. CI has helped me a lot but for me it was just time to move on.
The CI community indeed is larger but you’ll find the Kohana community is just as helpful.
On the topic of speed I think CI is a little faster with a simple hello world application but Kohana becomes faster the minute you use a database. Overall I find it not really an issue when you compare CI and Kohana to frameworks like Symphony or Cake which are significantly slower. I mean I use Kohana’s ORM extensively since it speeds up development time and when performance of the web application becomes an issue, I can always remove ORM and rewrite the methods in normal php. Besides, 20% of the performance of an application is determined server-side, meaning 80% of the performance is client-side and you can easily improve a lot there with gzip, image sprites, javascript packers etc.
I think you already answered your own question. Kohana developers (some of whom have already chimed in on this thread) are of course going to favour it. At the end of the day, you need to make your own decision, and the only way to do this properly, is to try both out. Good luck.
I am not aware of kohana, but I have to say it would worry me a bit to start to develop on a framework which has a “bleh” forum. Part of the appeal to me of CI (or any other open technology I choose) is that it has a community. I want support from other people doing what I do for help or to bounce ideas off of.
I think you already answered your own question. Kohana developers (some of whom have already chimed in on this thread) are of course going to favour it. At the end of the day, you need to make your own decision, and the only way to do this properly, is to try both out. Good luck.
I agree with Derek here. You have to decide in the end. I personally have done a lot of frameworks shopping at several occasions. I have also seen quite some nice ideas that some frameworks employ. I finally choose CI over other frameworks because of the simplicity and straightforwardness and very important, extendability. I incorporated several ideas into my blend of CI and now I do the same with Kohana.
Anyway, I would very much recommend to do some shopping, take a look at Zend Framework, Symphony, Cakephp and outside of the php realm, Ruby on Rails and Django. What is it you desire from a framework? Do you want a lot of magic happening or a more straightforward approach? It’s all up to you and when you get stuck there are always people willing to help you out.
I’m not sure what versions of IE you have people using when visiting, but I’m still seeing a lot of 6 and 7. Every stat source I’ve seen has said that IE 6 is still more popular then IE 7, and remains the most popular browser used today. Other stats would seem to back that up, so I’d argue that IE (certainly 6, and in a lot of ways 7) is both antiquated, and dominant in the market. This is the same position PHP4 has.
I don’t like PHP4. I hate developing for it, and it annoys me deeply that it is as popular as it is, but the fact of the matter is that it IS dominant, and one of the main goals of CI is to work in as broad a userbase as possible.
Anyhow, I’ve thread-jacked this post, and I’m sorry. I don’t want to close the thread, as that would be me “getting in the last word” and then closing, which would be pretty unfair of me, so I won’t. But I don’t want to use this thread to further argue the merits of CI supporting PHP4, so I won’t continue this here.
I tried several frameworks, which I could not get to work, were overly complex, had poor documentation, or were not designed with shared hosting environments in mind. I am thankful that CI was a platform I could actually install, run and develop on.
I value support and community very highly. I also value good documentation. A large library of modules that make sense, work together and are maintained by good authors is also important, like perl’s CPAN. If I had gotten Catalyst to work on my shared host, I might have gone with that framework. It was also then in a state of constant change early in its development and I’m not very good at coping with that. But for a PHP framework, CI was simple, stable, flexible and had good documentation. It has some failings, but thankfully I have been able to keep things simple and work around them.
Sadly, I also see that IE 6 retains a lead on IE 7. I rub my eyes and the numbers still don’t change. Years go by. Soon we’ll be serving three lines of conditional IE comments on every page. But it’s hardly popularity in the sense of choice. The state of these stats is, imo, due to a lot of locked-down business versions of XP skipping the grand new Vista. Microsoft should create another pop-up in the new XP SP that says: “You are running an older version of IE known to have driven people insane. Your version is considered a human rights violation. Would you like to upgrade?”
imho, both are good frameworks. CI is lightweight, fast and has an active community. kohanaPHP on the other hand, has more ‘magic’ features because it utilizes php5’s capabilities.
I love CI because it’s easy, fast and has a great community. Those are reasons enough for me. At the end of the day, i just need to get my work done and move on to the next project. The client’s not really going to see whether my site is fully OO, etc, they’ll just want to see results. Maybe if you’re developing a huge commerce site then that’s the time i’ll start exploring the limitations of CI.