Software Frameworks and Libraries
What is Software Frameworks?
In computer programming, a software framework is a standard way to develop software programs. Software frameworks have generic implementations or abstractions, so developers can follow the standards introduced by the framework. It is reusable within the same program or different programs.
What is Software Library?
In computer programming, a software library is a reusable collection of programs which used to make the developers' life easy. Since it is reusable in different programs, developers don't need to implement some common logics or programs again and again.
What is the difference between software frameworks and software library?
-
Inversion of control
Framework: All the program flow is controlled by the framework. The framework will call your program.
Library: Your program will decide when to use or call the functionalities of the library.
-
Abstraction and implementations
Framework: The framework will have a collection of abstract interfaces. Developers have to follow the template to use the framework in their program.
Library: The library will have a collection of implementations that can reuse in the program.
-
Extensibility
Normally use can extend the functionalities of the framework by introducing a custom framework under the main framework or selective overriding the interfaces.
-
Software Framework Examples
- Spring
- Struts
- Vaadin
- Angular
- React
-
Software Library Examples
- Oracle jdbc driver
- jQuery
- OpenCV