BLOG | Rad u okviru Framework-a
Mob. +381 65 2096 852 Mob. +381 65 2096 682 Tel. +381 11 201 55 00
< Nazad
26.11.2019

Rad u okviru Framework-a

Šta su frameworkovi i zašto ih korisiti

 

Jedna od definicija softverskog framework-a kaže da su to (verovali ili ne) abstrakcije koje softveru pružaju generičke funkcionalnosti koje mogu da se menjaju po potrebi novonapisanim kodom korisnika, odnosno programera. To su univerzalni, ponovo upotrebljivi standardni načini i okruženja za razvoj aplikacija koja pružaju određenu strukturu.

 

Malo zbunjujuće zvuči, znamo. Da uprostimo stvar – neki vredni programeri, iznervirani činjenicom da se stalno susreću sa istim problemima koje svaki put iznova rešavaju, sednu i napišu okvir (da tako kažemo) koji sadrži već napisane funkcije, delove koda, alate i mnogo drugih stvari koje se iznova upotrebljavaju iz projekta u projekat. Taj okvir se potom pusti u upotrebu svima nama, pri čemu se nađu još neki pametni programeri koji doprinesu nekim svojim rešenjima. I eto nama framework-a.

 

Na sličan način su mnogi poznati framework-ovi nastali. Omogućili su mnogima da se koncentrišu na postizanje željenih rezultata samog softvera, umesto da gube vreme pišući osnovne delove koda koji se mahom ponavljaju. Tako su framework-ovi skratili vreme potrebno za razvoj mnogih aplikacija.

 

 

U kom grmu leži zec

 

Naravno, kako u životu, tako ni u programiranju stvari nisu tako jednostavne i ružičaste. Niko se nije naučen rodio, pa tako svi koji misle da koriste neki framework moraju prvo da ga savladaju. Proces učenja može da se obavlja paralelno sa upotrebom ali to onda nije ono „skraćeno vreme potrebno za razvoj“.

 

Nije na odmet naučiti novo znanje i savladati framework koji će vam koristiti redovno u poslu. Smisao se gubi ako se zateknete u situaciji da projekat na kom radite zahteva određeni framework, koji ćete savladati za potrebe tog projekta i više ga nećete upotrebiti.

 

Naredni grm takođe krije zeca. Naime, baš zbog svog opšteg fokusa, frameworkovi sadrže mnogo koda od kog ćete verovatno upotrebiti mali deo na svom projektu, a (čitav) taj kod se svakako učitava, što usporava rad cele aplikacije. U ovakvim slučajevima, nije loše ipak ispisati sopstveni kod i zanemariti frameworkove kao takve, pogotovu ako ste početnik u programiranju.

 

Mnogi programeri čuvaju delove koda koje su već napisali nekom prilikom i upotrebljavaju ih ponovo na drugim projektima. U suštini, koncept je isti. Već napisan kod + izmene = manje posla. Samo u ovoj varijanti ne morate da povlačite brdo koda koji nećete upotrebiti, već samo ono što vam je zaista potrebno.

 

Vrste framework-ova

 

Framework-ovi se dele prema nameni. Mogu biti za razvoj web aplikacija, računarskog software-a, moblnih aplikacija i sajtova, itd. Treba naglasiti da neki framework-ovi cirkulišu u međuprostoru između ovih kategorija baš zbog svojih opširnih mogućnosti. Tako npr. Bootstrap (CSS framework) služi i kao web framework, ali i za web razvoj za mobilne uređaje.

 

 

Nezanemarljive prednosti

 

Iako upotreba framework-a može na samom početku da deluje kao otežavajuća okolnost (naročito nakon čitanja delova ovog bloga), nema dileme da pomaže i ubrzava proces razvijanja software-a, web stranica i td. kada se posmatra kao znanje naučeno za duže staze.

 

Osim toga, neko negde ipak garantuje da framework koji koristite nema bagove. Kao što smo već pisali nekoliko puta, bagovi mogu da koštaju mnogo ako se ne saniraju na vreme. Ako pak kombinacija vašeg koda i framework-a ima bagova, najverovatnije negde niste uskladili sopstveni kod sa framework-ovim. Drugim rečima, greške je verovatno vaša.

 

Ako pak odlučite da ne upotrebite ni jedan framework i uzdate se u sopstvenu veštinu kodiranja, za rešavanje bagova možete da se oslonite na QA testiranje. Tačnije morate, ako ne želite da snosite troškove naknadnih popravki koda. Srećom, naše obuke sadrže i framework-ove kao sastavni deo nastave, a imamo i obuku baš za QA testiranje. Upis je u toku, te nemojte časiti časa i upišite se već danas.

Leave a Reply

Your email address will not be published. Required fields are marked *