Razlika između okvira i knjižnice

Programeri često koriste izraze "knjižnica" i "okvir" naizmjenično. Ali postoji razlika.

I okviri i knjižnice su kod koji je napisao netko drugi i koristi se za rješavanje uobičajenih problema.

Na primjer, recimo da imate program u kojem planirate raditi sa žicama. Odlučili ste zadržati svoj kod SUHIM (nemojte se ponavljati) i napisati neke funkcije za ponovnu upotrebu poput ovih:

function getWords(str) { const words = str.split(' '); return words; } function createSentence(words) { const sentence = words.join(' '); return sentence; }

Čestitamo. Stvorili ste knjižnicu.

U okvirima ili knjižnici nema ništa čarobno. I knjižnice i okviri višekratni su kod koji je napisao netko drugi. Njihova je svrha pomoći vam da lakše riješite uobičajene probleme.

Kuću često koristim kao metaforu za koncepte web razvoja.

Knjižnica je poput odlaska u Ikeu. Već imate dom, ali treba vam malo pomoći oko namještaja. Ne osjećate se kao da sami izrađujete stol od nule. Ikea vam omogućuje odabir različitih stvari koje ćete imati u svom domu. Vi imate kontrolu.

S druge strane, okvir je poput gradnje modela kuće. Imate niz nacrta i nekoliko ograničenih izbora što se tiče arhitekture i dizajna. U konačnici, izvođač i nacrt imaju kontrolu. I oni će vas obavijestiti kada i gdje možete dati svoj doprinos.

Tehnička razlika

Tehnička razlika između okvira i knjižnice leži u terminu koji se naziva inverzija upravljanja.

When you use a library, you are in charge of the flow of the application. You are choosing when and where to call the library. When you use a framework, the framework is in charge of the flow. It provides some places for you to plug in your code, but it calls the code you plugged in as needed.

Let’s look at an example using jQuery (a library) and Vue.js (a framework).

Imagine we want to display an error message when an error is present. In our example, we will click a button, and pretend an error occurs.

With jQuery:

// index.html