What are frameworks?
-
I’m learning how to code; Python, PHP and Ruby at the moment and people keep suggesting I learn a frameworks such as Django, Ruby on Rails and Laravel. What is a framework? What is the difference between me typing Python, PHP, HTML code into a text editor versus using a framework, is it standalone?
I’m clueless to what a framework is or what it can do for me.
-
A framework is usually built by a very experience developer, who is putting his knowledge into it, in order for you to mainly save time. He or she sees a general problem (or a number of them), then creates a framework to solve that/ those problem/s and thus, them doing so, saves you from needing to solve the same problems.
Scott
-
@vishalbotri said in What are frameworks?:
I’m clueless to what a framework is or what it can do for me.
Good question. It’s a pity so few people are asking such important base questions. Anyway, please check this term:
https://en.wikipedia.org/wiki/Inversion_of_control
In shortly it means, that in “traditional” code, or by using libraries, it is your code which is “in control”. It is you, who decides what is happening and when.
In framework, your code is only responsible for “anwsers”, “reactions”, “events”. It is a framework which decides what is going on, and there are only very specific places where you can change/react/process/answer. Those places are well defined and choosen not by you but by framework itself. Sometimes you can “extend” framework - in Quasar it is a technology of app extensions. Sometimes you can use framework as a library (as in bundling Vue/Quasar in Electron). The defining line is in most situations this inversion of control.