Why you should pick Laravel over Lumen in most cases

Jan 06, 2020 — 2 mins read

"This app is going to be so small, Laravel is way too bulky, Lumen is perfect for the job". I've heard this a couple of times now and each project that started out with Lumen migrated to Laravel within the first week. Here are 4 reasons for picking Laravel, even if Lumen seemed like a good idea:

Your app will have some UI. At some point.

While Lumen has similar support in terms of controllers and views, you are quickly going to face some limitations. No authorization scaffolding, no SASS/LESS support, no built-in Webmix, and the list goes on. This is quite obvious, we're dealing with a micro-framework here - but nonetheless, these limitations are often overlooked.

Your app is going to need several packages

Many Laravel-based packages depend on specific Laravel classes or helpers, making them unsuitable for Lumen. When you're planning to use a specific package, make sure to check its compatibility. This applies to even the smallest microservices!

You're going to need good support and documentation

New to the Laravel and Lumen community? When you’re looking for support in the form of tutorials, answers on Stackoverflow or even a simple Google query, Laravel can’t be beaten.

Your app is eligible to feature creep

Even if everything fits nicely within the Lumen constraints, you’ll have to consider future developments: is your app really finished, or are there some features lurking on your backlog, silently favoring Laravel?

Note: When you're already on the Lumen platform and you're facing this problem, you might want to check out Laravel Shift.

Why even use Lumen?

There are some use cases. Performance is the most heard argument, but you could argue whether PHP is the best option when true performance is required. And Laravel has gained a lot of performance in the last few months. For that reason, some say that Lumen is already dead.

Perhaps Laravel will reveal itself as the best replacement for Lumen by becoming more modular, like the recent stripping of the UI elements (laravel/ui). In the mean time, anyone who wants a fast, stripped-down version of Laravel and who isn't bothered by the reasons above: how about using Lumen?

Read this next

Goodbye Spotlight, hello Alfred

I have replaced Spotlight with Alfred. As a developer, it really has boosted my productivity!