Skip to content

Comment on Taylor Otwell: What 14 Years of Laravel Taught Me About Maintainabilityparent

Comments

Can you expand on this? Was your site pretty static or did it have a lot of interactivity? What were the best things you observed in Astro vs Laravel?

I started with pure HTML, CSS, and JS, then moved to AlpineJS with a Go backend, before eventually migrating to Astro with TypeScript and Tailwind CSS. I have not used a headless CMS, as avoiding one allows me to move faster. So far, upgrading from 2.0 to 5.x has been consistently smooth, unlike the MVC paradigm. Astro follows a folder structure similar to Vue. My sites run in SSR, mainly a vendor and business networking platform. They include quite a bit of interactivity, such as an image slider, and a good deal of logic for complex content rendering from form fields. I also simplified error handling in forms with interactive elements.

Most of my work revolves around forms and SQL (Postgres). After translating designs from Figma and Marvellous, I export with Tailwind, which makes things easier. Still, I wish my UI/UX designer had listened to my struggles and made use of pre-built UI components to save time. Instead, they often executed poorly, rushed features, and changed things on a whim as though it were a toy, which was frustrating. Even so, I managed to overcome that as a sole developer and co-founder.

I did not expect to accumulate with such a large set of custom UI components, ranging from simple to complex logic, that are reused across different parts of the frontend. Managing that in Laravel’s workflow would have been a nightmare. I prefer JSX-like syntax over Blade because it is faster to work with TypeScript for both frontend and backend.

I also do not need to waste time dealing with routing, it was the same problem with Go + Echo, although Astro allows me to add flexibility with packages like micromatch for dynamic routes within middleware. Laravel, of course, has middleware too.

From my experience, I still have not found a convincing reason to adopt traditional MVC or to need that level of abstraction in Laravel.

Astro’s colocation (.astro) is optimised for developer velocity and a component-first mental model.

Despite my aim to strive for perfection, I have been out of work for years and have been affected by permanent hazy vision due to a health-related issue. My wish is to continue building with Astro.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.