The software engineering team at Signal uses the Symfony framework quite extensively to build websites, web applications and APIs for our clients. Symfony's benefits are numerous: it’s robust, extendable, safe, open source and has a very supportive online community.
As Signal developers, we're always keeping our eye out for new opportunities to expand our skills. So when Symfony announced the release of versions 3.4 and 4.0, I was eager to see what would be in store, as were my colleagues Sev and Panos.
So off to London we went, to take part in the Symfony Live conference - along with over 300 fellow engineers, developers and IT professionals.
An enthusiastic start
At the crack of dawn, the three of us made our way from Edinburgh to London. On arrival, we of course took advantage of all the free conference goodies such as badges, stickers and t-shirts and finger-licking good food.
Once we were fully loaded up with branded swag, we were herded into the main conference room to hear from Fabien Potencier (creator of Symfony) himself. It was clear that Fabien has not lost his enthusiasm for programming, as he got carried away demonstrating how to get started with Symfony Flex. It wasn’t long till someone had to gently take away the mic!
As logically-minded people, we of course had a strategy to ensure that, between us, we covered all presentations… and yes, it did involve a very detailed spreadsheet.
A wide range of topics were covered during the day, from useful technical tools, to new features within the framework - and most importantly, advice on how we can improve our development process and the quality of our projects.
Key learnings from the event
We've highlighted three presentations below that we found particularly interesting (with links to the presentation decks for those who want to learn more).
- Discover the Serializer Component: this talk was about how to normalise and encode data. We discovered the power of the Symfony Serializer, which means we don’t need to use a third party library like the JMSSerializerBundle anymore.
- API Platform and Symfony: API platform allows you to create an API really easily and quickly. It includes some great features like nice documentation (using swagger UI), and tools to build a React admin in a few minutes.
- Behat Best Practices With Symfony: Conversation is key. How many times have meetings and discussions about how a particular feature is supposed to behave gone round in circles? This is where 'Behaviour Driven Development' can make that process more efficient and ensure the final product meets our client's requirements. We learnt about the integration of Behat and Mink for Symfony projects, which is a hot topic in our team.
But one of the main take home points from the conference was that Symfony 4.0 has a dramatically smaller codebase (roughly 70% fewer lines of code) than previous versions. Their method for achieving this is to start with a skeleton that contains the bare minimum number of bundles to get you going.
Applying what we learnt
Symfony Live was a fantastic opportunity to learn and share feedback and experiences. Symfony has a great online community, and this event was a great opportunity to put faces to those well known names.
Now that we're back in Edinburgh, we're keen to take these learnings and apply them to current and future projects.
Thanks to Severin Bruhat and Panagiotis Filiotis who also contributed to this article.