Portál AbcLinuxu, 30. dubna 2025 09:02

AJAX, MVC, Java ... zamysleni nad konceptem.

5.8.2005 12:01 | Přečteno: 1914×

Už nějaký den vyhodnocuji pro novou webovou aplikací možné technologie. Rád bych, aby aplikace využívala konceptu AJAX, ale nejprve mi AJAX neladil s MVC paradigmatem. Tento rozpor jsem překonal a napadla mne jistá koncepce. Jelikož se ale příliš neorientuji v Jave/J2EE, nad kterou je vystavěna většina frameworků, chci se zeptat těch kteří se orientují, zda takový framework existuje.

Takže k věci. To co mám vyvinout je vysoce interaktivní výpočet závislý na řadě vstupních navzájem se ovlivnujících parametrů. Takže proto AJAX. Jenže zdálo se mi, že volání serverových funkcí pomocí XMLHttpRequest jaksi porušuje paradigma MVC. Pak jsem si ale uvědomil, že budu-li z klienta volat volat pouze jednu funkci serveru, a to řekněme updateView('operace', parametry) a návratovou hodnotou nebude true-false-int-string, ale JS kod pro manipulaci s DOM modelem browseru, tak mám prostě logiku aplikace na serverové straně.

Pak mne ale napadlo, co kdyby se volalo updateView('operace') bez parametrů a na serverovou stranu by se spolu s touto operací zaslaly změny v DOM modelu prohlížeče. No a server by měl na své straně kopii DOM, se kterou by bylo možné třeba i omezeně operovat. Příslušné změny DOMu na serveru by se poté releasly zpět na prohlížeč (asynchronně).

Nejsem si jist, že mi budete rozumět, případné nejasnosti rád v diskuzi objasním. Jde mi o to, jestli jsem nenapsal úplnou koninu a jestli náhodou obdobný framework (nemusí být pro JAVu) neexistuje. Díky všem zasvěceným.

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

5.8.2005 14:08 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše GET/POST
Odpovědět | Sbalit | Link | Blokovat | Admin
Nejsem si jistý, jestli ti rozumím, ale přijde mi, že popsané řešení by simulovalo GET/POST metody, nikoliv je nahradilo.
Math, as Barbie says, is hard.
5.8.2005 15:33 Jiří (BoodOk) Kadeřávek | skóre: 19 | blog: BoodOk | Brno
Rozbalit Rozbalit vše Re: GET/POST
Slo mi o moznost manipulovat s DOM browseru na strane serveru. GET/POST by to nesimulovalo, pri GET/POST dojde vzdy k vystaveni noveho dokumentu, tady by slo o zmeny DOM prenasene pres XMLHttpRequest. Vicemene jsem chtel vedet, jestli existuje nejaky framework, kde bych si mohl na serverove strane zjistit jakoukoliv hodnotu z DOM browseru neco jako (tenhle kod by se jeste jednou opakuji vykonal na serveru):

x = BrowserDocument.getElementById('textdiv').innerHTML;

Stacilo by kdyby DOM na serveru byl read-only kopii DOM na browseru.
Věda má v sobě určitou zpupnost, že čím dokonalejší techniku vyvineme, čím více se dozvíme, tím lepší budou naše životy.
5.8.2005 16:13 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: GET/POST
Já si právě říkám, jestli GET/POST (možná kombinované s AJAXem) by nebylo lepší. O frameworku nevím, ale četl jsem cosi o AJAXu s Ruby on Rails.

Tohle:

x = BrowserDocument.getElementById('textdiv').innerHTML;

je podle mě úkol pro XML parser...
Math, as Barbie says, is hard.
5.8.2005 21:46 Peter Figura | skóre: 12 | blog: pefi | Modra
Rozbalit Rozbalit vše Struts
Odpovědět | Sbalit | Link | Blokovat | Admin
Kedze este framework SHALE nie je dokonceny (aspon si myslim), ktory by mal podporovat AJAX (remoting), zatial doporucujem pouzit klasiku: struts.

Velmi pekny clanok o AJAXe a struts je Ajax using XMLHttpRequest and Struts. Su tam aj prilozene zrozumitelne priklady. K tomuto clanku prebehla diskusia na serveri TheServerSide.

Udajne by AJAX nemal narusat principy MVC, ide iba o vyuzitie asynchronnej komunikacie. Samozrejme AJAX ma aj svoje nedostatky (JavaScipt na klientskej strane, problemy s BackHistory, ...). Napriklad ja planujem vyuzivat AJAX vo svojej aplikacii minimalne, doplnkovo, len kvoli vyssej efektivite pri zlozitejsich formularoch. Samozrejme sa budem snazit to napisat tak, aby som zarucil funkcny beh aplikacie aj na nepodporovanych prehliadacoch.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.