What is Symfony and Why EOL of Drupal Versions Depend on Symfony?
Drupal Association in a press release stated Drupal version 8’s End of Life (EOL) to be this November( 2021). This coincides with Symfony 3’s EOL. Drupal Association has already announced EOL of the recently released Drupal 9. EOL of Drupal 9 will be in 2023 to concur with that of Symfony 4.4.
But why this dependency is a valid question that can come to a client’s mind. Both Drupal and Symfony are free and open source, written in PHP and used to build websites. Here the similarity ends.
How is Symfony Different from Drupal?
The major difference is Drupal is a Web Content Management System, while Symfony is a web application framework.
A PHP web application framework, Symfony has a library of reusable PHP components. Licensed under MIT, it was published as a free software first in October of 2005.
The latest stable version of Symfony 5.2.6 was released in the second quarter of this year, 2021. Fabien Potencier, founder of Symfony created Symfony as an open source framework to create web applications.
Framework and CMS
There are a plethora of free website builders. But the range of customizable options, security, features, and scalability is very limited. It cannot be compared to one built using a Content Management System or an application framework. Requirements differ starkly and therefore the technical expertise, security and investment.
Content Management System uses features built into the Core and modules. It enriches the design and development of websites and web applications. These modules can even be third party APIs which enhance the functionality according to needs.
A Framework usually consists of a library of reusable components and tools. These are used to design a website or application from scratch. Here technical expertise and time to build plays a big role. Sites made using framework and CMS require maintenance and constant feature enhancement.
Why EOL of Drupal Versions Depend on Symfony?
Drupal 8 in its core library has a lot of reusable Symfony components. Symfony comprises a major chunk of Drupal’s third party dependency. Drupal 8’s end of life thus coincides with Symfony 3’s falling in November 2021. Drupal 9, the new version is updated to Symfony 4.4.
Drupal had built its core without using third parties from its conception till Drupal 7. Why did Drupal then break off from the practice of developing all its Core features?
Drupal replaced some inbuilt features in the core of version 8 and used third party components like Symfony. In exchange Drupal gains time and manpower to enhance and develop new features. Symfony is used by many sites and has the backing of a strong community like Drupal.
Symfony provides tools for the common and recurring tasks needed for building an application. By taking advantage of that a Drupalist can use that time to build new features. Effort that need not be duplicated by Drupal developers, writing and maintaining the same code done by Symfony.
Another advantage is that Symfony respects existing standards of PHP and works within that framework. Symfony also allows use of certain software building blocks like translations management, dependency injector without use of the entire framework. So it is a win-win, where like a two stranded rope, Drupal stays updated along with Symfony.
Symfony minor updates occur every 6 months and major releases every 2 years. Therefore Drupal users can also expect major version changes to come out every alternate year.