Monday 29 July 2013

Framework and Platform

SOFTWARE FRAMEWORK
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. A software framework is a universal, reusable software platform to develop applications, products and solutions. Software frameworks include support programs, compilers, code libraries, tool sets, and application programming interfaces (APIs) that bring together all the different components to enable development of a project or solution.
Frameworks contain key distinguishing features that separate them from normal libraries:
  1. inversion of control – In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not dictated by the caller, but by the framework.[1]
  2. default behavior – A framework has a default behavior. This default behavior must be some useful behavior and not a series of no-ops.
  3. extensibility – A framework can be extended by the user usually by selective overriding or specialized by user code to provide specific functionality.
  4. non-modifiable framework code – The framework code, in general, is not allowed to be modified, excepting extensibility. Users can extend the framework, but not modify its code
    PLATFORM
    A computing platform includes a hardware architecture and a software framework (including application frameworks), where the combination allows software to run. Typical platforms include a computer architecture, operating system and Runtime libraries.[1]
    A platform is a crucial element in software development. A platform might be simply defined as a place to launch software. The platform provider offers the software developer an undertaking that logic code (a general term for bytecode, source code and machine code) will run consistently as long as the platform is in place.

No comments:

Post a Comment