Why I Gave Laravel a Chance as a .NET Developer?
Oh no... PHP!
A lot of developers hate PHP—myself included, at least until recently. Maybe it’s because of the older versions, which weren’t great, or the messy codebases of platforms like WordPress. And let’s not even talk about some of those plugins that take bad programming practices to a whole new level — yes, I’m looking at those single index.php files containing an entire application’s logic.
But PHP has come a long way, especially since version 8, and frameworks like Laravel have made it cool again.
I ended up tolerating PHP after developing a couple of WordPress plugins, but I never considered using it for projects from scratch.
So, why now?
I’m a .NET developer—I work with .NET daily, I’m super comfortable with it, and I expect to keep using it for as long as I can because I love it. But that’s just for backend development. When I need a frontend, I usually go with React/Next.js.
I also like working on side projects in my free time, and while .NET + Next.js is a solid stack, it often feels overly complex — maintaining two codebases, two deployment setups, two pipelines, handling communication and authentication between layers… you get the idea. So, I started exploring alternatives.
I almost went with a full Next.js stack, but thanks to its current hype, Laravel caught my attention. It checked a few important boxes for me:
- ✅ Monolithic: A single codebase, single server, single pipeline.
- ✅ MVC: I’m already familiar with it.
- ✅ Great documentation.
- ✅ Strong community support.
- ✅ Built-in boilerplate for common features.
- ✅ Affordable hosting — a must for side projects.
- ✅ Opportunity to learn a new language (PHP).
Then I discovered Inertia.js, which allows replacing Blade with Vue while keeping the same monolithic architecture, and I was sold.
Was it a good choice?
I’m not ready to give a definitive answer just yet, but I can say I’m really excited about it—and it’s looking like the perfect fit.
Laravel is clean and easy to understand, especially coming from .NET, since many concepts are similar. The documentation covers everything, which makes onboarding smooth.
The framework is also super complete, saving tons of time when bootstrapping a new project. Out of the box, you get authentication, authorization, notifications, emails, queues, storage, and a whole lot more that I still need to explore.
Inertia makes frontend-backend communication stupidly simple, making it effortless to get a SPA up and running with Vue.
- Need to authorize some routes? There’s a middleware for that.
- Need to restrict pages to verified users? There’s a middleware for that.
- Need rate limiting on certain routes? Yep, middleware for that too.
And Eloquent makes querying the database so intuitive that it often feels like reading plain English — even pagination.
Conclusion
I want to give Laravel a full "test drive"—building a side project from start to finish, including deployment—to gain a deeper understanding and form a more realistic opinion.
But so far, it feels great to open my laptop, have a single IDE open, a single repository to work with, no context switching—just code. Since I only get small blocks of free time for my side projects, I really value this simplicity.
PS: Switching from .NET after using it all day is a nice bonus too.