Summary
I’ve used Laravel to build a side-project over the past five years. I found myself having to duplicate everything, from authentication to authorization to form validation on both the front-end and the back-end. Instead of having to build out an explicit REST or GraphQL API, it’s just all happening in PHP.
Laravel applications have been rated lower than alternatives when it comes to accessibility. The quality of front-end solutions does not match that of JavaScript frameworks… yet. The ability to compose UI with HTML-like syntax has been an absolute game-changer.
For example, you have to be super careful when composing Livewire components. In some cases, you need to define a unique key. This is a solvable problem, but it’s a deal breaker for the authoring experience. You really have to do the work yourself to learn about all the edge cases and acceptable solutions.
If I find dozens of hours of free time, I’m going to find a way to compile a real Laravel app into WASM. I would pay someone American Dollars to not have to format a Blade file manually ever again. I think there’s an enormous amount of friction when it comes to piecing everything together in the JavaScript ecosystem.
If you’re running PHP, you�’ve probably been using Node.js as a development server. Those things will break in production when you deploy to Cloudflare Workers. Build an opinionated, battery-packed Laravelesque framework on top of a relatively thin layer that handles routing.
Do the (good) things TypeScript offers for the ecosystem, but in the backend Laravel and Rails world. There’s a huge opportunity for someone to create the next “Headless UI” for server-rendered frameworks like Laravel. Do it.