ul. Powstańców Śląskich 7a
Global4Net Sp. z o. o.
+48 71 769 11 32
© 2009 – Global4Net. All Rights Reserved.
Software development is much like composing music. Each part of the application should be written with attention to details and meet the needs of the user. Like any instrument in an orchestra, it should flawlessly play its part to become the whole piece that will delight the listener. This metaphor is not accidental, because we will discuss Symfony software in this article. We will talk and try to establish if Symfony is a good and relevant framework. Nowadays, around 80% of all websites are created in the PHP programming language. Sites can be based on either pure PHP or one of its frameworks. It all depends on the level of sophistication of the application, the timeframe of the project, team experience and many other factors.
Symfony comes third in the popularity ranking, just behind Laravel and Codelginter. The framework is widely praised in the programming environment, where experts share many positive opinions about it. Why?
Before discussing whether Symfony is good or not, it is worth explaining the very concept of a framework. It is a collection of universal reusable programs working in a certain way and achieve specific effects to create a specific application. In a way, it’s a framework or foundation for a website or software. Just like the house is personalized on the foundations, an app is specifically designed with the use of certain modules.
Using it is not a compulsion or a requirement. However, it certainly makes the work easier for the developer. First, it accelerates the project progress. You can save up to several days of work by using the ready-made solutions offered by a specific framework. This saved time can be spent on refining individual functions.
Secondly, using the framework makes it easier to maintain the application. Due to the use of certain structures, there are certain rules that must be followed. Thanks to this, another team can join during work and continue working without any problems. Thirdly, using the framework reduces unexpected problems during work. And of course, fourthly, numerous updates improve the security of the entire platform.
There is no universal answer to the question “what platform and framework is the best for my project?” There are plenty of studies, opinions and comparisons in the Internet that will help you make that choice. Thanks to them, the vision of the project will take shape and the appropriate framework will emerge itself. However, it is important to remember the most important factor that influences the decision. A great tool is nothing in the hands of a person who does not know what to do with it. A developer who decides on a specific framework should be familiar with how to handle operation.
Symfony was founded in 2005 and has since built a reputation in the eyes of programmers as a mature, refined and reliable tool for the writing of PHP-based softwares. It is the number one choice when it comes to creating web applications.
It owes its popularity, among others, to its high flexibility. It has a huge amount of options and extensions. Packages are almost the same as plugins. They should be understood as file packages, used to implement any functions, regardless of the nature of the platform being built. What’s most interesting is the fact that these packages are not associated with a given platform. They can be used for other projects and configured for usability in other applications. All to reduce the costs of developing subsequent projects.
Components are universal aids that reduce code time, because they limit the number of routine operations that a developer must perform. Thanks to this, he can focus on project-specific features. There are 30 Symfony components that will improve the quality of work. You can use them independently and add your own modules, without spoiling anything in the architecture. What’s more, Symfony components can be used as standalone modules in other frameworks such as Laravel. They are used to eliminate close dependencies in architecture. The fewer of them, the easier it will be to make changes without risking damage to parts of the system. This allows you to implement various solutions in response to the different user requirements and different possible scenarios. Everything in order to create the most flexible and resistant application.
Symfony has SensioLabs support, which is not a common phenomenon in the industry. It is the company responsible for creating and developing the framework. The company also has created the official guides of Symfony’s good practices. The company’s website also has a calendar of upcoming conferences taking place around the world. This shows the scale of commitment and trust in the product.
While many frameworks appeared and disappeared, Symfony is still on the market and with good presence in e-Commerce. Many platforms use this solution, e.g. phpBB, Drupal, Magento or eZ Publish. The companies that built websites and applications for Symfony include National Geographic, Ted, Bla Bla Car, and Vogue.
When creating any application, quality assessment plays an important role. That’s of course because, they guarantee the correct operation of components and early detection of errors. Reusable packages, no strict dependencies and creating your own designs. All of these features make Symfony a framework that does not unnecessarily multiply problems, which is a good feature. Unit testing is easy thanks to PHPUnit and their independent libraries, and function tests are automated to reduce routine and arduous operations that the developer would have to perform.
Technical support is a huge advantage of Symfony. It is a framework tested in all conditions, and updates are coming out all the time. The last version was supported for 3 years and during this period remained compatible with all newer additions. An extensive community is also a huge help. This certainly was a huge factor that ensured Symfony’s survival.
The official website declares over 2000 active users, much more than in the case of other frameworks communities. This is important because whenever there is a problem in adapting the product under certain conditions, there is a high probability that someone has already solved it. Open access to the code supports a sense of responsibility for the quality of the framework and in practice means that specialists from around the world are making efforts to refine the code to perfection. Working together to solve problems and create new add-ons has worked great for years.
Documentation around Symfony is another thing that should lead towards this product. It is perfectly evaluated against the competition due to its communication skills, clarity of message, good structure, the existence of many examples and the fact that it is updated from version to version. In the instructions, therefore, there is an explanation of each element and the whole process.
There is no perfect solution and all technologies have their drawbacks. This is especially true for IT and software development industry.
Performance is not Symfony’s strong point. This is an important factor because it affects the loading time of applications during high network load. Such situations occur most often in the case of social media. However, this framework has grown into a giant by modeling and using the advantages of its competition. One way to increase application performance is to migrate from PHP 5.6 to PHP7, which speeds up the application almost twice.
Symfony usually requires more work. It is based on a reusable code system and pattern design, but testing and further support is a bit tedious and laborious. This means some delay in the full implementation of the project, compared to its competitors. Also learning this framework can cause some problems. It requires more effort to understand all relationships and features, while other products are a bit more intuitive like Laravel and Yii. On the other hand, Symfony prides itself on stability and the ability to implement complex solutions, making it popular among specialists around the world.
The general aim of frameworks is to simplify and accelerate the process of writing applications. Symfony may not be the easiest solution on the market, but it is certainly the strongest and most durable available. The projects it makes possible to implement are internationally recognized, which testifies to its seasoning in battle and the trust that can be given to it.
This solution is flexible and suitable for many different applications. Thanks to packages and architecture based on modules, Symfony is suitable for large and small projects, more or less complex. It may not be the easiest to use or learn, but after mastering the basics it offers great opportunities and certainly outperforms its competitors with advantages. Documentation and helpful community are always at hand.
Please note that the framework is just a tool. Even the best solution won’t get results if the person using it doesn’t have the necessary skills. In the end, the success of creating any application is in the hands of the developer.
Write to us
Chief Executive Officer
HR Business Partner
New Business Developer