Nowhere did not find a clear one at the two concepts.
I understand the framework, as a platform that is needed to work any applications. For example, a set of dynamically linquent libraries for several applications is already a framework. Java Runtime Environment (including JVM) boils under this definition. However, what is the ranktime? On the one hand, this is just the phase of program execution. On the other hand, there is a bunch of terms as Runtime Libraries, Runtime System … that invests Microsoft in this concept is also unclear. Please explain!
Answer 1, Authority 100%
Between the library and the framework, the difference is small, but principled. If your code simply uses the functions of the module, then this module is most likely the library. But if the module makes you write code since he wants and himself causes it, then it is already a framework. But the module itself is a set of source files (sometimes compiled).
Runtime is part of the code, exists in the executable file (either in separate SO / DLL) and provides all sorts of “convenience”. For example, find out the type of object or make the same virtual calls. Usually adds to the compiler and the usual user may not even know about it. Also in the word Runtime is called the time when the program is executed. What exactly is meant – you need to take the context.
Runtime Libraries is the libraries that are used during the program. Sometimes libraries are supplied in two types – for development and for normal operation (the second is often optimized and unnecessary from them). Good example – BPL Delphi files. For the same component there may be libraries that contain all sorts of instruments for IDE, and there are only for code efficiency.
JRE is not a framework, it is a runtime library. Although on the other hand, this is a framework for a bytecode. But since only special perverts are crucified on the bytecode, then the usual programmer is not a framework. But the whole java is one solid framework 🙂
Answer 2, Authority 45%
I would like to add a little earlier answer.
- Framework vs library . And that, and that is a set of some utility and functionality, but the principal difference in Inversion of Control .
I will explain: imagine a console application in which you
You ask the user with some data, and then
Cut the calculations and give the result. In the course of calculations you
You can use, for example, a library of mathematical functions, but
You yourself set the course and structure of the program, and you simply use functions from the library as needed. In the frameworks there are inversion of control, i.e.
Program running Defines framework , and you need to fill out
defined empty places with their code (for example, write a controller in MVC-
- runtime . Under “Runtime ” Most likely you mean auxiliary
Programs that are used in the execution of basic programs through
Certain API. For example, the browser js engine uses Event Loop and through
Different APIs (for example, XmlHttpRequest) receives additional features that are not related to JS itself. These APIs are essentially runtime that expand the capabilities and help execute the script code. At the same time, by the part, interacting with the API, it may seem that these opportunities belong to the JS itself or are the challenges of some library functions, although in fact they can be implemented in general and do not have attitude towards JS.