Symfony Conference 2020

At the weekend from 3. to 4. of December I participated at my first global Symfony Conference. The event was realized online and there were offered a lot of interesting talks about E2E testing, new Javascript features and Domain Driven Design. In this article I want to give an overview of the sessions I participated.

Before I start I want to mention that since October 2020 I’m working for a new company in Munich. Most of their projects are based on Symfony which is a php framework that offers a lot of reusable web components and solutions for regular tasks.

Symfony is my second framework I get to know more closely. During my Full Stack Nanodegree Programm at Udacity we had to work with Flask which is written in Python. Read more about it in this blog post.

My schedule

Day 1

  • Pre-keynote: Contributing to Symfony / Nicolas Grekas
  • Keynote: Bridging Communities via Symfony UX / Fabien Potencier
  • Fabien’s keynote in practice: new JavaScript tools for Symfony / Titouan Galopin
  • Symfony meets Cypress – E2E testing for symfony developers / Ramona Schwering
  • Dependency Injection Demystified / Alexander M. Turek
  • Symfony 0.6 to Symfony 5: What I learned from the framework / Stefan Koopmanschap
  • Keynote: Modern Security with Symfony’s Shiny new Security Component / Ryan Weaver

Day 2

  • Keynote: For the Users – tech, ethics and you / Mark Nottingham
  • Composer 2 / Jordi Boggiano, Nils Adermann
  • The absolute beginner’s guide to Domain Driven Design with Symfony / Neal Brooks
  • The modern and fast HttpClient / Bruno Henrique de Souza
  • How Math, Science and Star Trek Explain the Value of Team Diversity / Fredric Mitchell
  • Keynote II: What’s new in PHP 8.0? / Nikita Popov

In the following I just summarize a few things I kept in mind. Maybe I go more into detail in future blog posts.

Symfony UX

Really interesting was the opening by Fabien Potencier. In his keynote he introduced Symfony UX – a new ecosystem for JavaScript within Symfony applications.

As long as I remember Symfony UX is not just a new way of structuring JS files in the application directory. Symfony UX is based on Stimulus and offers a simple way to integrate little JavaScript controllers in your twig template.

In his talk Fabien demonstrated how easy it is to integrate addOns like Chart.js or Swup and I definitely have to adapt it in upcoming projects.

Cypress

Another really cool talk came from Ramona. She gave an introduction into Cypress – an end-to-end testing tool for web applications. Cypress really caught my attention. Not only because testing seems to be the holy grail in my new company. In the last month I already had the pleasure to work with another end-to-end testing setup hosted on a Jenkins server and basically runs tests for Google Tag Manager configurations. The environment is composed of a client-side web driver (webdriver.io), a proxy server (Selenium), a server-side web driver (ChromeDriver) and JS libraries like Mocha and Chai.

For me it was not that simple to overview this landscape of different technologies. Compared to that setup Cypress seems to be more modern and easy to adapt. Ramona set it up on her live demo quite fast and on the first glance the browser interface that is already included and easy to run is structured really well and its design looks wonderful.

Symfony Recap by Stefan Koopmanschaps

Last but not least I want to mention Stefan Koopmanschaps talk “symfony 0.6 to Symfony 5 – what I learned from the framework.” He was using a really cool map to illustrate his journey with Symfony over the last decades and told us what he had learned during this time.

During his talk quite experienced people were commenting basically saying that they remember things from early Symfony versions as well. I wrote that I started with the latest version 5 in October 2020 and the reaction was really nice because they gave me a warm welcome with comments like “welcome on board Kilian”. Besides that Stefan gave me the feeling that there is time to learn and grow with the framework as he told about all his lessons he learned over the last years. He published a blog post about his talk that I definitely have to read again.