Framework vs Library - which one is better?

Fri Jan 06 2017

Paul Shan

It a world with frameworks and libraries now. Yes, it is. Now a days there are more articles on framework-1 vs framework-2 rather than language-1 vs language-2. Well, we’re not going through whether being a language guy is better than being a framework guy or not; but will discuss the differences between framework and library.

Definitions of Framework and Library

Well, the truth is; there is no definition of a framework or a library. Yes, there is no body which determines the standard definition of any of these two. But the two words are there in the community since a long time, so may be we can try to define these two using the concept in the community.

Framework

A framework is a reusable design or architecture which runs in a particular flow and executes the code you wrote with it. It is more like an aggregator which glues many libraries or even sometimes other languages and has the control to run things by its own order and priority.
For an example; you can think a framework as a coffee vending machine and the coffee power, milk, sugar etc are your code. The machine knows how to prepare the final output which is a drinkable coffee. It compiles the code of yours which are coffee powder, milk etc and also determines when to pour milk, when to add sugar and when the coffee powder. So the control remains with the vending machine and you have to put your ingredients in the right places; then only you will get coffee.

framework-arch

Library

A library is meant to do a specific task only. A library doesn’t force you to go its own flow, but you can call any api of a library and use it the way you want.
If we take the previous example of coffee making, a library will be like a utensil in your kitchen. It’s you who decide which utensil to use when and while making the coffee, you decide if you want to put milk first or water, whether to add sugar or honey, how much to boil and every other thing. While making a coffee in your kitchen using the utensils; it’s you who have the control. You decide what should be the flow.

library-arch

May be after reading the example of coffee making, you have created a conception in your subconscious mind that libraries are better. Well, don’t make that kind of concept, cause it’s completely situation based whether a library can be good for you or a framework. Both have advantages and disadvantages.

Framework vs Library

Framework Library
Framework is a predefined design. Libraries are meant to do some specific tasks only.
Have libraries preinstalled, knows which one is better suited for it. You have to select your libraries.
Framework calls your code. You call the library apis in your code.
The control in with the Framework if you’re using it. The control is always with you.
Super easy to scaffold. You need to scaffold your project manually.
Framework can use multiple libraries or even languages in it. Libraries may have dependency on other libraries, but definitely not multiple language.
Fast development. Requirement wise development.

Conclusion

Stating a framework is better than a library or the vice versa will not be a better conclusion cause it’s always the use case and situation; not the tool itself. Frameworks are very useful to reduce your headache of dependencies, what to use and what not to, how to scaffold and design; but doesn’t give you the full control on your application. It’s very useful when you want to quickly develop something for any of your client. However using libraries can be useful as you will design your own application which will perfectly match your requirements; but managing dependencies, updating individual libraries and checking if one is breaking due to another is a big headache.

SHARE THIS ARTICLE

post-thumbnail
Today everyone knows the importance of a lightning-fast website and how the speed impacts the conversion rate of a business. Today, everyone wants the site to be a PWA so that the mobile users can have an app-like experience with the website because, for the majority of the merchants, the customers come through mobile devices.
Tue Apr 20 2021
post-thumbnail
Here we are going to see how you can manage backup and restore of Postgres database with docker.
Thu Sep 03 2020
post-thumbnail
Image sliders or carousels always have increased the UI attraction of websites and they are pretty useful for reflecting the major roles/products too. In case, I am having a website that sells tee-shirts,
Mon Apr 30 2018

About VoidCanvas

This blog was created out of hobby and talks mostly about technology, web development, JavaScript, NodeJS and related topics. Thank you for reading my blog.

Copyright 2022 - www.voidcanvas.com

Popular Articles

Authentication using Google's oAuth api with node.js

Thu Mar 10 2016

OAuth authentications are pretty popular now a days and another thing which is popular is JavaScript. This article shows how to plugin google’s oAuth api for authentication in your own node application.

CSS3 Loader Snippet Collection: (Part 2 - Squares)

Sat Mar 01 2014

This is a continuation of my CSS3 loader snippet collection series. I've provided spinning css3 animation loader in the part 1 of this series and here in part 2, I'm providing various square type loading