Raj AnandDigital Business Innovators

ANNOUNCEMENT: Bye bye Symfony.. Hello Zend [kwiqq]

Posted on | August 12, 2008 | 30 Comments

To set the scene, there are three major PHP based open source frameworks available out there: Symfony, Zend and CakePHP. All very good frameworks and more or less the norm for building successful social networks, although there are some exceptions to the rule.

Zend Symfony by you.

The decision has been taken to STOP using Symfony for future projects. The reason is well described by one of the active collaborators of Symfony, François Zaninotto. “Important design choices are not discussed with the community, just like when symfony was only developed internally. 95% of the code base is still the result of a single man’s work and decisions”. François has now left Symfony, in his own words as he couldn’t get his views accepted. Although Symfony has now been adopted by Yahoo and is being used by major projects like (source) : del.ico.us, Yahoo bookmarks and Yahoo Answers (source) we feel the future of Symfony is not secure.

Our Issue

At this point its worth pointing out that we are responsible for developing social networks for our clients. To do so we had to choose one framework and role with it ! Our choice was Symfony because of the active community, good documentation and clarity. We should not forget at this stage that we have built several social networks using Symfony already: Voxswap, Finerday, Franchisemama, Playntrade (coming soon – wireframes), Kwiqq.com etc. Although after several debates internally and speaking with experts in the area we had no choice but to think of the consequences if the one man responsible for developing Symfony, Fabien Potencier, for some reason stops working on it.

Comparison Zend v/s Symfony

So we have decided to go with Zend and there is a lot of information available on Zend V/s Symfony. Most of points here are very technical and rightly so ! The best part of the article is the comment made by Will Sinclair of referring to the two frameworks:

They are both excellent. The only thing is how u look on them. If you need something rapidly, if you don’t care about application layout nor how things are working than use SF. You will end up with big project in just a second. From the other hand if you want total customized application use ZF. The only problem ( I consider this very good because a lot of “developers” use rapid frameworks and they don’t know a sh**. Tell them to write for example MVC and they will not know from where to start.”

Why Zend ?

When it comes to Zend it has often been accused of not being a framework but a library of useful code. Although we feel it certainly is a component framework. Either way its useful tool for us especially because a major problem which we saw with Symfony was installing the framework requires root access or super user (that is not true as pointed out by Andy Farren – you can certainly Freeze Symfony). Which is fine in the normal scenario but what if you are building a product and want users to install the entire package easily using WordPress like installer ?

Symfony and Zend usage:

Symfony Zend graph by you.

Symfony definitely has more usage than Zend framework but check this out, Symfony see’s a drop in usage just after mid 2008:

Symfony Fall by you.

Is it because people are realizing that Symfony is one man code job ? Is it because François Zaninotto left Symfony ? Either way we don’t want to risk future client projects Its unfortunate but its not worth the risk !

More articles on comparison between Symfony and Zend: IBM, Symfony Best PHP framework (18th Jan 2007), Prefer Zend (another article)

Blogged with the Flock Browser

Tags: , , , ,

Comments

  • mitchell

    imo, you left out codeigniter. its trending up in the same direction as cake/zend but is behind. cake is stagnant.

    http://www.google.com/trends?q=symfony%2C+zend+framework%2C+cake+php%2C+codeigniter&ctab=0&geo=all&date=all&sort=1

  • http://www.kwiqq.com Raj Anand

    Updated the blog with Alex Farren’s thoughts

    Mitchelle sorry I missed out codeigniter, another nice PHP Framework.

    Guys also check out Symfony and Zend trends

  • http://framework.zend.com Wil Sinclair

    Howdy, and welcome to the world of ZF! A couple of things I’d like to mention. I wasn’t the one who said what you’ve quoted above, that was the person posting as ‘Nevio’. BUT, I do agree with him/her. :) As I’m sure you guys can attest, Symfony is a great framework. In fact, the PHP community is blessed with several great frameworks. Ultimately, there is no one framework that will be right for everyone, and the abundance of choices for PHP is another strength of the language and community in my mind. That said, I’m happy to hear that ZF was the right choice for you. Can’t wait to see what you guys do with it.

    ,Wil

  • the Dude

    In response to Dr. Sinclair’s quote in the post:

    Zend is not good at rapid development. If it were, it might be the first choice of newbies who may not even be developers, but their goal is to actually _build_ the site and not just understand how MVC makes building websites easy. Symfony has a huge plugin library and the application already put together. In other words, SF is nice for building web apps quick. Zend is just a smaller set of tools you can use instead.

    Either ZF of SF you’re gonna get the chance to go through all the code.

    Lets just hope that Sensio keeps it real, as they have thus far.

  • guy

    CakePHP ranks the best in google trends:

    http://www.google.com/trends?q=symfony%2C+zend+framework%2C+cakephp%2C+codeigniter&ctab=0&geo=all&date=all&sort=1

    There is no space between “Cake” and “PHP”, which is why it ranked so low in your search. It’s just one word: CakePHP.

  • http://www.kwiqq.com Raj Anand

    Thanks for your thoughts @Will Sinclair :)

  • Pingback: Pages tagged "social code"

  • Tal

    There’s no bad tool, just bad engineers.

  • Pingback: Hackney Wicked. man. ·

  • Pingback: Boomers are slow to move into the social networking world. ·

  • http://prendreuncafe.com NiKo

    Well the symfony core team have about ten members, including some of Yahoo!

    We try to do our best to propose the best php framework around there, but it’s hard, especially when you need to code AND communicate efficiently. We’re trying to enhance the latter ;-)

    Have fun with ZF, it’s a good framework too :-)

  • Pingback: Creating a PHP5 Framework | What Is Wrong With The World Today

  • http://blog.ekini.net wenbert

    Other people mentioned Code Igniter – but I would recommend using Kohana (http://kohanaphp.org). It is a fork of Code Igniter but community driven.

  • Pingback: Frameworkler ve incelemeleri | Oğuzhan YALÇIN

  • http://www.healthyback.com/search/search.php?search=%3Ch1%3E%3Ca+href%3D%22http%3A%2F%2Fapplyfoodstamp.com%22%3E+food+stamp+%3C%2Fa%3E%3C%2Fh1%3E&image.x=0&image.y=0 Apply food stamp

    I wanted to research this subject and write a paper. Your post what a thousand words would not. Nice job.

  • Pingback: Kwiqq recruiting junior developer: defying crises

  • Pingback: etonDIGITAL » Weblog

  • http://colnect.com Colnector

    Though your post is quite interesting, I disagree with some of the statements and hints in it. I’ve been using Symfony for a whilte now. Symfony has a good learning curve to it and so isn’t as suitable for small application. It’s relatively rigid design, however, does promote code readability and order.

    You keep mentioning Fabien as a sole owner of Symfony. Well, Symfony’s code is out there for everyone to modify and enhance. There’s a thriving community and (as stated in a previous comment) ~10 developers. Tickets I’ve opened has been properly answered and fixed and I’m satisfied.

    Though naturally not perfect, I think Symfony is a very good tool to use and it has really helped me. In the few cases where I don’t like the Symfony-way, I just go my way.

  • http://www.kwiqq.com Raj Anand

    Thanks for your thoughts Colnector. I think it is a classic case of horse for courses. I think Symfony is good too, after all we used it for such a long period and still do for some of our clients.

    Although we want to make sure that our clients are future proof to a certain degree with the technology we adopt !

  • Pingback: 2008 in a nutshell.. prediction for 2009

  • http://bluehorn.co.nz Sid

    I’ve used both Zend and Symfony in serious projects (not just trying out). Symfony has everything Zend has with a bonus of everything much better integrated and automated.

    Generally Zend is better for existing system because it is less integrated which mean you can slowly move the existing project to Zend, but for starting a new project, Symfony is definitely much better.

    If Fabien leave Symfony, I’m sure Symfony will still strive. Symfony is well written and the current core developers are very good.

  • Ethan

    I disagree with the idea that Symfony is a framework that attracts a lot of newbies who don’t know sh**. Symfony has a huge learning curve and if a programmer is not familiar with the MVC design pattern they will struggle with Symfony, Cake or Zend. Personally, I think the reason that you are switching is. . . uhh . . . silly (sorry). It appears as though someone is trying to veil their political views in some crappy logic, but hey, more power to ya!

    I’m not against Zend, I think it is a very well designed and built framework. However, I don’t think that Symfony is going to disappear, or that Zend will ever dominate, they each have a niche that they are filling. I do agree with the comments that Zend is better for migrating existing systems and Symfony is better for new ones. While I respect Zend’s decision to be ultra-configurable it really does slow down the process a lot. I started with Symfony and became very versed in that framework. When I started building systems in Zend I realized that the configurability (is that a word?) wasn’t worth the extra time I had to spend on the project. Time is money.

  • Pingback: Websites tagged "hello" on Postsaver

  • azeem

    Has anyone used Prado Framework? I was curious what people thought about it. See, http://www.pradosoft.com

  • Jon

    Hi, I’m not a fan of CakePHP but feel the use of Google Trends is not accurate. Get rid of the space between cakephp for a different picture.

    http://www.google.com/trends?q=symfony%2C+zend+framework%2C+cakephp%2C+codeigniter&ctab=0&geo=all&date=all&sort=1

  • http://harikt.com Hari K T

    I have not done any projects in both . But after thinking to move to a framework I was having two choice . Zend and Symfony .
    I have read and done the example in Zend and in Symfony . After working on smfony I think its much more good than Zend .
    And its upto each and every one to decide which one is good . The Zend has lots of libraries for social n/w sites. But a newbie cannot understand much . :( .
    Rasmus is working on Yahoo and if symfony is being taken by Yahoo then you cannnot make an assumption that symfony will die .
    Hope the documentation will soon be good and going for it .
    Thanks for all who expressed your thoughts .

  • stephenrs

    I’m a long time developer, and I’ve used both Symfony and Zend on multiple serious projects, and they both have their strengths and weaknesses, as pointed out by others in this thread. However, the rationale given in this article for leaving Symfony is bizarre at best. If we all jumped ship every time a single person left an open source project, the world of open source development would be a strange, chaotic and dysfunctional place – which it is not. Symfony is not going anywhere, largely because of the strength of the community and the heavy players who are deeply invested in it.

    I suggest that everyone read the article that the author of this post points to here: http://redotheweb.com/2008/05/16/no-one-is-irreplaceable/, and make up your own mind about the validity of this post. François himself says that he is NOT a developer…and frankly, most of the things he wanted to do with the project run counter to (professional) developer intuition and best practices. It’s unfortunate that he was no longer happy documenting Symfony, but I’m not sure that a non-developer’s opinions will or should ever weigh too heavily in matters of code – just like I don’t give much legal or medical advice….

    My 2 cents.

  • Toby

    I would not say a one-man’s project is a bad choice…after all anyone can continue with it if you are happy with it and everything is working…if not you can change the core code anytime.

    I am not a friend of Zend as they try to sell you their products and you would need to use the Zend tools and pay for them.

    I wasted lots of time using Zend_search – it is such bad code and so “beta”, that I do not think Zend has the best code quality either.

    CakePHP looks good….but all in all – PHP has so many restrictions that y question is not what the best PHP framework is, but what the best webframework is. So far I tend to use Java…something like Tapestry or Grails…but not Wicket. I would probably love Ruby on Rails if I didnt have to learn a new redundant yet-another-stupid language…..

  • Peter

    I have use both Symfony and Zen and as everyone says it’s hard to choose ether one of them: Zend, hate that you don’t have a well defined directory structure that you can count on while working in a team, and as far as I’m concerned Zend is still just a bunch of classes linked all together. Symfony on the other hand will give you head aches just to configure it, but then again it’s an out of the box MVC platform, great to develop a full featured web application. The reason to switch to zend just because a man has left the development team is well… plain stupid :D .

  • http://www.technyooz.com RohitChauhan

    Zend Framework has no Fixed Structure for a Project . In every Zend Framework Project you will find Different Folder Setup and Different Ways of Doing Different Things . If a New Developer starts working on a Zend Framework Project He is going to have a Hard Time ( I had many times ) understanding the Project unless theres some real good Wiki Type Documentation going side by side ( which is rare , i always found only me writing wiki on every project mostly :) )
    By not following Convention over Configuration and with different ways of doing One Thing , each ZF Project is like a altogether New framework for me . I am already seeing a Decline in Number of Projects being made with Zend Framework during last 6 Months.
    Being a Web Developer , I am more engaged , nowadays , in Symfony and Ruby on Rails based Projects and hardly get any Offers for Zend Framework Projects ( from my experience) .
    Because Zend Framework has more than 1 Way of doing a thing while Symfony and Rails have 1 Best way of doing things .

    I personally find myselves most of the time using Symfony as the Framework , but I never forget to drop-in Zend Libraries in lib/vendor :)

    Regards
    Rohit Chauhan

  • Facebook Page

  • My Social Media Hubs