Blog: PHP

2020: refreshing the life of a long term developer

Published

2020 has been incredibly refreshing. Let’s also be blunt, it’s been completely shit for so many too – including isolation from family and months of Stage 4 restrictions in Melbourne. But now is a time to reflect, and I want to look at the positives of the year.

2020 has been a year of change – full of learning new skills to add to my developer toolbelt. I’ve been a developer for many years now, but felt at times as if I wasn’t being as efficient and intelligent with processes and tools. 2020 showed me that was definitely true, as there has been so much time spent learning new things.

The big one has been Laravel. I started playing Laravel more seriously when version 7 was released, and started building my first project – one that not only took advantage of Laravel, but also learning another new skill: a Vue single page application (SPA), but more on that later.

Looking back, I’m a little gobsmacked I hadn’t spent the time on-boarding my skills to a framework like Laravel earlier – it has been the biggest breath of fresh air. After some incredibly negative experiences with other open-source communities, the Laravel community appears to be full of support, innovation and a true love for development. And working in Laravel makes me so incredibly happy – and efficient. The things that used to be manual, laborious or frustrating are just so effortless, and leave me more time to build something brilliant.

While Laravel appears an overwhelming prospect at the start, taking it apart in to bite-size pieces, joining in on virtual conferences and following some incredibly talented folk in Twitter has made the learning process incredibly engaging and rewarding.

Rewarding how? Well… how about:

  • The efficiency and ease of use of Eloquent
  • Superb notifications including broadcasting and mailables
  • Signed routes – wow these are amazing
  • Media uploads and file management with ease

Some of these have been such frustrating areas in the past: and now they feel just effortless and simple. And that makes me so happy.

That’s just what I need for 2021: to be a happy, engaged and efficient developer. And I feel I’ll be off to a cracking start.

For many years, I used jQuery. We all did, didn’t we? But more recently, Vue has been my go-to for UI interactions. And 2020 was my first single page application in Vue. While the on-boarding was slow, I also wanted to make sure I was following best practices where possible, applicable and necessary. And this in turn has led to more happiness and efficiency, including:

  • Code chunking for caching optimisations at deployment
  • Vue Router UI niceties
  • Vuex in places where it is logical
  • Policies for both the back end and mirrored on the front end
  • Implementing Laravel Websockets for real-time UI updates from the backend
  • Effortless authentication with Laravel Sanctum
  • Falling in love with Tailwind CSS
  • Faster email testing with HELO
  • Introduce more robust testing of code
  • Deployment through branches in my private repo, with superb server management using Laravel Forge

But the bottom line: I’ve been so happy working on this project (and still more to go: it’s a big-un). I’ve built a Vue single page application that is fast, performant, reliable, secure and giving my client such pleasure to test and use.

More recently, as 2020 started to wrap up, development started on another project, built on Laravel. But this time, a single page application wasn’t the right fit. I had been watching Laravel Jetstream with so much enthusiasm, but felt it was a bit of overkill for this project. So then looked at InertiaJS, also in Jetstream, but still not quite right. So on to Laravel Livewire (the “other” way to use Jetstream) and this is where it felt right for this particular project. Livewire meant that I didn’t need to build an explicit API for the public-facing website to talk to the backend, and could still provide a gorgeous user experience with preloading and route updates with ease. And while Vue could have done this, it also wasn’t needed, so AlpineJS came to play too.

But what this has really shown me is that there are some incredible tools in the Laravel ecosystem – and that not every tool is right for every project. Having been exposed to Vue for years, AlpineJS was a very natural translation. And form working with Laravel and Blade templates, Livewire was a very natural adjustment, especially for the template side of things.

I want to be efficient as a developer. I want to build awesome things that are magic for my clients. And that means being flexible and adaptable for different project needs. But the best bit – which makes me happy too – is that I have choices within the ecosystem to suit different project requirements, scales and technology stacks, all of which are backed by such a passionate and enthusiastic community.

So while InertiaJS and Laravel Jetstream weren’t right for this latest specific project, they are perfect for the next pet project of mine. And even though, as I write this, I am on leave from the day job, I think I’ll get started anyway.

Because these tools have made me happy.

And efficient.

And brought a refreshing new life to my time as a developer.

Bring on 2021. It’s going to be brilliant.

Blog

View all
PHP

2020: refreshing the life of a long term developer

2020 has been incredibly refreshing. Let’s also be blunt, it’s been completely shit for so many too – including isolation from family and months of Stage...

Continue reading...

Game

Astro's Playroom

Astro’s Playroom. It’s free, and comes pre-installed on your PS5. It is basically a tech demo wrapped up in a platformer. And a pretty fun platformer too. And...

Continue reading...

PHP

Creating a TinyMCE addon for Statamic 3

It’s no secret: I do love TinyMCE. It provides an excellent authoring experience, that produces clean and reliable HTML, and can easily be customised and extended...

Continue reading...

Life

Installing and review of the Sonos Wall Mount with the Sonos One SL

I’m new to the Sonos ecosystem, and after setting up the Sonos Arc and Sub combination, I wanted more, so splurged on a pair of One SL speakers for surrounds....

Continue reading...

I am the Development Director (and co-owner) at Mity Digital, a Melbourne-based digital agency specialising in responsive web design, custom web development and graphic design.
Mity Digital