Overall Satisfaction with Laravel PHP Framework
We chose to code in Laravel for one of our project's backend logic. Our first decision was to code in PHP because we were creating a website, and PHP plays very well with apache and other front end technologies. But rather than creating our own framework from scratch, we decided to look for other better frameworks. After considering many other frameworks, we came across Laravel and immediately fell in love. That product is still being maintained in Laravel and we still stand by our decision to use Laravel.
- Beautiful and intuitive code. They are not kidding when they say Laravel makes your code look beautiful, it really does.
- Excellent community support. You really wouldn't believe how fast Laravel is growing. New tools are launched almost monthly!
- A wide selection of tools to use in your project.
- End to End Development support. Need to write database queries, routes, cron jobs, Laravel has it all. And all of it is part of your code. How often do you see CRON jobs being part of your code!
- All major editors support this, so code completion is no issue.
- Who knew one day PHP will have dependency injection!!
- Has inbuilt code to send emails, social login, etc.
- Significant learning curve. You cannot be an expert in a week. It takes many experimentations to properly understand the underlying concept. We ourselves learned it by using it on the job.
- Too much to soak in. Laravel is in everything. Any part of backend development you wish to do, Laravel has a way to do that. It is great, but also overwhelming at the same time.
- Vendor lock in. Once you are in Laravel, it would not be easy to switch to something else.
- Laracasts (their online video tutorials) are paid :( I understand the logic behind it, but I secretly wish it would be free.
- The eloquent ORM is not my recommendation. Let's say you want to write a join, and based on the result you wish to create two objects. If you use Laravel to do automatic joins for you, Laravel internally actually makes two calls to database and creates your two object rather than making one join call and figuring out the results. This makes your queries slow. For this reason, I use everything except eloquent from Laravel. I rather write my own native queries and control the creation of objects then rely on Laravel to do it. But I am sure with time Laravel will make fewer calls to DB.
- Positive: Our delivery time for PHP application is faster than usual.
- Positive: Developers are happy and they write better code with their usual development tools. No tool-upgrade necessary.
- Negative: Initial delivery took 6 months extra and had to rewrite project several times.
Laravel is built on top of Symfony so is naturally a better upgrade. It is far superior than cake and igniter (in my opinion). I don't remember, but somewhere in internet someone made a comparison with Laravel and others as racing motor-bike vs a cycle. Because of large codebase, Laravel is slower than other frameworks, but the maintainability makes up for the slower speed, plus there are ways to make Laravel faster, but it will take some expertise to do it.