xanders blog |

Jan/11

12

Compare symfony 1.4 and Symfony 2

Recently I have been at the crossroads of choosing between symfony 1.4 and Symfony2. This is a short list of pros and cons that helped with the decision making.

Other factors to consider:

Symfony 1

Pros

  • Knows it very well. Public API as well as internal workings.
  • PEAR for plugin management
  • Tried tested and true framework
  • Lots of plugins off the shelf from the community
  • I18N / L10N database for dates, etc complete ICU data
  • Well known best practices, naming conventions, configuration framework
  • Know what solution fits the job (when to use filters, helpers, extend internal components, etc)
  • Lots of documentation, how to’s, guides, tutorials, etc

Cons

  • Non xunit testing framework (lime)
  • Slower then symfony 2
  • End of maintenance 11/2012
  • Older technology
  • Does not take advantage of PHP 5.3 namespaces

Symfony 2

Pros

  • ESI – edge side includes. Big performance boost if used correctly.
  • Dependancy Injection and decoupling of modules
  • Takes advantage of PHP 5.3 – namespaces, etc. This provides much cleaner code.
  • Uses standard logging, etc other components from Zend
  • Standardized testing framework (PHPUnit)
  • Twig templating seem to provide succinct syntax
  • Mongo DB support out of the box
  • Doctrine 2

Cons

  • New to the team. Learning curve
  • Not finished development. Target is March 2011 for final
    • API not stable yet
    • Not as many projects in production
    • No admin generator bundle
  • Some modules we need may not be built yet
  • Seems like only support for handling install / upgrade / dependancies of bundles in git sub modules. No PEAR2 support (yet?)
  • Lack of complete documentation and how to’s

I actually had a small Q&A with symfony creator Fabien Potencier:

Me: Are there plans to integrate Pyrus package management into Symfony 2 for bundles? Is GIT submodules all there is / planned?

Fabien: We have something planned, but it’s too early to talk about it. I can say that the tools will be more flexible than Pyrus and will probably be something on top of it (to be able to install a bundle hosted on Git without the need to create a PEAR package for instance).

Me: Are there plans to create a Jobeet style end-to-end application tutorial? At what date?

Fabien: No. However, a book is being written.

Me: Are there any feature sets of Symfony 2 that are lacking compared to the more mature symfony 1?

Fabien: The admin generator. But that’s something we will work on soon.

Me: Does Symfony 2 have a supported way to handle an asset CDN other then a hack like the override of “_compute_public_path()” helper in symfony 1?

Fabien: Yes, it is supported out of the box.

· · ·

3 comments

  • Montreal Web Design · January 14, 2011 at 4:53 pm

    For me at least lack of PEAR is a plus, I don’t like it.

    Reply

  • Oscar B. · February 19, 2011 at 2:40 pm

    A Jobeet like tutorial will be nice, even if it isn’t Jobeet (could be any project).
    I fell in love with Symfony thanks to the very well written Jobeet tutorial.

    Hope that book come with practical exercises.

    Nice comparision.

    Reply

  • nick · February 27, 2011 at 8:05 pm

    Nice overview of the differences. I’m currently in the process of making the same decision and although I really want to go with sf2, I’m having a hard time with the learning curve and no jobeet-style walk-through to help get the ball rolling.

    Reply

Leave a Reply to Montreal Web Design

<<

>>

Theme Design by devolux.nh2.me