What sets a microframework apart from a full stack framework?

8

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

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

What I do not understand sometimes about using these terms - since apparently what defines the term is the amount of resources that framework has - is that Symfony compared to Codeigniter has a multitude of extra features.

So, today I would 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? How many problems does it solve?

  • Does performance also determine these nomenclatures?

asked by anonymous 27.04.2016 / 21:28

1 answer

7

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

It seems to be intended to say that this is more than a non-library, and less than a framework , which would, according to the sender in the message, be a bad thing if it were. >

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

If it matters for computing there will be a definition coming soon. If it does not show up, it makes no difference.

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

I saw the definition that indicates that you do not need an advanced setup , it's copying and using. I even like this, but it may be inappropriate in some situations.

Although it is not technical and can not be used as a formal thing, a good one I found was in Programmers . It says something like this:

  

This framework is not as complex as other established competitors

It seems to be the closest reason for having these names. It seems to me to be the case when the framework functions more like a library, which only has what is strictly necessary. That is, they 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 actually saw something that speaks in micro when the framework is more specialized and does not attempt to solve all the problems of an application. I do not know if this is technically correct, otherwise it would be the case of just being a library being called the micro framework . Anyway, I do not like this definition.

Here the term full stack framework may even be appropriate. In other cases we are not even talking about the 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 stuff like that. Including wrong classifications . Although it often makes no real difference when you are using it. Remembering that a framework is a way of life.

That's what I can answer right now. I'll update if I find something different or the situation will change.

    
27.04.2016 / 22:09