11.2.2.3 describe the characteristics of a development framework
Framework development
A framework, or software framework, is a platform for developing software applications.
It provides a foundation on which software developers can build programs for a specific platform.
A framework is a collection of useful tools written for a specific programming language. You can use these tools and link them with written programming code to create a new application.
Application frameworks became popular with the rise of graphical user interfaces (GUIs), since these tended to promote a standard structure for applications. Programmers find it much simpler to create automatic GUI creation tools when using a standard framework, since this defines the underlying code structure of the application in advance. Developers usually use object-oriented programming (OOP) techniques to implement frameworks such that the unique parts of an application can simply inherit from classes extant in the framework.
Frameworks are developed to achieve the following goals:
Provide a consistent object-oriented programming environment regardless of whether the object code is stored and executed locally, executed locally but distributed over the Internet, or executed remotely.
Provide a code execution environment that:
Minimizes software deployment and version conflicts.
Facilitates the secure execution of code, including code generated by an unknown or partially trusted third party.
Eliminates performance issues in scripted or interpreted environments.
Provide a single path of interaction with developers for a wide variety of application types, such as Windows apps and web apps.
All communications are built on industry standards so that Framework-based code can integrate with any other code.