What differentiates a microframework from a full stack framework?

Asked

Viewed 975 times

10

I see a lot of terms around Fullstack framework when it comes to frameworks like Codeigniter, Laravel, Symfony and Cakephp (from PHP) and Django (from Python).

But when you talk about Silex and Lumen (from PHP), or Flask (from Python), they are called Microframeworks.

What I don’t understand sometimes about the use of these terms - since apparently what defines the term is the amount of resources that framework has - is that Symfony in comparison to Codeigniter has a multitude of more resources.

So today I’d like to find out once and for all:

  • What is the criterion that determines that a framework is full stack or not? The number of components? The number of problems it solves?

  • How to determine that a framework is, in fact, a microframework?

  • Performance also determines these nomenclatures?

  • I think microframeworks usually arise from a modification of an existing framework, making it simpler but with fewer features. Is there any microframework that has arisen from 0? I am very lay in the subject, but in my view it may be just that that differs.

  • @Raylansoares there are frameworks that are already born small =)

  • Yes, @Guilhermenascimento. And they were born to be small. In this case, the user who uses it, can do it for a small project or to make a self-service

  • 2

    Do you have any context? I’m researching this and I’m just reading nonsense.

  • yes, but whether small or not, I meant that "micro" usually arise from some large framework that was already in evidence and it was seen the need for an adaptation to use it in smaller projects that would not use so many resources. A framework that is already born and remains small will hardly give reasons for the emergence of a simplified version.

  • @mustache like that nonsense

  • @Raylansoares yes writing the "generally" now changes the context of the sentence, so I did not contradict anything you said just complemented, there are those that arise from modifications that you mentioned and those that are born small, tendeu?

  • @Guilhermenascimento understand self-service how to install several 3rdparty

  • Understood, self-service sounds funny, kkk

  • Got it right @Guilhermenascimento

  • I only see micro framework when it is for restfull

  • "Full stack" is a framework developed by someone who stays all day in Stackoverlfow :)

Show 7 more comments

1 answer

7


Researching the subject I concluded that there is no clear and universally accepted definition. At the moment, apparently, the term is mainly used as marketing according to the criteria of who decided to use the term.

It seems to be intended to say that it is more than a library without being, and less than a framework, what would be, according to the sender in the message, something bad if it was.

Of course there’s some technical reason to say that framework is micro, but there is a clear criterion, the choice is arbitrary.

If it is important for computing there will be a definition soon. If it does not appear, it makes no difference.

I’ve seen some definitions that are very contextual. Some only fit if the framework for web. I saw definition that counts the number of lines of his code (what a terrible thing to do for several reasons).

I saw a definition that indicates you don’t need a setup advanced, is copy and use. I even like this, but may be inappropriate in some situations.

Although it is not technical and cannot be used as something formal, a good one I found was in SE.SE. Say something like that:

This framework is not complex like other competitors in the market

It seems to me to be the closest reason to have these names. And it seems to be the case when the framework works more like a library, which only has what is strictly necessary. IE, chose a wrong name for the tool.

Because it is less complex it will tend to be faster, but not necessarily. A framework that does not have a cache system, for example, or some other sophisticated mechanism to improve performance, may give the opposite result.

In the context of the web I really saw something that speaks in micro when the framework is more specialized and does not attempt to solve all problems of an application. I do not know if this is technically correct, if it would not be the case of being just a library being called micro framework. I don’t like this definition anyway.

There the term full stack framework may even be appropriate. In other cases we are not even talking about technology stack. It seems to me to be a term that is not synonymous with framework and not necessarily opposed to micro framework.

I see a lot of nonsense being said about framework, API and things like that. Including wrong classifications. Although it often doesn’t make a real difference when you’re using it. Remembering that a framework is a lifestyle.

  • Well around, what I saw here is defined as micro when it already starts small and we add resources to it as needed, already Fullstack comes "big" by default and agent turns if you have to disable something that does not need rs

  • I especially hate this: https://en.wikipedia.org/wiki/Microframework

  • @bigown the microframework will be so Minimalistic as to the explanation of Wikipedia?

  • In general, web microframeworks take care of the routing and add one or the other basic beast. They don’t usually follow any MV pattern*.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.