Symfony Flex set to enable RAD (Rapid Application Development)

The Symfony project produces both decoupled components as well as a full stack PHP framework based on these components. The components have been a success with wide adoption and so has the framework, bringing structure that scales to enterprise complexity. What Symfony has been lacking is tooling for Rapid Application Development (RAD), with minimal overhead for prototyping, etc.

Many developers have found the overhead of working with the Symfony full stack framework frustrating for simple data pumps and other applications. And quite a few developers have already been using PHP microframeworks like Silex and Zend Expressive. Also in 2015 the Symfony microkernel was made available to the main project itself.

The microkernel and Silex are great for simplifying and creating simple web backends quickly, but they gave little "magic" in terms of database access and so forth. Laravel, a framework using some Symfony components, on the other hand has been gaining ground exactly because of this.

Laravel is a very opinionated framework that enables high velocity development. This has helped to make it the most popular PHP framework on the planet in 2016.

Fabpot: "Make Symfony Great Again"

The Symfony team has acknowledged this gap in their offering. And at SymfonyCon Berlin 2016 project lead Fabien Potencier announced what is known as Symfony Flex. Details are not precise, as I was not attending conference, but the tag line for Symfony Flex is: "Composition over Inheritance"

In essence it seems that Flex will allow for zero-config installation of Bundles. This is done using a Composer plugin. You will simply install packages with Composer and if the Bundle supports it, Composer will also author the necessary integration code and configuration.

Initially the amount of Symfony Flex support will be limited, but if the community picks it up it can have a significant impact on future Symfony projects. Flex will also come with a list of preferred packages, that will make selecting application components easier for those with limited experience in the ecosystem.

It's also worth noting that despite the naming clash, Symfony Flex has nothing to do with Apache/Adobe Flex. Any technology is only as good it's adoption rate, but the initial reactions from the community were positive:

I'm sooo excited about Flex. Can't wait to start composing my own Symfony projects. I've been doing it manually so far :D #SymfonyCon — Jakub Zalas (@jakub_zalas) December 2, 2016

Excited about @fabpot's Symfony Flex. Compose apps from components in microservices-like approach. Can't wait to play with it. #SymfonyCon — Denis Brumann (@dbrumann) December 2, 2016

Symfony Flex will no doubt cause some controversy and it's not for everybody and not for everything. But it's yet another move that helps the project stay relevant by pushing forward innovation and lowering the barrier of using Symfony and PHP in general. Symfony Flex will be available in early 2017.

Written by Jani Tarvainen on Saturday December 3, 2016

Permalink -