Raamistiku ja raamatukogu erinevus

Arendajad kasutavad mõisteid „raamatukogu” ja „raamistik” sageli vahetatult. Kuid seal on erinevus.

Nii raamistikud kui ka teegid on kellegi teise kirjutatud kood, mida kasutatakse tavaliste probleemide lahendamiseks.

Oletame näiteks, et teil on programm, kus plaanite töötada stringidega. Otsustate säilitada oma koodi KUIVA (ärge korrake ennast) ja kirjutate mõned sellised korduvkasutatavad funktsioonid:

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

Palju õnne. Olete loonud kogu.

Raamides ega raamatukogus pole midagi võluväel. Nii teegid kui ka raamistikud on korduvkasutatav kood, mille on kirjutanud keegi teine. Nende eesmärk on aidata teil levinumaid probleeme lihtsamalt lahendada.

Ma kasutan maja sageli veebiarenduse kontseptsioonide metafoorina.

Raamatukogu on nagu Ikeasse minek. Kodu on teil juba olemas, kuid vajate natuke abi mööbli osas. Teil pole tahtmist oma lauda nullist teha. Ikea võimaldab teil valida ja valida oma kodus erinevaid asju. Teie kontrollite.

Raamistik seevastu on nagu näidiskodu ehitamine. Arhitektuuri ja disaini osas on teil komplekt kavandeid ja mõned piiratud valikud. Lõppkokkuvõttes on töövõtja ja plaan kontrolli all. Ja nad annavad teile teada, millal ja kus saate oma sisendi anda.

Tehniline erinevus

Raamistiku ja teegi tehniline erinevus seisneb terminis, mida nimetatakse juhtimise inversiooniks.

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