Full-Stack Web Frameworks vs Microframeworks

Before understanding the differences, I would like to clear the “Framework” term if readers don’t know already.

Framework – There is no exact definition for this but to put in simple words. A skeleton or a backbone for a project to start with inbuilt libraries ready to use. Purpose of framework is to allow users to focus more on business logic.

WordPress, Drupal, Joomla, etc are not Frameworks. They are full-fledged application. Just install them and you are ready to go live. Whatever changes you want to make are only the customizations. Customizations can be only theme or add whole new module/plugin.

Now, lets understand the difference between Full-Stack Framework and Microframework.

In short

Max speed of a truck will always be slower than a car.

Full-Stack Framework – It includes every component that helps build a web application easily even if most of the components are not being used.

Microframework – It includes the bare-minimum components to build the web application.

Continue below for detailed differences

Power – Full-Fledged Frameworks are powerful. As they are loaded with components by default. Developer simply needs to start using them if they ever plan to scale their application. Whereas Microservice can be powerful, but they need to be done/configure manually by the developer.

Fast – Microframework are fast. Fast simply because it doesn’t load lot of different components by default.

Components – Components that can be part of Full-Stack Framework are:

  • Routes
  • User Authentication/Authorization
  • Database Abstraction
  • Filesystem Abstraction
  • Web Template Engine
  • Input Validation
  • CRUD Generator
  • Console Manager
  • Session Management
  • Cache Management

Whereas Microframework will have only Routes and maybe one or two more.

Applications – Microframework are useful for small sized application. Typically for API Service. Full-Stack Framework are useful for medium to large sized application where there is scope to scale.

Good Read

According to Blackfire.io Lumen is 290% faster than Laravel (web) for static pages, but we already knew that. The reason largely boils down to having sessions enabled in Laravel (web) and not in Lumen; which is evident when you compare Lumen is (only) 75% faster than Laravel (api).

What is most interesting is when you compare stateless Lumen database access to stateless Laravel database access on the internet itself, the speed benefit of Lumen is only about 25–30% faster than Laravel (api).

In other words — the moment your application starts to touch a database, you lose most of the speed benefit Lumen offers.

Lumen vs Laravel performance in 2018

Examples

PHP Full-Stack Frameworks – Laravel, Yii, etc.

PHP Microframeworks – Lumen, Slim, etc

Python Full-Stack Framework – Django, etc

Python Microframework – Flask, etc

Reference

 

Hope this information was useful.

Leave a comment