DEV Community

Discussion on: Laravel is awesome! 10 reasons why I love Laravel

Collapse
 
marcusatlocalhost profile image
Marcus

I evaluated the backpack admin interface and statamic cms for a while and this was my introduction to laravel.
While I can share the excitement and can confirm how well designed the framework is, I decided against both products (but not completely against laravel).

I love that I can use Collection and Blade independently. Collection is awesome, also their Helpers ar rally nice.

What I criticize is:
The convenience comes at a high cost. There is so much magic happening under the hood, if you want to debug that, you have to really understand PHP and OOP, else you step through 5000 files and stare at code you have no idea how you got there.

Another point that threw me off was the resources a CMS like statamic needed (and I think that's because of laravel) - The execution time and memory consumption for a vanilla project was so high - what if you have really heavy things to lift?

1311 ms Total execution time (Statamic) vs 339 ms (Kirby)
24 MB (Statamic) vs 8 MB (Kirby) memory consumption

Talking about memory - the vendor folder gets huge (carbon is thousands of files) and at some point Composer always ran out of memory if I wanted to pull some library in. Again I ran 2 full laravel apps from one root - but that's the promise right?
I don't know how this would have performed in the real world - maybe a bit better because of more optimized server settings than my local dev machine, but still.

And a last point - I follow the php ugly podcast and their grievance with laravel over a long time was the weird update cycles and the removal of functionality. If you run a business on laravel you need to know your stuff and all the internals to fix stuff after major updates.

Again - Laravel is nice - but it's more hype driven development for people who tweak their VS Code for hours so it looks nice and then write 3 lines of code to call an api. Beginners should not fall for this. They need to know the basics.

Cheers.

Collapse
 
ericchapman profile image
Eric The Coder

You make good points but in my opinion you can apply your points to all battery included framework. Rails and Django face the same challenges. Only micro framework like Express or Flask can boast of being lightweight but you have to do many thing manually or use external packages. At this point it's a personal preference. But for my part I prefer battery included framework. I am a freelancer and time is money.

As for Laravel update cycle. Laravel have now 2 officials schedule update per year with plan LTS release update. Much easier to follow now.

And I fully agree with you on beginner must know the basic. That also apply to all framework.

Collapse
 
marcusatlocalhost profile image
Marcus

Good points as well. If one is familiar with a framework, quick results are the selling point.
And if you hand over your work, the client profits from a well documented framework as base instead if you come up with your own. That's a plus too.
Do you maintain some of your apps?
I think that's were it comes down to in development in general. Writing a new app with the latest tech is fun. But maintaining that once new app, 5 years later is a lot of pain, especially if so much is abstracted away. (JS tooling shows that, trying to add functionality to a project you glued together with a grunt task 5 years ago is a job nobody wants to do, contrary to add some code to a project you built 15 years ago with jQuery in a single file).

Anyway - I definitely keep an eye on that (and it's hard to not do it ^^)

Thread Thread
 
deleugyn profile image
Marco Aurélio Deleu

Maintaining a Laravel app in the long term isn't hard at all. People complain about the releases, but it's been the same release cycle for 9 years. It brings new features fast and it always has a migration path to follow. I can not remember a time where an upgrade had 2 major breaking points in the same release.