Imate odličnu ideju za JavaScript zasnovanu aplikaciju ili
web sajt? Sve što treba da uradite je da izaberete pravo rešenje otvorenog
koda.
Ako čitate ovo, pretpostavljam da ste početnik ili programer
početnik, ili biste inače angažovali nekoga da vam programira vašu ideju. Iako
ste verovatno već čuli za reči Angular, Ember i Backbone, možda ne znate šta su
oni ili kako oni pomažu u web programiranju.
Programeri koriste JavaScript za puno različitih web
aplikacija zato što on stvarno može da učini da strana klijenta – odnosno,
strana korisnika - izgleda lepo i dobro
funkcioniše. Iako možda ne izgleda tako star, JavaScript jezik postoji već
skoro 20 godina i ima puno toga da pokaže. Ako uvek dodajete sve više i više
kodova da bi JavaScript funkcionisao u više različitih pretraživača može da
postane veoma velik i zbunjujuć.
Isprobajte JavaScript radne okvire. Radni okviri kao što su Angular,
Backbone i Ember unose strukturu u vaš JavaScript kod i održavaju ga
organizovanim. To su sve rešenja otvorenog koda pa se konstantno poboljšavaju. Takođe
će vam uštedeti vreme zato što su građeni na Jquery-u, moćnoj biblioteci koja
olakšava izvršenje i čitanje malo težih operacije JavaScripta.
Evo primera kako referenciranje Jquerya može da poboljša
proces kodiranja: umesto da pišete dosadne linije koda za generisanje tabele,
možete a ubacite referencu u JavaScript biblioteku koja generiše tabelu pomoću
samo jedne linije koda. Ili, još bolje, ove prečice ne
samo da vam pomažu da radite brže, već čine da vaš kod funkcioniše u više
različitih okruženja.
Međutim, biranje JavaScript radnog okvira nije isto kao i
izbor između tri majice različitih boja. U stvari, više je kao biranje između
tri potpuno različita odevna predmeta: svaki od njih vam pomaže i prekriva vas
ali svi funkcionišu i izgledaju sasvim drugačije. Ne biste nosili kupaći kostim
po hladnom vremenu, niti zimski kaput na plažu. Isto tako, različiti JavaScript
radni okviri su bolji za različite vrste aplikacija.
Evo pregleda svakog od tri najpopularnija radna okvira i za
šta je najbolje upotrebiti ih:
Angular
Prvi put izdat 2009, AngularJS je najstariji od tri radna okvira. Verovatno
rezultat toga je da ima i najveću zajednicu.
2013. godine, Angular je bio na četvrtom mestu po broju
saradnika i na trećem mestu po broju zvezdica na GitHubu. Na web sajtu Built With AngularJS
možete da proverite sve aplikacije koje su kreirane pomoću Angulara.
Neke od najpoznatijih kompanija koje koriste AngularJS kao JavaScript
radni okvir su Google i Nike. Od avgusta 2013. godine, General Motors
automobili koriste aplikacije koje su kreirane pomoću Angulara. Videćete i puno
sajtova sa novostima koje koriste AngularJS na svojim početnim stranicama, kao
što su Guardian, Huffington Post i MSNBC.
Po rečima Igor Minara, vodećeg
programera AngularJSa u Googleu, više je reč o prilagodljivosti Angulara nego
što ima veze sa novostima.
“Ne mislim da Angular više odgovara sajtovima sa novostima
nego drugim sajtovima i aplikacijama. Ali definitivno postoji jako puno takvih
sajtova,” rekao je Minar. “Ja mislim da ove sajtove sa puno pregleda održavaju
kompanije koje zbog velike konkurencije trebaju da imaju najnoviju tehnologiju
da bi bili efikasni pri menjanju sadržaja i obezbeđivanju dobrog korisničkog
iskustva.”
Zašto su sajtovi koji koriste Angular dobri za kreiranje
brzih promena? Verovatno zato što Angular agresivnije od drugih radnih okvira
podstiče programere da kreiraju kodove koji su jednostavni za testiranje i
testiraju ih često. Možda će nekim programerima ove smernice biti malo dosadne,
isplati se malo grešiti u kodiranju pre nego što dobiju priliku da postanu
veliki.
Još nešto što je posebno za Angular je što ima puno svojih
termina i žargona. Minar misli da je razlog taj što radni okvir uključuje neke
funkcije koje ne sadrži nijedno drugo JavaScript rešenje.
“Neki termini koje mi često koristimo su specifični za
Angular i mogu zvučati kao žargon i veoma čudno” rekao je. “Dobra vest je da ih
web standardi sustižu i daju “zvanične”
nazive nekim od ovih koncepata."
Ako programirate pomoću Angulara, vi programirate po strogim
terminima Angulara, ali Google Trends pokazuje da to nije uopšte loše.
Trebaćete da upotrebite žargon Angulara i možda će vam trebati malo više
vremena dok vaš kod ne bude moguće testirati, ali je rezultat prilagodljivost.
Backbone.js
Backbone je
izdat u junu 2010. godine i njegova zajednica je skoro velika kao i zajednica
Angulara.
Mnoge popularne aplikacije koriste Backbone radni okvir,
uključujući i Twitter, Foursquare i LinkedIn Mobile. Takođe treba spomenuti je
da je veliki broj muzičkih aplikacija kreirano pomoću Backbonea, uključujući Soundcloud,
Pitchfork i Pandora.
Međutim, postoji nešto u vezi Backbonea što ne može da se uporedi
sa drugim radnim okvirima – a to je njegova veličina za preuzimanje.
Kompresovan i minimiziran, AngularJS je oko 36K; Ember početni paket je još
veći, čak 69K. Ali Backbone, u poređenju sa svojim suparnicima je svega 6.4K.
Sićušna veličina Backbonea je obično i razlog za izbor
ovog rešenja, pošto se on oslanja na svega jednu JavaScript biblioteku umesto
na nekoliko. Kao rezultat, Backbone je ekstremno mali
što znači da je dobar za kreiranje brzih i prilagodljivih aplikacija – ali je
najefektnije ako su te web aplikacije male same po sebi i jednostrane, ili još
bolje, da su samo deo stranice kao što su i mnoge muzičke aplikacije koje
koriste Backbone.
Evo još jedne karakteristike koja ističe Backbone: : Njegov
radni okvir je neverovatno praktičan, ili kao što neki programeri vole da kažu Backbone
“vam ne drži ruku.” To znači da iskusni JavaScript programeri mogu brzo da
započnu rad, ali manje iskusni programeri će možda pisati puno “šablona”, ili
ponavljajućih kodova.
Po rečima kreatora Backbonea, Jeremy
Ashkenasa, bavljenje bespotrebnim šablonima je “smešna marketinška kampanja”.
“Ako pišete puno šablona u Backboneu, onda ne znate kako da
ga upotrebite” rekao je Ashkenas. “Generalno, u programiranju, ako pišete isti
kod iznova i iznova – napišite funkciju koja će to za vas uraditi automatski.”
Međutim, ako imate problema, Backbone ima posebno aktivnu
zajednicu sa besplatnim uputstvima za započinjanje rada u radnom okviru. Puno
programera je na GitHub aploudovalo korisne primere i opise koji u drugim
radnim okvirima zahtevaju više posla.
Ako radite na jednostraničnoj aplikaciji ili vidžetu – i
odgovara vam da budete početnik – Backbone je verovatno najlakši radni okvir za
vas.
Ember.js
Ember najnoviji
radni okvir ali već diže prašinu. Prvi put je izdat 2011. godine, a prošle
godine je Ember dostigao svoju verziju 1.0. Takođe je nedavno Code
School počeo da održava obuke, a s
obzirom da Code School
već ima obuke za Angular i Backbone, verovatno je i najnoviji radni okvir koji
će postati isto toliko popularan.
LivingSocial, Groupon, Zendesk, Discourse i Square su neke
od najpoznatijih aplikacija koje su usvojile Ember. Kreatori Embera, Tom Dale i
Yehuda Katz kažu da je lako primetiti kada sajt koristi Ember, zbog njegove
brzine učitavanja.
“Oni izgledaju kao normalni web sajtovi samo što su daleko
brži od onih na koje ste navikli” rekao je Dale. “To je zbog toga što se
renderovanje izvršava u pretraživaču. Možda izgleda kao običan web sajt, ali
ispod haube, sagrađen je kao iOS ili Android aplikacija koja nije renderovana
od strane servera.”
Minimiziran i kompresovan Ember je 69K, što ga čini najvećim
radnim okvirom od spomenuta tri, ali Katz ističe da je to često veličina
prosečnih jpeg-ova.
“Razlog zbog kojeg sam siguran da će funkcije koje kreiramo
biti ono što ćete svakako koristiti je
zato što često gledam kompajlirane veličine Ember aplikacija među ostalim
aplikacijama u divljini i one su otprilike iste veličine,” rekao je Katz, dodajući
da programeri koji koriste druge radne okvire često preuzimaju dodatne
biblioteke i alatke u toku procesa kreiranja.
Emberova veća biblioteka delimično objašnjava njegovu
najveću veličinu preuzimanja između tri JavaScript radna okvira, ali još jedan
razlog je što Ember dolazi sa puno ugrađenih standardnih funkcija za podršku
koda. Ako ste ikada pokušali da kliknete na dugme Back na web sajtu i niste
dobili odgovor, onda znate šta se dešava kada se prekine JavaScript aplikacija.
Emberove funkcije za podršku postoje da bi se sprečile male dosadne greške.
Veličina biblioteke Embera i mreža podrške su njegove dve
najveće pozitivne funkcije ali ako pokušavate da kreirate samo mali
vidžet ili jednostranu aplikaciju, možda će vama biti previše. Ako radite na
višestraničnim projektima sa navigacijom, Ember će biti vaš izbor.
Kada programeri raspravljaju o ova tri radna okvira,
diskusija se često prelazi u jedan od ličnih favorita. Ali sa tačke gledišta
nekoga ko nije programer jasno je da različite aplikacije – i različite potrebe
– čine svaki radni okvir sjajnim.
Images by Madeleine Weiss for ReadWrite
Izvor:
http://readwrite.com/2014/02/06/angular-backbone-ember-best-javascript-framework-for-you