Article: Symfony 2 or Symfony 1.4?

from: stackoverflow



Why you should use Symfony 2.0:

  • Faster. Many Symfony components have seen performance improvements and it also now supports edge side includes.
  • Fixes weaker design. Symfony 1.x is great, but some components had flaws, like logging (now outsourced) and tasks (more flexible). Forms in 1.x were powerful, but had some flaws; forms in 2.0 are better.
  • It’s the future. Symfony 1.x will expire before the lifetime of your project. You already said you¬†willbe rewriting it. It makes no sense to wait.
  • Cleaner, easier code. Namespaces, more decoupling, generally even more beautiful than Symfony 1.x was.
  • Doctrine 2.0. Way faster, way easier to use.

The only possible reason to go with 1.x is time concerns. However, if this project is that important, it makes more sense to increase the time limit (if it is unfeasible), then to do it in 1.x and waste all that time rewriting it later.


Well, Symfony 2.0 should really be your bet if you had more time to get the project done. Symfony 2.0 developers are still struggling to learn the right way to use all those nice standards and best practices.

The community using SF 1.4 is already mature and has solved every single problem that all the common (and others not common) scenarios could present.

All those arguments about speed do not apply to 90% (or more?) of projects built on SF. Unless you need a high performance webapp (serving more than 500-1000 requests/minute), you gonna be fine using SF 1.4. If you need to serve more than that you can always using one more server to the scene. An optimized SF 1.4 app can perform pretty good.

I’m trying to say that all the talk about performance is not a problem for most apps. People do not think about it when raising the speed flag.

SF 1.4 is a well structured framework. It really speed things up during development. SF 2.0 is a community under development. People are still developing solutions and plugins for the most common problems.

I’m still using SF 1.4 for all my new projects. Mainly because I got a lot done on it that get my projects done really fast. All my customers don’t need a high performance webapp, however I have my own projects that need to be fast and after optimization they really are.