Framework - what exactly is?

Framework - what exactly is?

Dominik Nuszkiewicz
ยทJan 23, 2022ยท

3 min read

Listen to this article

Table of contents

  • Definition โœ…
  • Real-life example
  • Library vs framework
  • Examples
  • Conclusion

There are a lot of fundamental conceptions to find out while learn programming. Specially, at the beginning of learning process. ๐Ÿ˜„

Many of them are simple and easy to understand, but on the other hand we have some terms which are quite complicated and complex. ๐Ÿ˜ง

Framework term is definitely one, which could be more difficult to understand at the beginning. ๐Ÿ

Definition โœ…

A software which is structure of the application and helps build application in easier and faster way.

It provides a basic backbone of application, so there is no reason to start building an app from scratch.

There are a lot of frameworks and each of them is suited to concrete programming language and unique purpose - for example:

  • Java -> Spring, Hibernate
  • JavaScript -> React, Angular
  • Python -> Django, Flask

Real-life example

Imagine that you want to publish a book. ๐Ÿ“–

You can do it yourself...

PUBLISHING BOOK BY YOURSELF

or outsource this job to the publishing house. You will only decide about your book properties and of course be responsible for deliver content for book. But what is important:

You will treat whole process of publishing a book as a black box which has input(your preferences, content and book properties) and output(ready-to-sell books).

PUBLISHING BOOK BY PUBLISHING HOUSE

Referring it to programming situation, you can see that if you want to create an app you can outsource a lot of tasks to a variety of ready libraries which does the work for you. The collection of this kind of libraries is exactly framework.

FRAMEWORK EXPLANATION

Library vs framework

Library and framework are completely other things, but in some way they are connected.

Library

Basic difference is fact, that library is some kind of collection of ready-to-use methods and classes which could be really helpful, when we want to solve the problem solved many times by other developers.


There is a great question which could be answer for other question, why libraries are necessary?

Why reinvent the wheel? Specially when it is invented and patented.

Framework

Although, framework is some kind of abstraction, which simplify process of creating applications. Framework provide a standard way to build and deploy apps. It is collection of libraries and backbone of application.

Examples

Spring

It will be separate article about Spring Framework and Spring Boot, but there I will tell a few words about that.

Spring Framework is a Java's framework. Spring Framework is definitely the most popular Java framework, so knowledge of it is crucial for everyone who want to become a Java Developer.
The most of job offers for Java Software Engineers has Spring knowledge as requirement.

Angular

1-Q7DY9kt8B2rRz-A-RPw_w.png

Angular is a platform and framework for building single-page client applications using HTML and TypeScript. Angular is written in TypeScript. It implements core and optional functionality as a set of TypeScript libraries that you import into your applications.

In short, Angular is a TypeScript written framework and it is used for front-end part of web application, that is interface of user.

Conclusion

As you can see framework is a complex term which has a few meanings, depending on the language/environment etc.
I hope that I brought you closer framework term.


Don't forget to follow my blog to don't miss the recent posts.
Next will be about Spring Framework. ๐Ÿ‘‹

ย 
Share this