In today's world of programming, it's not ideal in most of the project development to start from scratch especially in the world of web development where several technologies are involved. It might not be feasible to do write standard web components which are already available in several frameworks.
At the same time choosing the right framework is the toughest decision at the beginning of the project. Once decided, the framework will make the inception phase of the project very easy, but at the same time, it brings complexity at some level like understanding the framework. This post list down the major differences between these frameworks categorized as Micro and Full-Stack.
Micro frameworks come with the minimal code required to quickly develop smaller applications. These include prototypes or single to few page applications which need minimum maintenance. The ease of these frameworks quickly makes them popular and the first choice to develop smaller applications.
The Full-Stack frameworks are packaged together with several tools and modules to develop and maintain larger applications. At the same time, these frameworks bring a level of complexity and feasible to develop larger applications which also need maintenance for a longer duration.
The Micro frameworks come together with at least request routing to process the incoming request and generate the response. Apart from request routing, these might also support modern programming concepts including MVC pattern to make the development easy with clear separation of logic.
Full-Stack frameworks are bundled together with request routing, request processing, MVC, ORM, security, code generation, template engine, validations etc. The existing patterns and features provided by these frameworks make it easy to develop complex applications.
Micro frameworks are preferred to develop smaller applications. These frameworks can also be considered as a base to extend and add additional functionality on top of the selected framework to build own library which makes it easy to further develop and maintain the application without going into the complexity of Full-Stack frameworks.
The Full-Stack frameworks are preferred to develop larger applications assuming that most of the ground work is already handled by the chosen framework.
Micro frameworks are easy to learn due to their smaller size and it's the first choice in case an application has to be developed quickly without going into much details of the framework.
Full-Stack frameworks come with their own complexities and need more time to learn them. In most of the cases, experienced developers are required to develop applications using these frameworks.
The Micro frameworks are preferred for rapid development. These are becoming the first choice to develop REST applications and to provide REST services for various interfaces including mobile applications.
Full-Stack frameworks are preferred for a longer duration since it gives time to understand the framework and better utilize the components and services included within the framework.
Micro frameworks are smaller in size due to their specific goal and the size ranges between few hundred to approx 5K lines of code.
Full-Stack frameworks are larger in size due to several modules, components and services included in them. These are typically more than 5k code lines.
As explained in the above sections, it's easy to learn Micro frameworks, hence it need resources with a moderate level of experience to start the development.
It's preferred to have at least one or few experienced resources having in-depth knowledge of the chosen framework to develop larges applications.
These are the major differences between the frameworks categorized as Micro or Full-Stack.