Избор правог алата или технологије за одређени проблем је један од најважнијих аспеката програмирања. Право средство кључ је успеха пројекта. Овде већина програмера не успева, јер се обично баве многим алатима. Ово се односи на крајње питање, "да ли треба да саставите апликацију на библиотеци или оквиру?" Ово је једна од најважнијих дискусијских тема у заједници програмера и често представља збрку. Мали тим са неколицином програмера, углавном почетника можда ће боље радити са оквиром, док библиотеке граде блокове који се могу користити било где и омогућавају већу флексибилност и контролу.
Кључна разлика између библиотеке и оквира је „Инверзија контроле“ (ИоЦ). Могло би се рећи да је оквир збирка библиотека, али цела идеја је некако другачија.
Библиотека је збирка функција за вишекратну употребу које користе рачунарски програми, што значи ресурсе које можете поново користити, а које могу укључивати класе, потпрограме, унапред састављени код, предлошке порука итд. Углавном програмски језици имају своје стандардне библиотеке, али програмери такође могу да креирају сопствену прилагођене библиотеке То је једноставно део кода који су написали други програмери и који се може поново користити било где. Библиотеке се могу без проблема интегрисати у постојеће пројекте како би се додала функционалност којој можете да приступите помоћу АПИ-ја. За почетак је потребно мало знања.
Фрамеворк је дио кода који диктира како пројекат треба бити структуриран и покренут. Једноставно налаже архитектуру вашег пројекта као што је дефинисање дизајнерских параметара апликације тако да можете да се фокусирате на специфичности пројекта, наглашавајући на поновну употребу дизајна, а не на поновну употребу кода. За разлику од библиотека, контрола је инвертирана у случају оквира и код никада не улази у оквир, уместо тога, оквир вас позива. За разлику од библиотека, оквири наглашавају структуру и стандарде.
У програмирању, библиотека је збирка функција за вишекратну употребу - што значи ресурсе које можете поново користити - које користе рачунарски програми. Ресурси, који се понекад називају и модулима, обично се чувају у објектном формату. Већина програмских језика има своје стандардне библиотеке, али програмери такође могу да креирају сопствене прилагођене библиотеке. Једноставно речено, библиотека је скуп функција које можете позвати, док је оквир део кода који диктира архитектуру вашег пројекта. На неки начин се испреплићу оквири и програмски језици који заједно помажу у рачунарским програмима.
"Инверзија контроле" је кључна разлика која раздваја оквир од библиотеке. Библиотека је скуп функција и рутина које користе други програми и ви имате потпуну контролу ако је позовете методом из библиотеке. Међутим, контрола је обрнута у случају оквира. Диктира структуру вашег пројекта и код се никада не позива у оквир, већ вас позива. Једноставно речено, библиотеку можете једноставно сматрати функцијом апликације и оквиром као костром апликације у којем апликација дефинише сопствене карактеристике.
Библиотеке су скуп функција које се могу користити било где, што значи да је то једноставно код који су написали други програмери и који се може поново користити. Они се неприметно укључују у постојеће пројекте како би додали функционалност којој можете приступити помоћу АПИ-ја. Најчешће се користе за често кориштене модуле јер их не морате изричито повезивати са свим програмима који их користе. Важни су у повезивању програма и процесу везивања. Оквири, с друге стране, пружају стандардни начин за изградњу и имплементацију апликација и могу се углавном користити приликом покретања новог пројекта, а не интегрисати у постојеће.
Да бисмо боље разумели разлику између библиотеке и оквира, погледајмо јКуери и АнгуларЈС. јКуери је библиотека на више платформи ЈаваСцрипт која поједностављује манипулацију ДОМ-ом заједно са многим другим компликованим стварима као што су манипулација ЦСС-ом, ХТМЛ догађајима, АЈАКС позиви итд. Сврха јКуери-а је да поједностави употребу ЈаваСцрипт-а на вашој веб локацији. АнгуларЈС је с друге стране структурални оквир заснован на МВЦ архитектури која се користи за креирање динамичких веб апликација. Потпуно је заснован на ХТМЛ-у и ЈаваСцрипт-у, а за разлику од јКуери-а, он се не може интегрисати у постојеће пројекте, јер као оквир диктира како треба да буде структуиран и покренут ваш код..
Када постоји забуна у одлучивању да ли треба да користите библиотеку или оквир за прављење апликације, све се своди на контролу. Библиотеке су скуп функција које можете позивати и сваки позив обавља неки задатак и враћа вам контролу. Могу се неприметно уклопити у постојеће пројекте и за почетак је потребно мало знања. Оквири, с друге стране, диктирају укупну структуру вашег пројекта и за разлику од библиотека, оквири вас зову и код се никада не позива у оквир. Кључна разлика је наравно Инверзија контроле. Једноставно речено, библиотеке су флексибилније са већим степеном контроле, док оквири намећу структуру и стандарде.