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. 🏁
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
- Python -> Django, Flask
Imagine that you want to publish a book. 📖
You can do it 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).
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.
Library vs framework
Library and framework are completely other things, but in some way they are connected.
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.
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.
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 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.
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. 👋