o ajax je dnes velky zaujem len preto, ze google sa rozhodol s tym troska poexperintovat
Nuz o update stranky bez postbacku bol zaujem odnedavna, pravy prevrat nepouzivat nato rozne hack-y(hidden frames/iframes, dynamicky loadovane elementy, java aplets) nastal ked IE5 doniesol activeX XMLHTTP objekt(pouzivany v ASP remote scripting, uz v roku 98!).
prakticky je to pre developera "pain in the ass"
Nuz a ked vo februari tohto roku tejto spleti technologii dali tipkovia z Adaptive-path ten COOL akronym(pre neznalych, AJAX okrem futbaloveho klubu znaci Greckeho mytickeho hrdinu) co ozivil Web Developing komunitu, sam som tomu nevenoval pozornost. Nuz ale v dalsich mesiacoch Web Dev komunita vyprodukovala zaujimave info/blogy, tam si mohol vidiet, ze to je ak sa chce uplne do pohody na implementaciu. V uvode tam sice bol heavy javascript, casom vsak logicky nato vznikli wrapery a spol. Osobne vyvijam v ASP.NET/2.0, a praca s 'AJAXom' je do pohody. Dnes su vsetky problemy s odlisnou interpretaciou java-scriptu browsermi, ci chapania DOM modelu zvacsa vyriesene.
Len napr. pre samotne ASP.NET mas dost AJAX frameworkov(a to neratam ine web-tech), ktore tie problemy riesia. Najdes implementacie vyuzivajuce Web Sluzby az po callbacky vobec nevyuzivajuce XML, od elegantnych(a jednoduchych) az po BIGGAS ones(a dost komplex, nutnost HTTPhandlerov a pod.->AJAX.NET), kazdy s cons/pros (back/forward features, browser compatibility, speed(compresion) etc.)
Suhlasim s tym, ze i ked je Google #1 znacka, aj on moze vdacit konecne vyspelym browserom, ze ten boom okolo ajaxu MOHOL zacat. Kedze tie open-source-poor-souls konecne dostali XMLHTTPRequest objekt do svojich browserov, vlastnost, ktoru mal IE5 od 98 roku. Stale vsetko nieje O.K. napr. Firefox:
In their infinite wisdom, the Firefox developers decided that an XMLHTTP call to a resource on different domain is a security issue.
P.Broomberg, pri tvorbe rss projektu s ajaxom
A tak narazit na temu AJAX je dnes ako stretnut cernocha v Afrike. Proste na vyber mas tolko (aj HOTOVYCH) frameworkov, ze som si niekedy pripadal ako v hrackarstve za mlada Ani komercne firmy nelenia a zakupit sadu AJAX ready server controls(napr. DART pod ASP.NET) je bezne. Ak chces pouzivat sucasne pride vhod fakt podarena implementacia(comfortASP), ktora tvoje controls jednoducho urobi AJAX ready, ale len na nekomercne pouzitie.
Prave s tym mnozstvom na vyber som mal problemy, zvolit SPRAVNY (I don't like reinventing the wheel) Ajax framework, osobne som hladal nejaky vyzadujuci minimalny maintance kodu, zachovavajuci 'state' stranky a nemeniaci ASP.NET postback coding-model. I ked robim uz len v 2.0, vyskusal som projekty pod ASP1.1, kedze mi interna implementacia AJAXU v ASP20, nazvana Client Callbacks, nesedela. Rick Strahl mal nato pekny clanok, je to neprirodzene a obmedzene(pracuje so stringom, dost weird code) pokial si nezozenies nejaky wrapper -> B.LeRoy Refresh panel na got.net). Nieje to vsak zbytocnost, kedze samotne ASP2 CC ciastocne u novych controls vyuziva, a pre newcommers nieje potrebna ani ciarka kodu (staci nastavit 1 property). MS si 'divne' pouzivanie CC uvedomuje a pre ASP.20 predstavil(Sep PDC) vynikajuci(i ked monstrozny) projekt ATLAS postaveny na CC, o ktorom NECHAPEM ze autor nenapisal ani n a pritom ATLAS asi zjednoti desiatky implementacii AJAXU v skorej buducnosti, kedze je real easy to use a s riadne cool filozofiou a obrovskou buducnostou.
http://atlas.asp.net
Nuz tak pozriet a hovorit o zlozitosti(na prezentacii inak projekt bezal v safari mimo ineho).
Nakoniec som nasiel peknu Library, ma IBA 1000 riadkov c# kodu a je velmi clever, zachovava viewstate(ak chces) aj pri callbackoch, a samozrejme, no-javascript involved(almost!), a cross browser functionality je tam, ako i klasicky ASP.NET coding model(staci nastavit AJAX atribut pri event_handleroch a len trosku javascriptu u klienta, v buducnosti aj bez).
Nuz a frameworky pre .NET neustale prichadzaju, na SourceForge bol nedavno dany zaujimavy AJAX Control panel(staci na neho nahadzat hocijake ASP.NET server controls, zachovava dokonca BACK/FORWARD browser history) az po riadne sikovne(nedokoncene) ideas(len pred par dnami OUTPOST projekt, vid codeproject).
S browserami nepodporujucimi javascript tiez nieje velky problem(aspon u .NET), browser detekcia je lahka vec a v najhorsom pripade u ASP.NET zachovas klasicky post-back model. A AJAX JE potrebny, efektivne vyuzivat bandwith je PRAVE to, co plno developerov pritahuje.