Oikean työkalun tai tekniikan valitseminen tiettyyn ongelmaan on yksi tärkeimmistä ohjelmoinnin näkökohdista. Oikea työkalu on avain projektin menestykseen. Tässä suurin osa ohjelmoijista epäonnistuu, koska he yleensä käsittelevät monia työkaluja. Tämä liittyy viimeiseen kysymykseen, "pitäisikö sinun rakentaa sovelluksesi kirjaston tai kehyksen avulla?" Tämä on yksi keskusteltavimmista keskustelunaiheista ohjelmoijayhteisössä ja usein hämmennyksen lähde. Pieni joukkue, jossa on kourallinen kehittäjiä, enimmäkseen aloittelijoita, voi olla parempi työskennellä kehyksen kanssa, kun taas kirjastot ovat rakennuspalikoita, joita voidaan käyttää missä tahansa ja jotka antavat suuremman joustavuuden ja hallinnan.
Keskeinen ero kirjaston ja kehyksen välillä on ”Inversion of Control” (IoC). Voitaisiin sanoa, että kehys on kirjastokokoelma, mutta koko idea on jotenkin erilainen.
Kirjasto on kokoelma tietokoneohjelmien käyttämiä uudelleenkäytettäviä toimintoja, jotka tarkoittavat resursseja, joita voit käyttää uudelleen. Tähän voi kuulua luokkia, aliohjelmia, esikäännettyä koodia, viestipohjia jne. Suurimmalla osalla ohjelmointikieleillä on omat standardikirjastot, mutta ohjelmoijat voivat myös luoda omia mukautetut kirjastot. Se on yksinkertaisesti muiden kehittäjien kirjoittama koodi, jota voidaan käyttää uudelleen missä tahansa. Kirjastot voidaan integroida saumattomasti olemassa oleviin projekteihin toiminnallisuuden lisäämiseksi, jota voit käyttää edelleen sovellusliittymän avulla. Aloittamiseen tarvitaan vähän tietoa.
Kehys on pala koodia, joka sanoo, kuinka projekti tulisi rakentaa ja ajaa. Se vain valtuuttaa projektisi arkkitehtuurin, kuten määrittelemään sovelluksen suunnitteluparametrit, jotta voit keskittyä projektin yksityiskohtiin korostaen siten suunnittelun uudelleenkäytettävyyttä kuin koodin uudelleenkäyttöä. Toisin kuin kirjastot, ohjaus on ylösalaisin kehyksissä ja koodi ei koskaan kutsu puitteiksi, sen sijaan kehys soittaa sinulle. Toisin kuin kirjastot, puitteet korostavat rakennetta ja standardeja.
Ohjelmoinnissa kirjasto on kokoelma tietokoneohjelmien käyttämiä uudelleenkäytettäviä toimintoja - tarkoittaen resursseja, joita voit käyttää uudelleen. Resurssit, joita joskus kutsutaan moduuleiksi, tallennetaan yleensä objektimuodossa. Suurimmalla osalla ohjelmointikieliä on omat standardikirjastot, mutta ohjelmoijat voivat myös luoda omia mukautettuja kirjastoja. Yksinkertaisesti sanottuna kirjasto on joukko toimintoja, joihin voit soittaa, kun taas kehys on koodinpätkä, joka sanoo projektin arkkitehtuurin. Tavallaan puitteet ja ohjelmointikielet ovat kietoutuneet toisiinsa, jotka yhdessä auttavat tietokoneohjelmissa.
”Ohjauksen kääntö” on avainero, joka erottaa kehyksen kirjastosta. Kirjasto on joukko toimintoja ja rutiineja, joita muut ohjelmat käyttävät, ja olet täysin hallussa, jos sitä kutsutaan menetelmälle kirjastosta. Ohjaus on kuitenkin käänteinen, jos kyseessä on kehys. Se sanelee projektisi rakenteen, eikä koodi koskaan kutsu puitteiksi, vaan kutsuu sinua. Yksinkertaisesti sanottuna, voit ajatella kirjastoa sovelluksen funktiona ja kehys sovelluksen luurankona, jossa sovellus määrittelee omat ominaisuutensa.
Kirjastot ovat joukko toimintoja, joita voidaan käyttää missä tahansa, mikä tarkoittaa, että se on yksinkertaisesti muiden kehittäjien kirjoittama koodi pala, jota voidaan käyttää uudelleen. Ne sisällytetään saumattomasti olemassa oleviin projekteihin lisätäkseen toimintoja, joihin pääset käyttämään sovellusliittymää. Niitä käytetään enimmäkseen usein käytettyihin moduuleihin, koska sinun ei tarvitse linkittää niitä selkeästi jokaisessa niitä käyttävässä ohjelmassa. Ne ovat tärkeitä ohjelmien yhdistämisessä ja sitomisprosessissa. Kehykset toisaalta tarjoavat standardin tavan rakentaa ja ottaa käyttöön sovelluksia, ja niitä voidaan useimmiten käyttää uuden projektin käynnistämisessä sen sijaan, että integroitaisiin olemassa oleviin.
JQueryn ja AngularJS: n eroon ymmärtämiseksi paremmin kirjaston ja kehysten välillä. jQuery on monialustainen JavaScript-kirjasto, joka yksinkertaistaa DOM-käsittelyä yhdessä monien muiden monimutkaisten asioiden kanssa, kuten CSS-manipulointi, HTML-tapahtumamenetelmät, AJAX-puhelut jne. jQueryn tarkoituksena on yksinkertaistaa JavaScriptin käyttöä verkkosivustollasi. Toisaalta AngularJS on rakenteellinen kehys, joka perustuu MVC-arkkitehtuuriin, jota käytetään dynaamisten verkkosovellusten luomiseen. Se perustuu kokonaan HTML: ään ja JavaScriptiin, ja toisin kuin jQuery, sitä ei voida integroida olemassa oleviin hankkeisiin, koska se puitteet antaa sille, kuinka koodisi tulee rakentaa ja ajaa.
Kun on epäselvyyttä päätettäessä, onko sinun käytettävä kirjastoa vai kehystä sovelluksen rakentamiseen, se kaikki hallitaan. Kirjastot ovat joukko toimintoja, joihin voit soittaa ja jokainen puhelu suorittaa jonkin tehtävän ja palauttaa ohjauksen takaisin sinulle. Ne voidaan integroida saumattomasti olemassa oleviin hankkeisiin, ja aloittamiseen tarvitaan vähän tietoa. Kehykset puolestaan sanelevat projektisi kokonaisrakenteen. Toisin kuin kirjastot, puitteet soittavat sinulle ja koodi ei koskaan puhu puitteiksi. Keskeinen ero on tietenkin ohjauksen kääntö. Yksinkertaisesti sanottuna, kirjastot ovat joustavampia ja niiden hallinnan taso on suurempi, kun taas puitteet vahvistavat rakennetta ja standardeja.