Cake vs Zend vs Symfony vs Igniter
Posted on 12/12/08 by Felix Geisendörfer
Just in case you need to explain this to somebody at some point ; ).
-- Felix Geisendörfer aka the_undefined.
You can skip to the end and add a comment.
So CakePHP is a FrameWork, Symfony is a FrameBloat, Zend is a BloatWork and Igniter is something else that sometimes works xD
Scott T.: Just because you're biased doesn't mean you're wrong. ;-)
Lol this is a typical Nate post. :p I wonder why Felix published it? :D
wow, too funny. Nate's comment made it 300% funnier.
I love the igniter circle. Lol. :D
good work! best graph jam i've seen yet.
This is gonna open a can of worms... bring it on ;-)
LOL, oh oh ... watch out... once this gets "out there"... :)
but I certainly agree with it. +1 to Nate :)
I would love to see your thoughts behind this venn summarized. Come on, don't be a teaser :).
Submitted to digg.
What is this, all I see here is some colorful circles overlapping each other. Wheres the data to back this up, or some tests, anything.........
I was really looking forward to some good info on why Cake would be better than Symfony. I've used CodeIgniter a lot so I'm not worried about your opinion on that.
Oh well, I guess I will remove this blog from my list of resources since there are no actual resources here.
@Michael, it's just a bit of fun, chillax. If you "remove this blog from your list of resources" you'll be missing out on some of the best programming commentary on the web.
I agree with Michael on this one... I am a long time cakephp user (2.5 years) and I find this quite silly. If you are going to make comparisons, make comparisons. This is quite unprofessional especially from a blog that has core contributors. Smarten up!
Michael: I'm sorry if you did not like this venn diagram and the underlaying concept of this post was not clear. 99% of this site is Tim and me spending hours of our time to share our knowledge in a mostly serious fashion. Sometimes that gets boring as hell, so we make sure to do silly stuff every once in a while. If that keeps you from coming back - sorry - but this is really how we like to run this site.
C'mon people lighten up, this is just a joke...
I can't believe how sensitive one can get over a PHP framework... is there nothing more important to complain or worry about? :)
As a developer you've got all these choices available free of charge and thanks to some good people. Use the one you love and draw your own circles (and conclusions).
teknoid: Totally agreed. There are really more important things to worry about. This was just a joke.
Michael: So you are interested in a real article that compares all frameworks listed? What are you specifically looking for? Just taking some notes so we might get something going in that direction. Although it will probably be biased anyway.
Guys - always remember - this is a blog, and no university representing website.
very funny...I was actually hoping more people would take it seriously and come up with some theories about the colour-scheme meaning.
Sometimes a cigar is just a cigar...and sometimes it blows up.
I think it's a compliment to all PHP frameworks. If I read this diagram correctly, there are no bloated frameworks. :)
It's CodeIgniter, not "Igniter". Or even better, let's call Symfony "Symf" and Zend "Ze".
Not only do I not find this post funny, I think it smells of misinformation and strong bias. There is no actually data on where the chart is coming from nor does the author specify WHY he thinks the different frameworks deserve their specific placement in the charts. After having used Zend, Code Igniter and Cake to a certain degree I was hoping to find a good writeup from a quality blog as to when I should try Symphony, having heard good things about it. Instead I get some random chart which some fanboys think is 'hilarious' offering no basis why Zend would be considered mostly 'bloat'. (as it's build up modular I kinda wonder how professional this blog really is, since one can pick and choose which components to use and in my 'humble' opinion this is as far away from bloat as this chart is from funny). Even saying Zend is a framework is debatable. I also feel that Code Igniter deserves much better as one of its strongest points is its speed, which isn't reflected in the chart at all (well nothing is really reflected in the chart since it's probably made up of thin air) and I do think it definitly falls under the framework category. Again I wonder if the author ever really used CodeIgniter and judging by this chart, is even qualified to make a judgment call on any of the frameworks.
I think it's funny how this blog claims to want to help people and be more productive when this clearly is a waste of time.
Hmm, this picture shows that CodeIgniter is far away from Bloat.
"I think it's funny how this blog claims to want to help people and be more productive when this clearly is a waste of time."
Okay so you are saying none of our articles have helped you so far? And you are saying waste of time? How much time did it take to glance at the diagram? One minute? Sorry, this is absolutely inacceptable considering how much information we offer here for free.
Man guys, cool down, really. There will be an article comparing the frameworks in a professional manner.
Tim: "an article comparing the frameworks in a professional manner." would be excellent - but wouldn't it be cool to settle this once and for all? To answer the ultimate question... to boldly go where no blogger has gone before... the ultimate, definitive comparison of the main PHP frameworks, compiled by the core framework devs themselves.
Is it possible? Would you guys be up for it?
I think we should all chip in some money and get @n0xie and the rest of the complainers here some alone time with whatever makes them tick. I mean come on, how uptight can you be?
Does the word fun mean anything to you? I mean we are all programmers here, but we don't have to be miserable as well.
Next time, chill, open a beer (of a diet coke if that's too tough for you), and try to understand that some people DO have a sense of humor.
I had a big rant all worked out against the folks who trash talk, but I decided not to contribute to the negative people as they already have enough negativity without my help, so instead, I'd like to just say to the authors of this blog:
Thank you for the very useful and helpful information you so often post here, and don't let a few "haters" get you down. They are just stressed cause they still don't know what "humor" is, and nobody is willing to take the time to explain it to them in itty-bitty little words that they can understand... ;)
Keep up the great work, Tim and Felix and Nate, and all you commenters who also share your knowledge about CakePHP. Most folk do appreciate your efforts, I think.
Felix, you made this "fanboy" smile with this post. Don't sweat it if other people choose to move on. You just can't be everything to everyone. You could try...but then I'd have to call you "Ze" ;)
LOL! Take a break people, this is just a joke. This post isn't about your mother, so stop acting like it is and see the fun of this. If this was a comparison, it would be backed up with some good arguments.
@Felix: I love the chart, for me the humor was obvious when i understood the chart (that part took a while). Ignore the complainers, they are probably stressed out by their deadlines or whatever. Keep up the good work.
Having used all 4 of those frameworks extensively, the diagram, though meant as a joke, is surprisingly accurate.
Symfony IS bloated. It has got a lot of nice features, but do we really need multiple libraries that do the same thing (e.g. Propel + Doctrine)? Syntax is verbose and tons of configuration is required. The new backend admin generator is very nice though.
CodeIgniter is a lot of work. No ORM, no table associations, no integrated CRUD, no Auth, no ACL etc. Sure it's easy to learn and the documentation is good, but there really isn't much to learn or document. You'll be writing more code than in CakePHP or Symfony to accomplish the same task and relying on 3rd party libraries for basic stuff.
Zend Framework, in my opinion, is the worst of the four. Despite what their developers will tell you, it really is no more of a framework than PEAR is. In fact, you're just given a library of components -- you have to create your own directory structure, bootstrap file, and config files from scratch. You'll spend the first couple hours just getting set up, whereas in CakePHP, Symfony, or CodeIgniter, you'll be well underway by that time. When you finally do get setup, you'll find an overwhelming amount of poorly-organized documentation....and you'll find that Zend Framework's syntax is reminiscent of Java in its verbosity. The ZF team clearly has the wrong idea of what rapid application development is. ZF is the most actively developed PHP framework, but it has the least active community and no real direction to its development. Why release web service classes that only 20% of people will use before a basic form component that 80% would? I recommend only using ZF as a utility library to compliment CakePHP, Symfony, or CodeIgniter...because that's all it really is.
I find CakePHP to be a solid middle ground between the 4. Simply put, less code is necessary to accomplish tasks than in any of the other 3. It shares many features with Symfony, but does so in a more concise manner and far less configuration. Documentation, though improving, is still lacking for certain advanced features. The time between releases is also really long. It's the most popular PHP framework and has the largest community.
@Tim: “There will be an article comparing the frameworks in a professional manner.” Don’t bother because we all know you aren’t going to take the time to objectively look at other frameworks. (I don’t mean that negatively, btw). Where have you ever seen a company say “Their product is better” :)
You, Felix and the other devs will always have (and should have) a clear bias towards CakePHP. You know the framework almost line-for-line and of course you will be able to clearly and quickly promote CakePHP in its best light.
Comparing frameworks to one another isn’t advantageous as one would think. Instead, I would love to see CakePHP, Zend, Igniter, Solar etc all come together and propose a set of pros and cons of using their respective framework. This, in turn, would be much more helpful for a developer because many times the cons can outweigh the pros.
@Bowflex: Have you extensively used all the frameworks that you have listed? The reason I ask is that I have seen, for such a long time, a general dissention of Cake users towards other frameworks but rarely ever encounter someone who used the other frameworks for more than an hour.
Comparing Zend to CakePHP is apples to oranges. CakePHP is a full-stack framework where developers must follow set-in-stone conventions. This helps dramatically in the speed of developing an application but (be cautioned) not always does it increase the quality. Zend Framework is an OO’ers wet dream. Yes, its code might take a few hundred more milliseconds to run or a whopping “couple hours” to get setup but that’s how it was designed and meant to be used -- so really that's not a "negative" of ZF. But, the same can be said about any framework. Jump on to #php channel on IRC and see what they have to say about ANY framework.
While on this topic, you said “you'll find an overwhelming amount of poorly-organized documentation”. This is exactly what I mean about not taking the time to really look into the framework:
Zend has one of the strongest, professional communities that I’ve seen. Have you seen their code proposal process? It’s mind-blowing how detailed people are in their proposals:
IMO, the reason why you don’t see such a wide body of “community” like you do in CakePHP… well (this answer might make people mad), but its because there needs to be with CakePHP. People need to ask “How do you setup auth” because there was for a long time no place to find that information. Blogs like debuggable (formerly thinkingphp.org) were used as a platform to share these concepts and ideas that really needed to be in a manual. Jump onto #cakephp in IRC and see how many basic, standard, run-of-the-mill questions you see. It’s a noob fest!! :)
"Zend Framework is an OO’ers wet dream."
Do you have the stains to back that up?
I actually think this is a great post, with serious aspect too :) Check out the discussion it provoked, very insightful observations from the commenters about the competition between frameworks and what we want from a framework and a blog and what we expect also.
I like polks comment too - very sharp! :)
Is Zend really bloated? I know it ships with many modules that might never get used, but they arent loaded are they unless requested?
I agree with Luke. Stupid article but interesting comments!! BTW, go Yii (http://www.yiiframework.com/)! I think all the frameworks in that graph suck after trying Yii.
If it was meant to be a serious article comparing these frameworks, don't you think Felix would have had some quantifiable data for us poke through? Instead everyone is getting butt-hurt over a diagram that's clearly meant to be in good fun.
Jonah Turnquist: Can you back up your thoughts about Yii? Why is it so cool?
Dan Bair: Exactly. Would we post stupid stuff like this without giving reasons if they were meant seriously? Do you see the wink smiley in the post?
@Brandon P: Hehe, good comment. :)
"Comparing frameworks to one another isn’t advantageous as one would think. Instead, I would love to see CakePHP, Zend, Igniter, Solar etc all come together and propose a set of pros and cons of using their respective framework. This, in turn, would be much more helpful for a developer because many times the cons can outweigh the pros."
Hrm good idea actually. Also, making all devs think about why NOT to use their framework can reveal some weaknesses of their work too, which in turn they might be able to fix.
Yii?? What, do you wave your mouse at the screen and friggin' Mario writes the code for you? Someone, please elaborate.
It would seem that people have lost track of a fundamental reality : Blogs != Journalism. Lighten up, if you were expecting something else and didn't like it nobody owes you any pity.
Why does everyone have to be right? It's not like CodeIgniter is your religion or something... Man, do we really take ourselves this friggin seriously that we turn a joke into some offensive commentary about a PHP framework? I, for one, have a lot more worries on my plate than what people think of my personal preference in how to program web apps.
fantastic post and very informative.
p.s. People need to learn that not everything can be serious all the time.
What is Symfony?
What is Codeigniter?
What is Zend?
This sounds like a toy :)
Nice one! :)
A little bit fun, but most FUD. Saying that symfony needs a lot of configuration, like one of the commenters do, screams to me that nobody here knows what they're talking about.
LOL was the CodeIgniter joke supposed to be "A piece of work"?
If so I am surprised nobody mentioned.
My search for a php-framwork has now ended. I'll do my own. A really OOP-BloatFrameWork that can automatically spit out Code which everyone can understand and frogs will live in the city.
lol! i can't stop laughing.
the truth is very simple: it is total waste of time to search for what others say about a framework. The only way to make a decision is to use one yourself. After this experience, of course, you could write about the framework. But no one with a brain will ever read your stuff or even care. You have to check it for your own and go through it, from A to Z. If you spent half a year with one framework, you will be able to say something interesting about it. But nobody will care. Because you have to test it yourself. Always. No other way. If you believe in what others say then now do this: wnak on my comment! The color of your sperm will tell the truth about which framework is the best.
ROTLF! So funny (and so true!)
It's funny how everyone says 'this' framework is the best. I havent personally tried them all extensively, but from what I've seen, you cant have it all, the more that is put into the frameworks, the more extensive they are but the more bloated they also get.
My consense is that you'd go with cakePHP or Symfony when wanting out-of-the-box working website (like a website skeleton) which mainly only requires the smallest ammount of work and time to develop from.
Zend and PEAR when you want a more modular type of approach which allows you to add libraries to your existing code. You're responsible in directory structure, website skeleton etc.
CodeIgniter when you only want a little help in development and still want the majority of the control over creating the logical code.
One day I'd go through and extensively test performance, scalibility, work required, harddrive space (some setup's are very tight on space), memory used, support, how well maintained now and in the future.
This post is too old. We do not allow comments here anymore in order to fight spam. If you have real feedback or questions for the post, please contact us.