The technological benefits of Symfony in 6 easy lessons
Just as a mountain climber will choose a steel carabiner over a plastic one, developers would much rather work with a framework that simplifies both their life and their daily work.
1. Faster and less greedy
In the IT world, it is not a rare occurrence for people to become concerned with the performance of an application… once they reach the end of the project! That is, once everything has been designed at both the functional and technological level. Even if you were to take everything apart, performance optimization is no easy task.
On the other hand, Symfony was conceived from the start to be fast, with a strong emphasis on performance. By way of comparison, Symfony is about 3 times faster than Symfony Version 1.4 and Zend Framework 1.10, while also taking up 2 times less memory.
2. Unlimited flexibility
Whatever your needs are, Symfony will be adaptable. Its dependency injector and the Event Dispatcher make it entirely configurable, with each of the bricks being fully independent. A 3-in-1 framework, of sorts:
- Full Stack (complete version): you want to develop a complex application and you need many functionalities.
- Brick by brick: you build your framework according to the functionalities that you will need.
- Microframework: as a standalone, Symfony can also be used to develop a specific functionality in one of your projects. Without having to redevelop everything and without installing the entire framework, but only the specific brick that you need.
Permanence is also something that relates to long-term support. Today, this support is naturally provided by SensioLabs. But there is also an entire ecosystem that has grown up around Symfony since its launch: the community (mailing lists, IRC, etc.) and the many other service companies that have invested in the framework.
Lastly, it is also with a view towards sustainable development that Symfony is distributed under Open Source MIT license, which does not impose constraints and allows the development of Open Source as well as proprietary applications.
From the smallest brick to the complete core itself,
everything is presented as a “bundle” (or plug-in in Symfony
language) in Symfony. Each bundle is intended to add
functionality to the framework, of course, and each bundle
can also be reused in another project or shared with the
rest of the community.
In any case, the system of bundles allows everything to change within Symfony, including the core itself. Using the system’s interface contracts between bricks, the behavior of the framework thus can be changed at will, without requiring complete reconfiguration.
4. Stable and sustainable
Developed by SensioLabs, major versions of Symfony are all supported for 3 years by the company. And even for life as far as security-related issues are concerned.
For even greater stability, the minor versions of Symfony’s contract and interface are also guaranteed and compatibility between all minor versions will be ensured on the API defined by the public interfaces.
5. The joy of developing
As a highly functional environment, Symfony also guarantees
a certain comfort level for developers. By taking care of a
number of unpleasant tasks (development of minor
functionalities, for example), Symfony allows developers to
focus on the actual highlights of an application and to both
fully validate their role and improve their productivity.
Among Symfony’s tools designed to make the life of a developer much easier, there is the legendary Web Debug Toolbar, as well as native support for development environments, detailed error pages or even native security.
6. Ease of use
Completely flexible to satisfy the needs of professionals and advanced users alike, Symfony is also very accessible. Plentiful documentation, community and professional support, and “embedded” best practices within the framework (best practices that are natively applied without having to be aware of them or understanding them) allow a beginner to very quickly feel at ease with Symfony.
Choosing Symfony means having a long-term vision of application assets. It also means knowing how to make the day-to-day life of developers much easier.