DEV Community

Cover image for Laravel is awesome! 10 reasons why I love Laravel
Eric The Coder
Eric The Coder

Posted on

Laravel is awesome! 10 reasons why I love Laravel

In the last six months I have tried several programming languages ​​and frameworks. I have done projects with Django, Laravel, Rails, Vue and React.

I loved all of this framework. They are all mature and all do the job. On the other hand, one of these frameworks seduced me a little more than the others ... Laravel.

Here are the 10 reasons why I sincerely believe that Laravel is great!

  1. PHP is awesome! Yes. Those who claim the opposite sorry to say but are ignorant. They ignore that PHP 3.0 has long been obsolete and that PHP 7 is now a complete OOP language, relatively fast, stable and very pleasant to work with.

  2. The Laravel framework is precisely built in OOP with the latest PHP standards. Laravel's syntax is easy, clear, and elegant.

  3. With Laravel there is almost no boilerplate code to write. Compared to several other frameworks, Laravel comes with a full starter configuration. Starting a new project is easy and super fast.

  4. There are a lot of third party Laravel packages. I also find that the packages are regularly updated and ready for production.

  5. The creators of Laravel have created an eco-system of pro products that complements Laravel in a wonderful way. Sure these products have to be paid for but in return they are now ready for full scale production and can save you hundreds of hours of development.

  6. With Laravel it is also possible to create fullstack applications, ie backend but also frontend. The code remains executed on the server but certain products like Livewire allow to develop interactive UI like React but in pure PHP, simple and easy and without a line of Javascript.

  7. Laravel also supports the creation of UI components. It is therefore possible to integrate already pre-developed, turnkey widgets into your UI which can be installed in less than a minute and always in pure PHP and without javascript. (ex. chart, map. calendar, datatable, ect.)

  8. Laravel is open source but it is developed by these creators as a pro product. That is to say that customer feedback is taken into account in decisions and that corrections and improvements are regularly released. Laravel can pride itself on being up to date with the latest technology.

  9. Incredible documentations. Laravel has in my opinion the best documentation for a backend framework. All of them are simple, clear and detailed with examples. The search tools work very well so it is easy to find what you are looking for. In addition, it is carefully updated regularly.

  10. The Laravel community is awesome! Everyone is welcome to join the family. There is no discrimination and no one to be a snob. No questions are considered stupid. People want to help the best they can.

That's all :-)

If it makes you want to learn more about Laravel and why not try it. You can start here: www.laravel.com

I will be posting several articles in the coming weeks on Laravel. You can follow me if you don't want to miss anything.

Top comments (11)

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.

Collapse
 
ecourtial profile image
Eric COURTIAL

TROLL ON
Laravel, the framework buildt over a dozen of Symfony components...
TROLL OFF

Joke aside, I agree with the comments, starters should not use big framework and learn how to do the basics. I have seen this issue so many times with people changing of carreer. During their formation, they learned how to practice Symfony/Laravel/Whatever but they don't know PHP or how to program.

Collapse
 
agitri profile image
agitri

the only thing with laravel is that the ORM is really slow with big data set insertion, through relationships.

Collapse
 
ecourtial profile image
Eric COURTIAL • Edited

So far ORMs are not designed to handle huge amount of data, unless you have a very decent caching system (for reading) and do your operations asynchronously, and even in this case, writing operations should be delegated to the DB connector, bypassing the ORM. That's the hard lesson I have learn over the last 8 years using Doctrine and other secondary ORMs.
You can afford to use ORM for huge operations, but you need the infrastructure (and the logic) that can follow.

Collapse
 
deleugyn profile image
Marco Aurélio Deleu

You can always paginate your result set or pushdown aggregation to your database engine.

Collapse
 
mrweb profile image
Mr.Web

Also, that is the default ORM you can install another one as you please.

Collapse
 
l3lackheart profile image
l3lackheart

have u tried saveQuitely() or QueryBuilder update() yet?

Collapse
 
mehradsadeghi profile image
Mehrad Sadeghi

Learning materials can be another reason. Laracasts is one the bests around.