What is framework in programming language

What is framework in programming language

So you are wondering what is framework in a programming language. For some this topic is complicated and confusing. But In this article I will  explain it in the simplest way possible.


Framework definition:-

Framework is a collection of software libraries intended to perform specific tasks. It is used by programmers and developers to build applications and websites. 

In other words, frameworks are a set of tools that are pre-build to create softwares. 

Creating a software can be done in two ways: one is to write the codes from scratch and other is by using a framework.


Frameworks are built on top of the programming languages. All the standards of the language remain intact. Whether you use frameworks or not.

Why do we use frameworks in Programming language?

1.Time and Cost efficient

It saves a lot of time for developers by not writing the same codes again and again. The code reusability also helps to focus on other important aspects of development. And not to worry about the generic tasks which often are of low value.

2.Upgradability and maintainability

By using frameworks in any application it’s easy to upgrade as the language upgrades. And adaptations to the upgraded versions are no brainer for developers. So in that manner maintenance can be done by the same team or individual.

3.Simplify and standardized

All frameworks are built to perform certain tasks. So the task is simplified and easier for learning and development. It also gives us the surety that the application is industry and business complaint.

What does a framework consist of?

A framework generally includes programs and compilers. It also includes libraries, tools, and API’s (Applications Programming Interface). And more codes can be added to the frameworks for increasing capabilities.


Additionally it also combines features protocols, rules, guidelines and standards. These features connect together all the different components for system development.

What are the different types of frameworks?

1. Modular Framework
2. Data Driven Framework
3. Keyword Driven Framework
4. Hybrid Framework
5. Modular Testing Framework

Framework Vs Library:

Some unique frameworks features that distinguish them from programming libraries:

1. Inversion of control: In a framework, unlike in libraries.  The program flow of control is done by the framework itself.
2. Default behaviour: A framework has a default behaviour, which is useful to some extent.
3. Extensibility: A framework can be extended by overriding existing code for specific capability.
4. Non-modifiable code: The framework code should not be modified. Users can extend the framework, but should not modify its original code.

List of Frameworks:

Frameworks are commonly used in web developments. Some most popular once according to Github and Stackoverflow are as follows:


React

Framework React

A javascript library and framework created to build interface for web applications. And another purpose was to manage data that changes overtime

NodeJS

nodejs framework

It is a framework build for Javascript to handle large web application in real time. In many cases nodejs acts a environment than an framework.

CakePHP

Cakephp framework

CakePHP is an open-source web development framework written in PHP. It facilitates developers with rapid and structured development.

Bootstrap

Bootstrap framework

Bootstrap is a framework written in Html/Css. It is highly used by professionals to create front-end/UI development.

AngularJS

It is open-source javscript framework bulid to applications using MVC architecture. The current build is version 4 which is very powerful than the last versions.

Final words

I hope now you know what is framework in programming language. Frameworks are good for development of websites and applications.

But it’s not mandatory to use one, especially for beginners. They should take the long route and try to create projects from the scratch.

This is crucial for any developers. To know the foundations of any programming language. Before diving straight into different complex Frameworks and libraries.