During the weekend of December 3rd to 4th, I participated in my first global Symfony Conference. The event was held online, and it featured many fascinating talks on E2E testing, new JavaScript features, and Domain Driven Design. In this article, I will provide an overview of the sessions I attended.
Before diving in, I’d like to mention that since October 2020, I’ve been working at a new company in Munich. Most of their projects are based on Symfony, a PHP framework that offers a wide range of reusable web components and solutions for common tasks.
Symfony is the second framework I’ve gotten to know more closely. During my Full Stack Nanodegree Program at Udacity, we worked with Flask, which is written in Python. You can read more about that experience 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
Below, I’ll briefly summarize a few key takeaways that stood out to me. I may go into more detail in future blog posts.
Symfony UX
One particularly interesting talk was the opening by Fabien Potencier. In his keynote, he introduced Symfony UX—a new ecosystem for JavaScript in Symfony applications.
As far as I can remember, Symfony UX is more than just a new way of structuring JavaScript files within the application directory. Symfony UX is built on Stimulus and provides an easy way to integrate small JavaScript controllers into your Twig templates.
In his talk, Fabien demonstrated how simple it is to integrate add-ons like Chart.js or Swup. I’m definitely planning to incorporate these into upcoming projects.
Cypress
Another fascinating talk was by Ramona, who gave an introduction to Cypress—an end-to-end testing tool for web applications. Cypress really caught my attention, not only because testing is crucial in my new company but also because, in the past month, I’ve had the opportunity to work with another end-to-end testing setup hosted on a Jenkins server. This setup runs tests for Google Tag Manager configurations and includes a client-side web driver (webdriver.io), a proxy server (Selenium), a server-side web driver (ChromeDriver), and JavaScript libraries like Mocha and Chai.
For me, understanding this landscape of different technologies was challenging. In contrast, Cypress seems more modern and easier to set up. Ramona set it up quickly during her live demo, and the browser interface, which is already included and easy to use, is well-structured and visually appealing.
Symfony Recap by Stefan Koopmanschap
Last but not least, I’d like to mention Stefan Koopmanschap’s talk, titled “Symfony 0.6 to Symfony 5 – What I Learned from the Framework”. He used a really cool map to illustrate his journey with Symfony over the years and shared the lessons he’s learned along the way.
During his talk, many experienced Symfony users shared their memories of earlier Symfony versions. I mentioned that I started with version 5 in October 2020, and the response was incredibly welcoming, with comments like “Welcome on board, Kilian!” In addition, Stefan’s talk gave me the sense that there’s plenty of time to learn and grow with the framework. He also published a blog post about his talk, which I definitely need to revisit.