2020 Tech Radar
The 2020 Tech Radar is a list of web (and related) technologies that have caught my eye, and that I'm hoping to give more attention to this year. I started this series with the 2019 Tech Radar and the only one I touched from that list is Svelte. All the others have dropped off, but many new ones have joined.
It's a more sustainable list this time, especially since I'm already using some of this tech in my projects.
Let's begin.
Alpine.js
Alpine.js came out of the left field in 2019 and I've been quick to adopt it. I'm currently using it in several projects and I'll be using it in everything that needs interactions without the full power of Vue.
Livewire
Livewire is the amazing Laravel front-end framework that brings a SPA-like feel to your monolith Laravel apps, and lets you write more PHP code and less JS. I've been circling the wagons around it but I feel like this year is when I will start integrating it into my projects, especially with v1.0 having been officially tagged recently.
I made a little demo for myself using Livewire, with the goal of finding out how it can be used to filter a list of items in real time. Here's the repo if you're interested.
Inertia
Inertia is the other side of the coin in terms of Laravel front-end frameworks. While Livewire focuses on "more PHP, less JS", Inertia is the opposite: "more JS, less PHP", and uses the back-end framework (like Laravel) as a sort of impromptu API, but then allows you to build the front-end as a SPA within the same codebase. A great concept, and something that I would have used heavily a couple years ago when I was more into the SPA camp.
I'm more in favor of the monolith these days, which makes Inertia less suited for my requirements, but if ever need more complex SPA-like behavior, I'll be sure to reach for it.
Svelte
I'm happy to say that I have finally started using Svelte for a couple of small experiments. I love the simplicity of it and how little boilerplate it has, even compared to Vue (which was pretty simple already).
I am seriously considering replacing Vue with Svelte, but my main concerns are integrating it with Laravel and Electron, so we'll see how that goes.
Building a Todo app was stupid simple, so check out the repo if you're interested. The best part about the Todo demo is that I was able to integrate TailwindCSS with Rollup and SASS/SCSS. This will provide a very solid starter foundation for future mini projects.
Then of course there's Sapper, the Svelte batteries-included framework. This brings it more in line with Vue and React but still compiles down to a smaller size, and is faster to render stuff.
The adoption rate for Svelte in the tech community may be puny compared to Vue/React but it's a fabulous piece of technology and I hope it carves itself a nice piece of the market. I, for one, will be using it more and more going forward.
SVG
Now that's pretty random isn't it? Why SVG? It's not exactly a branded technology. Well, lately I've become more interested in how SVG works and I'm starting to get it (barely). Tools such as Blobmaker and Waves are fascinating, and I'd like to build a similar utility myself.
I actually started building an SVG tool with Svelte but I'm not sure yet what direction it will take, and there are other priorities on my long list. One thing's certain: I will continue to explore the idea of generating SVG images programatically.
Electron
Building an app with Electron is not my first rodeo and hopefully won't be my last. The most complex app I made with Electron and Vue is a crypto portfolio. More Electron apps are coming out each day and for good reason: it allows JavaScript developers to build cross-platform apps using their favorite framework.
I have several ideas for offline desktop apps that would benefit enormously from Electron. While I currently have more Vue experience, I am fairly certain my next Electron app will be made with Svelte.
SwiftUI
I mentioned my interest in SwiftUI last year too, and I'm including it here because it still holds my attention. Realistically, I will probably not have time to dabble.
Crystal
Almost forgot this one but I've become tentatively interested in Crystal after hearing about it on No Plans To Merge. Seems to be a great language for building command line applications. I wish I had a use-case for it at the moment but I don't, so I'll shelve it under "cool stuff that I may or may not use at some point".
Conclusion
If there's a pattern here, it's that I am fascinated by way more technologies than I can give proper attention to. The good news is that in 2020 I've already used about half of these already, and there's still probably room for more.
Web tech is in constant flux, which is both a blessing and a curse for us developers. Personally I see it as a good thing, especially when it keeps us on our toes and makes us come back for more.