July 28, 2023
Happy Cog at Laracon 2023
by Rick Wiltsie, a Software Engineer at Happy Cog
In use by over 40,000 companies, the Laravel PHP framework has become the gold standard for PHP applications. With its solid functional foundation, and robust offerings of community packages, it has supercharged workflow and website development. Happy Cog has built many projects in Laravel and has significant expertise implementing it. And there’s no better place to experience and learn about the framework’s upcoming plans than Laravel’s own conference, Laracon. After taking a few years off from US in-person gatherings, Laracon 2023 took place in Nashville TN with over 800 Laravel Developers (Laravelians? Laravites? A flock of Laravi?) attending. Fortunately for me, I was one of them. Videos of the conference should be up within a few weeks of this post, and there isn’t a bad talk in the bunch. Your mileage will vary based on your interests and skills, but so many of the lessons taught can apply across tech stacks. Have a look when they drop. It would be hard to not learn something from them. There was more to learn than I have the ability to absorb, but I’d like to share a few of the things that left an impact on me in one way or another.
1. Knowledge is a Curse
Zuzana Kunckova gave a wonderful talk about communication in our industry and how to be helpful to our peers, and juniors. Much of it was centered around unhelpful Stack Overflow advice, and the negative impact it can have on developers. Happy Cog’s own Director of Project Operations, Sarah Carr, gave a presentation not long ago that hits on many of the same notes, particularly the focus on empathy: “Better Together: Improving Collaboration Through Empathy” Along with that splash of kindness, Zuzana talked about demystifying the subject matter when teaching. Service containers were used as an example of a difficult concept to teach. The full explanation involves complicated language like “Dependency Injection”, which isn’t immediately helpful to someone new to the concept. Sometimes it’s important to simplify a subject and find common language. Don’t take for granted what someone knows or doesn’t know.
2. Enterprise Laravel
This presentation from Matt Stauffer looked at Laravel from an enterprise perspective, and how to make decisions that make that high level development smoother. The thing that caught my attention the most was to stick to Laravel conventions whenever possible. There’s a multitude of benefits such as fewer decisions, easier onboarding, and less time spent documenting. A particularly fun moment came when Matt brought up technical debt management strategy, and how stakeholders need to support and respect it in the same way they do the cool new features they want. This led to the loudest applause of the weekend. He could have dropped the mic and walked off stage a hero. While we’ve seen these kinds of techniques succeed on enterprise level projects in the past, many also apply to smaller projects as well. There are lessons to be found here for projects of all sizes, and developers of all skill levels. Here are his presentation slides.
3. Livewire 3
I’ve worked with Laravel Livewire in the past but never fully took to it. Given its popularity though, I’ve been eager to give it another try. After seeing Caleb Porzio demonstrating Livewire 3, that moment cannot get here soon enough. Originally, Livewire would send an HTTP request with each model change – potentially leading to performance concerns. In the new version these requests are batched together. Children component properties can directly connect to the parent properties and react accordingly to changes, eliminating much of the need for listeners and dispatch events. There is now a handy $parent variable to reference that parent component as well. This only scratches the surface of what it can do, and I am excited to tear into it in its entirety.
4. Laravel Precognition
Perhaps the most practical presentation of them all, Tim MacDonald walked through the process of building an excellent validation system using Laravel Precognition. What works for one field may not be appropriate for another. There are times when client-side validation is preferred, and others where only back-end validation makes sense. Tim went through the “whys” and “hows” of each using a set of rules to grade the effectiveness of a demonstration form. Out of everything I learned, this is what I’m most excited to put into practice immediately. Precognition or not, there is incredible insight here into what a real user wants from their validation, and that’s what’s most important. There is so much for developers to apply to their work from this talk, and taking even one of the many gems from this will benefit your development.
5. Quick Thoughts
- The Laravel Prompts package by Jess Archer will change how Laravel is used in the terminal. Who will be the first to make a Zork-like game with it? I’m sure thinking about it.
- NativePHP was unveiled by Marcel Pociot, showing Laravel in an Electron wrapper, and the ease of porting it. The conference host asked Marcel a question that was on everyone’s mind: “Is it mobile friendly yet?”. It’s not. NativePHP seems awesome, but I’m excited for a future where it has mobile support.
- I’m very interested in the new snapshots feature in PEST 2.9. I’m concerned about how to integrate that into a CI/CD pipeline (for example: how to determine the canonical snapshot and update it), but beyond that hurdle there are many use cases for such a feature.
6. The Journey Ends
As far as great experiences go, this conference is up there. It’s easy to get closed into your own world of development and lose sight of new experiences. We find a comfortable place, and comfort is, well, stagnant. Laracon has broadened my horizons and reinvigorated my appreciation for the framework. When the videos are eventually released, I hope you can replicate some of my experience and excitement through them, and find something that strengthens and emboldens your own development.