Interview with CTO of SensioLabs Deutschland - Andreas Hucks
Our software eZ Platform is, of course, built on the Symfony full-stack framework by SensioLabs, and this year we're excited to have the CTO of SensioLabs Deutschland, Andreas Hucks, speak on the Technical Track at eZ Conference. See lineup of speakers here.
In expectation of eZ Conference just around the corner, on June 5-6, we interviewed Andreas to ask what people can look forward to during SensioLabs' developer workshops, which will be held in parallel to eZ's workshops at eZ Conference on June 5. And of course, we took the opportunity to also ask Andreas about Symfony 4, on-boarding developers who have experience in different frameworks, plus a few other topics.
Q: What was the driving decision behind going with the HTTP Request/Response model instead of the more common MVC architecture when Symfony was invented?
A: The request/response model is the basic foundation for all web frameworks, it allows you to work with the pattern that best fits your application. Symfony Full-Stack out of the box actually uses a form of MVC. But it is also flexible enough to work with other patterns you might want to implement. So it is actually not a question of a specific model, but of being open to all kinds of use cases on the web.
Q: What are some of the challenges SensioLabs must overcome when onboarding developers with a background in different frameworks?
A: Most of the concepts that Symfony has introduced to the PHP world in version 2-things like request/response encapsulation, dependency injection, a modern framework architecture-have become mainstream now in most frameworks and in the PHP world in general. So if the developer in question has a background in another contemporary framework, the barrier of entry is actually not high.
Q: With Symfony 4, the full-stack approach is no longer in the spotlight, marking a huge change in thinking for many developers not used to microservices architectures. What is Sensio's strategy to help these developers change how they approach and solve architectural challenges?
A: Symfony 4 changes the way components and bundles are installed, and Flex gives you the tools to only install what you need. The recommended way to configure your app is now by way of environment variables, and you are able to pre-warm the cache for deployment. All of these features will be just as beneficial for traditional full-stack applications, and making use of them (or not) does not make or break a microservice. Symfony is the full-stack framework it always was, but it's now easier to finely tune it to your needs-which might or might not include microservices. If you have a use case that does not benefit from a microservice architecture-and a good portion of small to mid-sized projects don't-then nothing changes for you. Symfony full-stack is not going away.
Q: Changing from Assetic to Webpack is another big shift for many developers. Do you see a growing need to be a full-stack polyglot to play well with Symfony in the future?
A: Assetic had gone out of use in most projects for some time already. It was removed for a variety of reasons, including performance, but most importantly, because Symfony is a PHP framework and should not make any assumptions about the frontend in a rapidly changing frontend world, where every team has different needs. Note that while Webpack Encore is published under the "Symfony" vendor name, it is not specifically tailored to the Symfony framework, nor indeed to PHP. You can perfectly use it in a Python Flask application for example. As such, Symfony does not really play into the question of whether you should be a polyglot developer or not.
Q: SensioLabs will be holding training alongside eZ's training workshop on June 5 in Cologne, one day before eZ Conference. What can developers look forward to learning in SensioLabs' training?
A: Developers in the workshop will get a hands-on introduction to working with the Symfony 4 framework. Starting with the project setup, we'll cover most of the everyday uses of the framework, from how routing and controllers work, to implementing a simple form and a quick introduction to the dependency injection container. Attendees should be sure to bring their own laptop with a development environment compatible with Symfony 4.
If you have not yet registered for eZ Conference on June 6 or eZ's workshop training on June 5 in Cologne, there's still time. We hope to see you there!