Frameworks are like jet packs for development languages: They boost performance, extend capabilities, and offer libraries of coding shortcuts so developers aren’t hand-coding web applications from the ground up. Frameworks aren’t just bundled snippets of code; they offer features like models, APIs, and other elements to streamline development of dynamic, rich web applications. And while some frameworks offer a more rigid approach to development, others allow for more fluidity in the process—developers can pick and choose based on project needs or their own work styles.
Core Features of Web Application Frameworks
- Libraries: shareable, reusable bits of low-level code in each language, e.g., Ruby on Rails’ “gems”
- APIs, which facilitate access to the database back end
- Scaffolding: a technique some MVC frameworks employ that strengthens how a database can be accessed. This means more powerful sites, with better leverage of the database.
- AJAX: Some JavaScript frameworks are embedded into larger frameworks, incorporating the rapid technology of AJAX into a site’s functionality.
- Caching, which cuts back on server workload
- Security, via authentication and authorization frameworks
- Compilers, or Just-in-Time compilers
Each programming language has at least one universal, reusable framework. Libraries within each framework offer reusable bundles of that language—code for a drop-down menu, for example. But they’re more than just the code—frameworks are fully layered workflow environments.
Frameworks can be used to create most applications on the back end, including web services, web applications, and software.
Software frameworks: A software framework is a reusable environment that’s part of a larger software platform. They’re specifically geared toward facilitating the development of software applications and include components, such as libraries of code, support programs, compilers, tool sets, and specific APIs that facilitate the flow of data.
Web application frameworks are software frameworks used to streamline web app and website development, web services, and web resources. A popular type of web app framework is the Model-View Controller (MVC) architecture, named for the way it separates the code for each application component into modules.
M.T.V.V. Perera
ICT/2014/2015/029