A Framework may include predefined classes and function that can be used to process input, manage hardware devices, and interact with system software. The purpose of the framework is to allow developers to focus on building a unique feature for their Projects rather than writing code scratch.
Since they are often built, tested, and optimized by several experienced software engineers and programmers, software frameworks are versatile, robust, and efficient.
Using a software framework to develop applications lets you focus on the high-level functionality of the application. This is because any low-level functionality is taken care of by the framework itself.
Let’s inderstand it.
- The framework is a re-usable design platform for a software system, which provides support for code libraries and various scripting languages.
- There are frameworks for PHP, Perl, Python, Ruby, and many other scripting languages.
- All software frameworks are built with the idea of re-usability of the code and provide tools that help programmers develop and mount together with the different components of a software project.
Why do we use Frameworks?
Developing software is a complex process. It necessitates a plethora of tasks, including coding, designing, and testing. For only the coding part, programmers had to take care of the syntax, declarations, garbage collection, statements, exceptions, and more.
Software frameworks make life easier for developers by allowing them to take control of the entire software development process, or most of it, from a single platform.
- Collection of tools
- No need to start form scratch
- Save Time
- Improve Productivity
- Clean Code
- Reusable Code
What goes in a Framework?
When you install a software framework, the first thing that you need to take care of is the system requirements. Once a framework is installed and configured, it creates a directory structure.
For example, fig. (i) illustrates the directory structure of the Laravel Framework. Each of these folders could have additional directories. Directories can further have files, classes, test routines, templates, and more.