Hybridly — An Inertia Alternative
I'm a long time user of Inertia, adopting it for the majority of my Laravel projects. I distinctly remember when Inertia first surfaced introducing itself as the "modern monolith", with the idea of allowing me to build single-page apps without the need to support an API layer. It became a game-changer for the small team I work with. Faster iteration, shipping more features quicker and not having to worry about this extra layer to support building a frontend outside of Blade.
Whilst I do work as a full-stack developer, I'm definitely more of a frontend minded one. I usually spend most of my time working with Vue, Typescript and Tailwind where I can. Whilst capable of building out a backend with an API to power a Vue frontend, I always felt it was cumbersome and involved a lot more plumbing and maintenance, especially for projects on a smaller scale. Inertia ultimately unlocked the door to be able to move from backend to frontend much faster than anything else I'd used before.
One of the best parts of Inertia is that it's footprint within your app is almost non-existent. It's not like you're introducing this replacement layer for the API you'd usually build that adds complexity and something unfamiliar to the codebase. It is instead just a middleware to share data globally throughout your frontend, a blade directive in your root view, and a new type of response from the controllers you'd usually return your blade views in to pass data straight through to your Vue components as regular props, and that is pretty much it.
Hello Hybridly
So what is Hybridly, and why are you just talking about Inertia? Good question.
Inertia's support slowed a lot last year, with an increasing issue count on the repo and some uncertainty around future maintenance of the project. I had no issues with that, Jonathan Reinink is currently shipping great things over at Tailwind, and as I mentioned, the footprint of Inertia within your app is so small, it was never really a concern for me, but as with every third-party package you choose to adopt in a project, especially one that is handed off to other teams, it's a consideration.
Hybridly is billed as a fork of Inertia, but with a difference in philosophy and the resulting developer experience. I think that's an understatement.
- Full typescript support
- Vite integration
- Authorization
- Layout support in templates
- Infinite scroll support
- Internationalization support
- Built-in
route
utils with typescript support - Built-in
can
utils with typescript support - Vue DevTools integration
- Persistent layout properties
It's worth taking a look at the full comparison table with Inertia here to understand how much it offers over Inertia itself and the differences in approach.
For me, it feels like I've given Enzo a list of all the pitfalls that I've found when using Inertia across the last few projects and he's come back with something that has addressed almost all of them and more. On top of all that, the roadmap details incoming dialog support, SSR with Vite and preloading requests, which adds to the excitement of adopting Hybridly for future projects.
If you're a Typescript, Vue and Vite user already familiar with Inertia, I'd recommend giving it a spin and see how much of a DX boost you see in using it over Inertia.