Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Software framework
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Type of library that helps structure other software}} {{Redirect|Framework (computer science)||Framework (disambiguation)}} {{Use dmy dates|date=December 2021}} In [[computer programming]], a '''software framework''' is a [[software]] [[abstraction (computer science)|abstraction]] that provides generic functionality which developers can extend with custom code to create applications. It establishes a standard foundation for building and deploying software, offering reusable components and design patterns that handle common programming tasks within a larger [[software platform]] or environment. Unlike [[Library (computing)|libraries]] where developers call functions as needed, frameworks implement inversion of control by dictating program structure and calling user code at specific points, while also providing default behaviors, structured extensibility mechanisms, and maintaining a fixed core that accepts extensions without direct modification. Frameworks also differ from regular applications that can be modified (like [[Web browser|web browsers]] through [[Browser extension|extensions]], video games through [[Video game modding|mods]]), in that frameworks are intentionally incomplete scaffolding meant to be extended through well-defined extension points and following specific architectural patterns. Software frameworks may include support programs, compilers, code libraries, toolsets, and [[application programming interface|APIs]] that bring together all the different [[Software component|components]] to enable development of a [[software project|project]] or [[software system|system]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)