Knjižnica i okvir

Anonim

Odabir odgovarajućeg alata ili tehnologije za određeni problem jedan je od najvažnijih aspekata programiranja. Pravi alat je ključ uspjeha projekta. Ovo je mjesto gdje većina programera ne uspije jer se obično bave mnogim alatima. Ovo se odnosi na konačno pitanje, "trebate li izgraditi aplikaciju s knjižnicom ili okvirom?" Ovo je jedna od najvažnijih rasprava o raspravi unutar zajednice programera i često izvor konfuzije. Mala ekipa sa šačicom programera, uglavnom početnicima, možda je bolje raditi s okvirima, dok su knjižnice građevni blokovi koji se mogu koristiti bilo gdje i omogućiti veću fleksibilnost i kontrolu.

Ključna razlika između knjižnice i okvira je "Inverzija kontrole" (IoC). Može se reći da je okvir zbirka knjižnica, ali je cijela ideja nekako drugačija.

Što je knjižnica?

Knjižnica je zbirka ponovljivih funkcija korištenih računalnim programima, što znači resurse koje možete ponovo koristiti, što može uključivati ​​klase, podprogrami, predefinirani kod, predloške poruka itd. Uglavnom programski jezici imaju svoje standardne knjižnice, ali programeri također mogu kreirati vlastite prilagođene biblioteke. To je jednostavno komad kod kojeg su napisali drugi programeri koji se mogu ponovno upotrijebiti bilo gdje. Knjižnice se neprimjetno mogu ugraditi u postojeće projekte za dodavanje funkcija kojima možete dodatno pristupiti korištenjem API-ja. Potrebno je malo znanja da započnete.

Što je okvir?

Okvir je komad koda koji diktira kako bi projekt trebao biti strukturiran i pokrenut. Jednostavno zahtijeva arhitekturu vašeg projekta kao što je definiranje dizajnerskih parametara aplikacije, tako da se možete usredotočiti na specifičnosti projekta, čime se naglašavate na ponovljivoj upotrebi dizajna, a ne na ponovljivoj upotrebi koda. Za razliku od knjižnica, kontrola je obrnuta u slučaju okvira i kod nikada ne poziva u okvir, umjesto toga, okvir vas poziva. Za razliku od knjižnica, okviri naglašavaju strukturu i standarde.

Razlika između knjižnice i okvira

  1. Značenje

U programiranju, knjižnica je zbirka funkcija koje se mogu koristiti - što znači resursi koje možete ponovo upotrijebiti - pomoću računalnih programa. Resursi, koji se ponekad zovu kao moduli, obično se pohranjuju u obliku objekta. Većina programskih jezika ima svoje standardne knjižnice, ali programeri također mogu kreirati vlastite prilagođene knjižnice. Jednostavno rečeno, knjižnica je skup funkcija koje možete nazvati, a okvir je komad koda koji diktira arhitekturu vašeg projekta. Na neki način, okviri i programski jezici su isprepleteni da zajednički pomažu u računalnim programima.

  1. Inverzija kontrole

"Inversion of Control" je ključna razlika koja razdvaja okvir iz knjižnice. Knjižnica je skup funkcija i rutina koje koriste drugi programi, a vi ste u potpunosti kontrolirani ako to zovete metodom iz knjižnice. Međutim, kontrola je obrnuta u slučaju okvira. To diktira strukturu vašeg projekta i kôd nikada ne poziva u okvir, umjesto toga, on vas zove. Jednostavno rečeno, jednostavno možete razmišljati o knjižnici kao funkciji aplikacije i okvira kao kostura aplikacije u kojoj aplikacija definira svoje osobine.

  1. Funkcija

Knjižnice su skup funkcija koje se mogu koristiti bilo gdje, što znači da je to samo komad kod kojeg su napisali drugi programeri koji se mogu ponovno koristiti. Oni su jednostavno uključeni u postojeće projekte za dodavanje funkcija kojima možete pristupiti pomoću API-ja. Uglavnom se koriste za često korištene module jer ih ne morate izričito povezati sa svakim programom koji ih koristi. Oni su važni u procesu povezivanja programa i obvezivanja. Okviri, s druge strane, pružaju standardni način izgradnje i implementacije aplikacija, a mogu se uglavnom koristiti prilikom pokretanja novog projekta, a ne integriranja u postojeće.

  1. Primjer

Da bismo bolje razumjeli razliku između knjižnice i okvira, pogledajmo jQuery i AngularJS. jQuery je biblioteka JavaScript sa više platformi koja pojednostavljuje manipulaciju DOM-om, zajedno s mnogim drugim kompliciranim stvarima kao što su CSS manipulacija, metode HTML događaja, AJAX pozivi itd. Svrha jQuery je pojednostaviti korištenje JavaScript na vašoj web stranici. AngularJS, s druge strane, strukturni je okvir koji se temelji na MVC arhitekturi koja se koristi za kreiranje dinamičkih web aplikacija. To je u potpunosti utemeljeno na HTML-u i JavaScriptu, a za razliku od jQuerya, ne može se integrirati u postojeće projekte, jer kao okvir, ona diktira kako se kôd treba strukturirati i pokrenuti.

Knjižnica vs okvir: usporedni prikaz

Sažetak biblioteke naspram okvira

Kada dođe do zbrke oko odlučivanja trebate li koristiti biblioteku ili okvir za izradu aplikacije, sve se svodi na kontrolu. Knjižnice su skup funkcija koje možete nazvati i svaki poziv obavlja određeni zadatak i vraća vam kontrolu. Oni mogu biti neprimjetno uključeni u postojeće projekte i potrebno je malo znanja da biste započeli. Okviri, s druge strane, diktiraju cjelokupnu strukturu vašeg projekta i za razliku od knjižnica, pozivaju vas okviri i kod nikada ne poziva u okvir. Ključna razlika je naravno Inverzija kontrole.Jednostavnim riječima, knjižnice su fleksibilnije s većim stupnjem kontrole, dok okviri nametnu strukturu i standarde.