Výhody a nevýhody technológie AJAX

wifi ilustracka.jpg Náš se­riál, v kto­rom sme pred­sta­vi­li niek­to­ré tech­no­lo­gic­ké as­pek­ty a prin­cí­py tvor­by inter­ak­tív­nych ap­li­ká­cií AJAX, vstu­pu­je do fi­ná­le. V re­ka­pi­tu­lá­cii struč­ne zhr­nie­me vý­ho­dy a ne­vý­ho­dy toh­to fe­no­mé­nu.

Po­dob­ne ako aká­koľ­vek iná tech­no­ló­gia má aj AJAX nie­len vý­ho­dy, ale aj ne­vý­ho­dy. Skôr než sa dos­ta­ne­me k ne­vý­ho­dám vy­plý­va­jú­cich z ob­me­dze­ní pou­ži­tých tech­no­ló­gií, uve­die­me jed­nu ne­vý­ho­du na roz­hra­ní fi­lo­zo­fie a psy­cho­ló­gie – na­sa­de­nie rie­še­nia AJAX len pre­to, že je to no­vá tech­no­ló­gia, aj keď da­ná prob­le­ma­ti­ka by sa da­la rie­šiť efek­tív­nej­šie iným spô­so­bom. Je zná­me, že vý­vo­já­ri veľ­mi ra­di štu­du­jú a pre­sa­dzu­jú na­sa­de­nie no­vých tech­no­ló­gií.

Vý­ho­dy
Hlav­nou vý­ho­dou je pod­stat­né zrý­chle­nie be­hu pou­ží­va­teľ­ské­ho roz­hra­nia inter­ne­to­vých a intra­ne­to­vých ap­li­ká­cií, pre­to­že po kaž­dej ak­cii pou­ží­va­te­ľa net­re­ba zno­vu na­čí­tať ob­sah strán­ky, čím sa fun­kcio­na­li­ta tých­to ap­li­ká­cií z poh­ľa­du pou­ží­va­te­ľa prib­li­žu­je fun­kcio­na­li­te kla­sic­kých des­kto­po­vých ap­li­ká­cií, tak­že pou­ží­va­te­lia mô­žu vy­užiť svo­je mno­ho­roč­né skú­se­nos­ti s ob­slu­hou toh­to ty­pu ap­li­ká­cií. Veľ­ká vý­ho­da je aj ús­po­ra pre­no­so­vej ka­pa­ci­ty, pre­to­že sa ne­po­sie­la za­kaž­dým ce­lý kód strán­ky. Nap­rík­lad pri dy­na­mic­kej strán­ke sa po­sie­la len ob­sah tej čas­ti strán­ky, kto­rá sa prá­ve me­ní, tak­že pou­ží­va­teľ zís­ka do­jem ply­nu­lej prá­ce.

Pri vy­me­no­vá­va­ní ne­vý­hod AJAXu sa asi naj­viac pre­ja­ví sku­toč­nosť, že nej­de o no­vú prev­rat­nú tech­no­ló­giu, ale skôr o nad­stav­bu nad exis­tu­jú­ci­mi tech­no­ló­gia­mi, tak­že sa do is­tej mie­ry pre­ja­via aj ne­vý­ho­dy za­puz­dre­ných tech­no­ló­gií. Pro­to­kol HTTP to­tiž nie je navr­hnu­tý na in­ten­zív­nu ko­mu­ni­ká­ciu me­dzi server­om a klien­tom, pre­to­že pri kaž­dej po­žia­dav­ke na ko­mu­ni­ká­ciu sa mu­sí zno­vu nad­vä­zo­vať spo­je­nie. Veľ­kým ob­me­dze­ním je, že server ne­mô­že v prí­pa­de pot­re­by kon­tak­to­vať pou­ží­va­te­ľa. Všim­ne­te si to nap­rík­lad pri strán­kach na če­to­vú ko­mu­ni­ká­ciu, kto­ré sa v pra­vi­del­ných inter­va­loch ob­no­vu­jú, a to tak, že po­žia­dav­ka na ob­no­ve­nie ob­sa­hu strán­ky vy­chá­dza vždy od klien­ta. Ideál­ne pre ten­to typ ap­li­ká­cií by bo­lo, ke­by server mo­hol ob­no­viť ob­sah strá­nok u všet­kých za­in­te­re­so­va­ných klien­tov vždy v oka­mi­hu, keď sa ob­ja­ví no­vá sprá­va.

Mul­tip­lat­for­mo­vosť ver­zus kom­pa­ti­bi­li­ta
Ap­li­ká­cie AJAX, či už sú vy­tvá­ra­né po­mo­cou vlas­tné­ho kó­du, ale­bo s vy­uži­tím niek­to­ré­ho AJAX fra­mewor­ku, sa vždy vy­tvá­ra­jú ako mul­tip­lat­for­mo­vé, aby moh­li fun­go­vať vo všet­kých roz­ší­re­ných webo­vých pre­hlia­da­čoch. Tú­to sku­toč­nosť tre­ba mať v zá­ve­reč­nej eta­pe vý­vo­ja na pa­mä­ti a otes­to­vať vy­ví­ja­nú ap­li­ká­ciu v reál­nom server­ov­om pros­tre­dí pros­tred­níc­tvom via­ce­rých pre­hlia­da­čov. Čas­to sa nám to­tiž mô­že vy­pom­stiť aj ne­patr­ná od­chýl­ka od štan­dar­dov. Aj na­priek to­mu, že Ja­vaS­cript je mul­tip­lat­for­mo­vý, ne­patr­né roz­die­ly v im­ple­men­tá­cii tu exis­tu­jú. A aby to bo­lo eš­te zlo­ži­tej­šie, mno­ho pou­ží­va­te­ľov buď ne­má Ja­vaS­cript vô­bec, ale­bo ho má z dô­vo­du bez­peč­nos­ti za­ká­za­ný. V ta­kom­to prí­pa­de ap­li­ká­cia Ajax za­lo­že­ná na Ja­vaS­crip­te ne­bu­de fun­go­vať a vý­vo­jár by mal pos­kyt­núť al­ter­na­tív­nu, aj keď me­nej kom­for­tnú strán­ku fun­gu­jú­cu bez Ja­vaS­crip­tu.

Prob­lé­my pri kro­ku späť
Na­sa­de­nie AJAXu zne­mož­ňu­je vy­uží­va­nie niek­to­rých pr­vkov, kto­ré si ob­ľú­bi­li pou­ží­va­te­lia webo­vých ap­li­ká­cií, naj­mä tla­čid­la Späť na náv­rat na pred­chá­dza­jú­cu strán­ku. Ak to­to tla­čid­lo vô­bec fun­gu­je, spra­vid­la sa sprá­va neo­ča­ká­va­ne, nap­rík­lad sí­ce vrá­ti pou­ží­va­te­ľa na pred­chá­dza­jú­cu strán­ku, ale nie do zod­po­ve­da­jú­ce­ho sta­vu, tak­že úda­je prác­ne za­da­né pou­ží­va­te­ľom sa spra­vid­la stra­tia. Ta­kis­to ne­mož­no ulo­žiť do ob­ľú­be­ných strá­nok ale­bo pos­lať mai­lom ad­re­su URL strán­ky v kon­krét­nom po­ža­do­va­nom sta­ve. Ur­či­té rie­še­nie toh­to prob­lé­mu pred­sta­vu­jú des­krip­to­ry (za­čí­na­jú­ce sa zna­kom #), kto­ré uka­zu­jú dov­nút­ra strán­ky, tak­že pri opä­tov­nej ak­ti­vá­cii ta­kej­to ad­re­sy URL uve­die Ja­vaS­cript strán­ku do po­ža­do­va­né­ho sta­vu.

Ob­me­dzenia vy­plý­va­jú­ce z asyn­chrón­ne­ho spra­co­va­nia po­žia­da­viek
Ko­mu­ni­ká­cia klien­tske­ho pre­hlia­da­ča so server­om pre­bie­ha asyn­chrón­ne, pre­to sa ta­ká­to ap­li­ká­cia mô­že z poh­ľa­du klien­ta nie­ke­dy sprá­vať nez­vy­čaj­ne, hlav­ne v po­rov­na­ní s kla­sic­ký­mi des­kto­po­vý­mi ap­li­ká­cia­mi, kto­ré fun­gu­jú tak, že pou­ží­va­teľ po­mo­cou ov­lá­da­cích pr­vkov vy­ko­ná ne­ja­kú ak­ciu a poč­ká si na jej vý­sle­dok. Pri ap­li­ká­cii AJAX mô­že pou­ží­va­teľ klik­núť na niek­to­rý ov­lá­da­cí pr­vok viac­krát a vý­sled­ky sa bu­dú nás­led­ne prie­bež­ne zob­ra­zo­vať. Pre­to by vý­vo­já­ri ma­li pa­mä­tať na ob­me­dzenia vy­plý­va­jú­ce z asyn­chrón­ne­ho spra­co­va­nia a vlas­tný­mi pros­tried­ka­mi sig­na­li­zo­vať, že sa ča­ká na vý­sle­dok ne­ja­kej ak­cie. Na­vy­še asyn­chrón­ne spra­cú­va­né po­žia­dav­ky sa ne­mu­sia spra­co­vá­vať v po­ra­dí, v akom bo­li ini­cia­li­zo­va­né. Pre­to ak pou­ží­va­teľ na­raz ak­ti­vu­je viac ov­lá­da­cích pr­vkov, z kto­rých kaž­dý vy­vo­lá asyn­chrón­ne spra­cú­va­nú po­žia­dav­ku, mô­že ľah­ko stra­tiť preh­ľad o ak­tuál­nom sta­ve ap­li­ká­cie. Pri asyn­chrón­ne spra­cú­va­ných ak­ciách tre­ba s roz­va­hou vy­uží­vať potvr­dzo­va­cie ok­ná, pre­to­že sa veľ­mi ľah­ko mô­že stať, že pou­ží­va­teľ potvr­dí inú ak­ciu, ako za­mýš­ľal.

AJAX ver­zus no­vé čr­ty mo­der­ných pre­hlia­da­čov
No­vé ver­zie pre­hlia­da­čov webo­vé­ho ob­sa­hu pri­nies­li niek­to­ré uži­toč­né no­vé čr­ty. Naj­väč­šia no­vin­ka, kto­rá nás v no­vej ver­zii Explo­re­ra upú­ta už na pr­vý poh­ľad, sú zá­lož­ky, kto­ré pos­ky­tu­jú mož­nosť ot­vo­re­nia via­ce­rých strá­nok v jed­nom ok­ne. V niek­to­rých pre­hlia­da­čoch sa tá­to fun­kcia vy­sky­tu­je už dlh­šie. Pri pou­ži­tí dy­na­mic­ky ge­ne­ro­va­ných strá­nok nie vždy fun­gu­je ak­ti­vo­va­nie niek­to­rých dy­na­mic­ky pre­po­je­ných ak­cií v no­vých zá­lož­kách. Lo­gic­ky to pla­tí aj pre no­vé ok­ná.

Po­ten­ciál­ne zvý­še­nie ko­mu­ni­kač­nej zá­ťa­že me­dzi klien­tom a server­om
Ho­ci vo všeo­bec­nos­ti sa ob­jem pre­ná­ša­ných úda­jov me­dzi server­om a klien­tom pri ap­li­ká­cii AJAX zmen­ší, ne­mu­sí to byť vždy prav­da. Pri nes­práv­ne navr­hnu­tej ap­li­ká­cii mô­že, nao­pak, ko­mu­ni­kač­ná zá­ťaž na­rásť, pre­to­že sa mô­žu čas­tej­šie pre­ná­šať po­žia­dav­ky HTTP.

Hos­po­dá­re­nie s vý­ko­nom pro­ce­so­ra klient­skych sta­níc
Da­ňou za dy­na­mic­kej­šie a pre pou­ží­va­te­ľa za­ují­ma­vej­šie a lep­šie ob­slu­ho­va­teľ­né strán­ky je viac skrip­to­vé­ho kó­du, čo vo väč­ši­ne prí­pa­dov v ko­neč­nom dôs­led­ku zna­me­ná spo­ma­le­nie pre­hlia­da­ča. Tá­to ne­vý­ho­da bo­la mar­kan­tnej­šia skôr v mi­nu­los­ti, keď na po­ma­lých PC, kto­ré sa na prís­tup k inter­ne­tu pou­ží­va­li, bo­lo inter­pre­to­va­nie Ja­vaS­crip­tu v pre­hlia­da­či znač­nou zá­ťa­žou. Mo­der­né PC, sa­moz­rej­me, už ten­to prob­lém ne­ma­jú a na strán­ke mô­že byť po­mer­ne ve­ľa kó­du bez to­ho, aby sa po­čí­tač vý­raz­nej­šie za­ťa­žil. No tre­ba my­slieť na to, že k strán­kam sa eš­te stá­le pris­tu­pu­je aj zo star­ších pre­hlia­da­čov a v ko­neč­nom dôs­led­ku efek­tív­ny kód je aj dob­rá vi­zit­ka prog­ra­má­to­ra. A aj ma­ji­te­lia vý­kon­nej­ších po­čí­ta­čov, ak ma­jú na­raz spus­te­ných via­ce­ro ajaxových ap­li­ká­cií, mô­žu pri nee­fek­tív­ne na­pí­sa­nej ap­li­ká­cii po­cí­tiť spo­ma­le­nie sťa­žu­jú­ce se­rióz­nu prá­cu.

Čo ne­náj­du vy­hľa­dá­va­če, to neexis­tu­je
Nad­pis sta­te je pa­raf­rá­zou vý­ro­ku „Kto nie je v mé­diách, ten neexis­tu­je“. Pre­vádz­ko­va­te­lia webo­vých ap­li­ká­cií ma­jú z po­cho­pi­teľ­ných dô­vo­dov zá­ujem, aby pou­ží­va­te­lia ľah­ko a efek­tív­ne naš­li in­for­má­cie na­chá­dza­jú­ce sa na ich strán­kach. Daj­me si ru­ku na sr­dce: koľ­kí z nás ma­jú ako do­mov­skú strán­ku nas­ta­ve­ný niek­to­rý zo zná­mych vy­hľa­dá­va­čov? Webo­vé strán­ky, kto­ré väč­ši­nu svoj­ho ob­sa­hu na­čí­ta­va­jú dy­na­mic­ky, pred­sta­vu­jú pre vy­hľa­dá­va­cie a in­dexova­cie ro­bo­ty ur­či­tý prob­lém. Ro­bot sa ne­vie dop­ra­co­vať k zlo­ži­tej­šie dy­na­mic­ky na­čí­ta­nej in­for­má­cii, a pre­to ju ne­mô­že za­ra­diť do svo­jej da­ta­bá­zy. Mô­že nas­tať aj opač­ná si­tuácia, keď vy­hľa­dá­va­cí ro­bot ne­ja­kú in­for­má­ciu náj­de, ulo­ží si ju do svo­jej da­ta­bá­zy a s od­stu­pom ča­su, nap­rík­lad na dru­hý deň, sa vy­ge­ne­ru­je s tou is­tou ad­re­sou URL strán­ka s úpl­ne iným ob­sa­hom, tak­že pou­ží­va­teľ, kto­rý na ta­kú­to strán­ku pris­tú­pil z vy­hľa­dá­va­ča, ju spra­vid­la opus­tí, pre­to­že ne­náj­de po­ža­do­va­nú in­for­má­ciu.

S tech­no­ló­giou AJAX sa nak­rát­ko roz­lú­či­me akým­si epi­ló­gom ve­no­va­ným bu­dú­cim tren­dom v ob­las­ti ap­li­ká­cií AJAX v nas­le­du­jú­com čís­le. Sa­moz­rej­me, vý­voj ide dop­re­du, a tak onedl­ho pred­sta­ví­me no­vé tech­no­ló­gie, nap­rík­lad prip­ra­vo­va­ný ASP.NET AJAX 4.0.

Zdroj: Infoware



Ohodnoťte článok:
   
 

24 hodín

týždeň

mesiac

Najnovšie články

Se­riál: C++ pod Win­dows
Se­riál C++ pod Windows, vy­chád­zal v ma­ga­zí­ne PC REVUE od augusta 2000 do septembra 2002. Se­riál ob­shu­je 26 čas­tí. čítať »
 
Se­riál: Prog­ra­mu­je­me gra­fic­ký en­gi­ne
Se­riál Programujeme grafický engine, začal vychád­zať v ma­ga­zí­ne In­foware od novembra 2007 a stále vychádza. Se­riál zatial ob­sahu­je 36 čas­tí. čítať »
 
Se­riál: Tvor­ba in­ter­ak­tív­ne­ho webu s jQuery
Se­riál Tvor­ba inter­ak­tív­ne­ho webu s jQuery, za­čal vy­chád­zať v ma­ga­zí­ne In­foware od apríla 2011 a stá­le vy­chád­za. Se­riál za­tiaľ ob­sa­hu­je 2 čas­tí. čítať »
 
Se­riál: Prog­ra­mu­je­me GPU
Se­riál Programujeme GPU, za­čal vy­chád­zať v ma­ga­zí­ne In­foware od januára 2011 a stá­le vy­chád­za. Se­riál za­tial ob­sa­hu­je 4 čas­tí. čítať »
 
Se­riál: Vý­voj ap­li­ká­cií pre Of­fi­ce 2010 (2007)
Se­riál Vývoj aplikácií pre Office 2010 (2007), za­čal vy­chád­zať v ma­ga­zí­ne In­foware od januára 2011 a stá­le vy­chád­za. Se­riál za­tial ob­sa­hu­je 4 čas­tí. čítať »
 
Se­riál: Jyt­hon
Se­riál Jython, vy­chád­zal v ma­ga­zí­ne In­foware od apríla 2008 do novembra 2009. Se­riál ob­shu­je 14 čas­tí. čítať »
 
Se­riál: Vý­voj ap­li­ká­cií pre mo­bil­né za­ria­de­nia / Ako stvo­riť An­droid
Se­riál Vývoj aplikácií pre mobilné zariadenia / Ako stvoriť Android, za­čal vy­chád­zať v ma­ga­zí­ne In­foware od ja­nuá­ra 2011 a stá­le vy­chád­za. Se­riál za­tial ob­sa­hu­je 4 čas­tí. čítať »
 
Se­riál: Ar­dui­no
Se­riál Arduino, vy­chád­zal v ma­ga­zí­ne In­foware od marca 2010 do júna 2010. Se­riál ob­shu­je 4 čas­tí. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter