Today I'm going to be explaining about Frameworks and Libraries in programming language, to explain something this two expressions that you read in some article anywhere from here:
- "This tech was built used framework X or library Y"!
Then you ask yourself:
- oh that's good but what the heck is framework, is not a programming language?
Yep it is! Back-ends and front-ends works a lot on it, really, packages and frameworks helps you all the way on the development journey because something is just already done by someone and it's open-source :)
Ok I know nobody asks this to yourself :D
Libraries in programming language
When you start to develop your first system doing a hello world, you won't need a library, this is because a programming language by itself lead with all logical programming, but sometimes you want something really different that the built-in commands in Python don't deal by default for example, can be any language even C/C++.
Library is a package that will help you with something really specific some problem that you are trying to solve but don't comprehend how to continue(normally), this is a short answer.
But a lib can be about anything:
- Graphic user interface: (if you are using java or python by default there is no GUI interface).
- Solve math problems: You need some calculation that don't have in your programming language by default.
- Libraries to translate: You need to translate for multiple languages.
- Deal with data structure: You need to deal with JSON or arrays in a language.
Somewhere in the world some guy already programmed some function to your problem that you have been passing in your system and depending on of the context programming by yourself it costs a lot of work and time sometimes, even tough you know how to programming something, somebody already did it and better, it'll be costing less time and work and you can deliver your project! in short: Library is functions that you can append to your code that will help you to deliver some feature fast!
- ReactJS (UI library for JS)
- jQuery (UI library for JS)
- Express (HTTP library for NodeJS)
- Web3.js (library to communication with Blockchain/Smart contracts)
- Python Standard Libraries (Libraries for Python)
- Java Standard Libraries (Libraries for Java)
Some high-level programming languages has your own way to add news libraries(or Frameworks) into your own web project! This guys is called package managers. They normally are installed when you work with the main language.
I already overview them in this article here with its programming language.
Frameworks in programming language
Different from the library, Framework is a way to implement a modus operandis in your project you installed them using your programming language package manager(as I said before), NPM, pip, Maven like the libraries.
There are good prons to using frameworks: this will help you with almost big problems in your web developer project but with cons: you need to follow the way the framework do.
As I said, it will implements a modus operandis into your project, that you'll need to following some patterns to study and understand. Have you seen how different is then library? In library is just functions to append. In framework you'll need to follow the framework way.
So framework is most used to this examples:
- Deal with front-end UI(user interfaces) as Angular, ReactJS and Vue in a different level
- Deal with a fullstack web project(web servers) as Django, Adonis, Laravel and Spring
If you could notice, there is two most famous case: back-end/fullstack and front-end frameworks, because a lot of things developers follows the flow of the job market's pattern: in front-end the most focus nowadays is WebApps and components of the front-end instead of back-end now deals more with fullstack monolith web projects to create UI things and develop databases in a fast way for web projects. So frameworks came to help you with a lot of code that you instead create by yourself, can be fast way done!
Warning: as I said there is cons, you must need hot to deal with the project's pattern instead this will turn a legacy monolith system that will be a problem in the future, so just watch if this project will be just fast and not improve a lot of bussiness rule that the framework don't do by default... this will be a shoot oneself in the foots.
So that's it guys, i hope you enjoyed to know about libraries and frameworks in programming language! If you like and wants to help me, tip here!
thank you! 💖✨