When comparing Sinatra vs Lumen, the Slant community recommends Lumen for most people. In the question“What are the best web frameworks to create a web REST API?” Lumen is ranked 10th while Sinatra is ranked 18th. The most important reason people chose Lumen is:
Since it's basically just a minimal version of Laravel, it can be upgraded to a full Laravel app if the need arises. No need for code changes, just import the code to a new Laravel install.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Small loading time
Since it has very few dependencies, the loading time for a Sinatra app is considerably small.
Pro Has only the bare minimum needed
Sinatra has taken an approach of having only the most useful components needed to build applications out of the box. It has simple routes along with a Domain Specific Language over a Rack layer.
Pro Easily upgradable to Laravel
Since it's basically just a minimal version of Laravel, it can be upgraded to a full Laravel app if the need arises. No need for code changes, just import the code to a new Laravel install.
Pro Feature rich
Pro Highest performing PHP micro-Framework
Lumen is benchmarked at 100/rps (Requests Per Second) faster than Slim v3, which used to be considered the fastest and most performant micro-Framework to date with the ability to handle 1800/rps. (1900/rps vs 1800/rps respectively).
Pro Easy to use
Cons
Con Hard to scale well
Because it's rather small and minimalistic, scaling up is not very easy with Sinatra. You need a great deal of knowledge on libraries and modules that may be useful for your particular use-case. As your application grows larger it may be hard to keep things clean and minimalistic, losing a lot of the advantages that Sinatra has.
Con Built for smaller tasks like APIs
Con It's based off Laravel and inherits its shortcomings
Lumen inherits many shortcomings of Laravel, such as static proxy classes.
Con Made to work alongside Laravel
Lumen as a framework is at it's full potential when used alongside it's older brother. Lumen was created to be used for microservices alongside Laravel, which is used for more user-facing applications. If a project is already using another framework other than Laravel, it would be better to use another microframework for microservices instead of Lumen.