A quick REX on SymfonyWorld Online 2022— Summer Edition
🌍 It’s time to close this SymfonyWorld Online, and boy, has it been a really good moment! Time for a quick REX recap, with the usual parts of such posts (some parts of this post will hence be copied and pasted, cause… “I do enjoy factorization”, y’all know what I mean).
📣 First of all, shouts out to the Symfony Team (again), for organizing this kind of event, as usual. Yeah, shouts out to Javier, Nicolas, Fabien, Anne-Sophie, Alicja, and everyone involved into that event. That was, as usual, a really nice moment!
N.B. I will probably release this blog post, translated in French, for my company, my partner in crime, Néo-Soft.
A couple introductory facts, as usual:
- I did not attend any workshops, even though I really wanted to. But I’ll save that for later.
- I didn’t have the time (so far) to watch all other conferences.
- The event lasted for 4 days: two days for workshops, two days for conferences.
- There were a total of 18 conferences, plus workshops. Enough to get busy with for 4 days. 🥳
- The conference days happened from 10 in the morning (Paris Timezone, CET), to 16, on both days.
- As usual, the typical format was: about 30 minutes per talk, 5–10 minutes for questions, speakers are invited to the chat during all talks, including theirs, where they should answer questions with text, then they go live on visio and answer the remaning questions in the chat. Each conference has a dedicated chat session, broken down in 4 columns, among which: participans, general chat, Q&A.
- The schedule is still visible here.
- There were between 1 and 2 simultaneous conferences, as usual (I always want to watch ALL conferences, including the ones I already saw ^^).
- Tickets are already open for the next Symfony World Online edition, with an early bird entrance price. I’m not working for Symfony, but if your budget is low but you still want to attend, now is the time.
🤟 I, once again this time, had the priviledge and honour to be invited as a speaker for my conference “The Single-Page Application Dilemma”.
Here’s the summary I wrote, if you’re curious about it:
🛰 In the light of a beam of new concepts, paradigms, technological changes, user behaviour changes and social metamorphoses, the way we build lightweight applications like web applications changed.
Going through a standardized program like a browser and using standards like the W3C, IEEE, ISO or MIT provide. Under the shadows of “Big Tech” IT giants like Alphabet, Alibaba, Meta, Netflix, Twitter, LinkedIn, etc.
User habits have changed, lots of things are different now. Brave new world.
As I always say: now your mum is on her smartphone, checking bank accounts at 2 A.M. while your dad is binge-shopping on Wish. Your kids? They’re now sending over tenths of thousands of HTTP requests per day.
🚀 The web is now made of over 100 million servers, connecting over 21 billion IoT/mobile devices. Networks still can’t possibly be trusted, though 6G is being assembled, people expect things to work in planes at Mach 0.8, we started offering quantum computing as a service, and many places and people in the world have better access to smartphones than they have to food and water.
What are they? Why do we sell those? Are they really needed? What’s behind all that hysterization? Who’s in charge? Will you be able to maintain them? At what cost?
🌌 Well. You might be quite surprised about the answers. From transversal design to server-side rendering, from web components to Hotwire, from AJAX to service workers, from business biases to CV-driven development, from Stimulus and Turbo to Symfony UX, from jQuery to SvelteKit, we’re going in for a little trip, so that we finally sit down altogether and take some time to talk about that elephant in the room (which, for once, is *NOT* PHP’s).
☕️ In this talk we will:
• Understand the paradigm shifts we faced over the last two decades
• Decipher the Big Tech roadmaps and strategies and how they affect our choices and egos
• See a little history of the web and its main evolutions
• Unmask the real business reasons why SPA’s are a thing
• See how they’re actually still useful in some cases
• Review the tools we have at disposal to avoid using them
• And finally, open our minds to new trends that need some debunking like this one
🙌 PS: if you’re a frontend developer yourself, I do recommend you take some painkillers before attending the talk. That’s a whole rollercoaster ahead of you. For the best. 😏
OK, now I’m done with shameless self-promotion, let’s talk about the conferences. So, as it’s fresh in memory now, I just want to give a few lines about each talk I saw, or the most of them.
As usual, let’s have the boss lead the way.
Fabien took us through a typical journey of his. Going through a simple bug solving through Blackfire tests for the new Symfony website, to ExpressionLanguage component, then into Twig ExpressionLanguage.
- Which in the end, triggered him starting pushing a new version of Twig, and making Twig.
- Base PHP version would be 8.1 for this new version.
- CamelCase and snake_case search would be added.
- Minor inconsistencies would be fixed.
- So Twig 4 would be released with Symfony 6.2 as a new Component!
(Re)discover the Symfony Console
Reviewing a lot of tips to use the Console Component.
- Auto-completion, how to use and how cool it is!
- A little demo with interactivity premade options (questions, hidden questions, etc.).
- Little funny demo with Fish shell (which I didn’t know about!)
- Customizable progress bars (with emojis XD)
- Tables prepared outputs!
- LockableTrait to use a semaphore to prevent parallel calls.
An SSO with Keycloak and Symfony
A trip through OICD, Keycloak, SSO.
A demo with a lot of code on how to use all Keycloack API and UI to configure and use external authentication authority.
I’m really interested in that, as I was recently challenged with SSO and OICD. I need to dig deeper into that.
Writing Testable Symfony Apps
Reviewing the test pyramid.
- A simple example on a Controller.
- How to not end up with a lot of tests on a small group of classes.
- Small tips: don’t extend framework classes, use multiple test types, extract business logic from infrastructure and use small immutable classes.
- Anna has a great YouTube channel, check it out! :)
API Platform, third act.
Then, two talks about API Platform at the same time, so I had to choose one and save the other one for later on with replay.
- Mathias reviewed a short history of how API Platform was born, back in 2015!
- I haven’t used API Platform recently enough to fully realize all those updates’ importance (like operations becoming PHP objects, when using PHP 8.1+, enabling subresources, or the data providers and persisters updates).
- This is probably the tenth API Platform conference I’ve been attending.
Developing a decentralised web application with Symfony and API Platform
Kevin reminded us how much we are dependent from MAAMA and super large companies worldwide. As opposed to Tim Berners-Lee’s vision and the first years of the web. Actually, the talk wasn’t really about API Platform this time.
He went back to explaining that two divergent of Web 3.0 were at stake, one of them being more desirable than the other.
And he introduced Solid, a specification that lets people store their data securely in decentralised data stores called Pods.
What’s new in Symfony 6.1?
- Nicolas talked about the upgrade path. Try to do once per month composer update symfony/*.
- Upgrade each minor every 6 months.
- 4.4+ now have support for PHP 8.0, 8.1 and 8.2 (so far). Attributes, enums, etc.
- A lot of deprecated code has been removed. A little more strong typing, signatures, etc. Thanks to PHP’s new ways to do so.
- Symfony 6.1 now requires PHP 8.1 and 6.2 requires 8.2. Easy to remember ^^.
- Lots of performance improvements.
Yeah, I had to attend my own conference to talk to people in the chat, so… You already know everything about it! ;)
When you get lost in API testing
Paula uses API Platform a lot, so she goes into demonstrating how she uses it everyday and test the projets her company works on.
Of course, functional testing with API is easier as there’s no interface.
Paula goes through database reset and filling, a common problematic shared with testing cases.
Testing APIs is not a thing I had to do so far, so thank you, Paula! It was also great to finally see you on screen, after missing this conference at Forum PHP a couple months ago!
Symfony and open source at the service of society
Titouan told us about what he founded over the years.
Notably from COVID emergency for organisations to political platforms to help partees. Platforms to help Ukraine as well.
How to build apps in the middle of a crisis.
And how to use software at the service of society and people’s needs. Insightful, as always, and a great opportunity to take some time to think about what we do with software.
Controlling Smart Light Bulbs with Symfony Console and PHP
Sherri showed how to control Philips Hue bridge and smart bulbs, which, admit it, is kinda cool.
How to fork non-working, old open source projects, fix them, bring PRs back to help assist, then use them.
She went through explaining how those work, how to find network elements, authenticate, and then send commands through!
Needless to say, I thought this was the coolest talk to attend (like I always enjoy talks that are a little out of paved ways). And Sherri is such a good speaker!
Symfony UX: New Components, Live Twig & More Updates!
Finally, Ryan’s talk, as usual, was expected by everyone. The coolest guy is always here to add some cool stuff. And we’re just like kids at the park.
Kicking off with awesome news, the launch of https://ux.symfony.com/, which helps building examples with Symfony UX. An absolutely perfect initiative!
The super expected demo of live components is a blast!
IMO Ryan made the UX component use demystified a lot with that talk, demonstrating how easy things are, and how far the component has gone. Closing the last talk with so many opportunities was perfect!
✔️ I really enjoyed every single conference I attended, this year, again. Now is the time to check the other ones, so that I’ll know if I was right or wrong putting them in third place. We all make mistakes.
I already enjoyed A LOT the new speakers I discovered, all those new concepts… I have a ton of articles to read and I subscribed to a lot of new Twitter accounts and YouTube channels.
I’ll definitely give it a go! I’ll be there next time again! And needless to say, I’ll try to have another conference be selected once again. Actually, by the time your read this, I’m pretty sure I’ll already have submitted 2 new conference topics at least. 😘
Also, I got a shiny * * * badge, and that’s freakin’ awesome. 😍
Massive, last thanks to Nicolas Grekas for his unyielding organizer talent, especially with the videos.
🤙 The next Symfony World Online Edition will happen in six months.
And I hope I’ll meet you there.
See you in space.