PDA

Pogčedajte punu verziju : dilema -> Ajax vs. server side: kako rasporediti?


dee
09. 08. 2007., 09:19
Naumio sam neku aplikaciju isterat koliko god ide kroz ajax. zanima me, cisto principijelno, uzmimo da imamo 3 glavna 'dijela aplikacije' ->

- news
- users
- general settings

pri otvaranju bilo kojeg dijela, npr. newsa, otvara se njeno 'pocetno stanje'. npr pocetno stanje 'news' grupe je recimo lista zadnjih x objavljenih clanaka. za usera lista njegovih osnovnih settingsa, itd itd...

zanima me, to 'pocetno stanje', da li da ga prosto 'istresem sa servera' klijentu ili da i to 'gradim' ajaxom? dakle, javascriptom dodavanje elemenata koje nakon toga punim asinhronim zahtjevima ili istresem sa svim elementima pa onda samo editiranje ajaxom?

prosto, kako rasporedjujete te stvari, koliko (i sta) treba odradit server a koliko klijent u ajax aplikacijama? iskustva, razmisljanja...


tnx

noviKorisnik
09. 08. 2007., 09:45
Čini mi se da je teško da generalizuješ pristup, moraš strogo da uzimaš u obzir konkretan kontekst.

Recimo, ukoliko je news sekcija javna i ako ti je bitno indeksiranje od strane pretraživača (možda i nije, ali ukoliko jeste :-) ... moraš da obezbediš pristup kompletnom sadržaju sekcije i za non-js okruženje. Tako listing članaka možeš da proširuješ ajaxom, ali i da imaš klasičnu paginaciju kao alternativu.

Što se tiče user settings (ovo sam razumeo kao interfejs pojedinačnog korisnika, pregled i uređivanje ličnog profila, da ne bude zabune) ... to nije javno i možeš da se igraš ajaxom koliko ti volja, međutim, kolika je zaista ta količina podataka koja upada u ova podešavanja - ako toga i nema toliko puno da bi se sad nešto klasifikovalo u grupe opcija onda praktično može da se kompletno inicijalno stanje generiše sa servera a eventualne izmene da servisira ajax (u celoj ovoj priči - ukoliko kažeš "ajax je must" - inače opet mora da se obezbedi i klasično uređivanje).

dee
09. 08. 2007., 10:39
u ovom slucaju mislim na striktno back-end dio. javni dio je potpuno odvojena prica, njega ne bih ni radio ajaxom, bar ne znacajno (google i ostalo). dakle, striktno aplikativni dio iza scene ('ajax je must - spideri ionako nemaju pristup), sta u njemu na koji nacin odraditi?...

dee
09. 08. 2007., 15:27
mene zapravo zanima (dakle uz non-spider i 'ajax is a must' pretpostavke):

- otvaram stranicu newsmanaging.php
- inicijalno se na njoj treba pojaviti lista naslova zadnje npr. 10 napisanih newsa
- svaki news ima 'edit in place title' button, ima 'expand' button, kad se expanda ima 'edit in place text' button...itd itd...

kad ovo pisem u non-ajax varijanti server sklopi stranicu ovisno o odabranim opcijama i posalje klijencu. medjutim, ja npr. gledam u listu naslova clanaka i kliknem na gumb 'dodaj novi tekst' sto zapravo znaci -> u neki kontejner 'radnu povrsinu' ucitaj mi UI za 'dodavanje novog teksta'. dakle, ucitat ce HTML + kontrole vezane uz taj UI (dakle funkcije, events, etc etc... ) ili cu ja sve javascript/ajax kontrole (za sve moguce objekte/elemente na svim podstranicama) imati definirane na osnovnoj/pocetnoj stranici a kasnije razmjenjivati sa serverom iskljucivo podatke i (sto je manje moguce) HTML?

noviKorisnik
09. 08. 2007., 23:55
Imaš potpunu slobodu izbora.

Već kada ti navodiš da otvaraš newsmanaging.php, to govori da razmišljaš u smeru da razdvajaš administrativne celine, mada ti ajax omogućava da kompletno zaleđe sajta bude jedna stranica, jedna aplikacija koja može modularno da se proširuje. U sklopu ove modularnosti podrazumeva se da se i skriptovi dovlače po potrebi, umesto velike inicijacije i čega treba i čega ne.

I opet da se vratim na ono iz prethodnodne poruke - sve je relativno i zavisi od složenosti sistema - ukoliko ti barataš sa 3 segmenta koji čine aplikaciju, nije strašno ako se sve digne na početku (a verovatno jeste jednostavnije za realizaciju), ali ta priča ne može da opstane ukoliko je to složenije i treba da se raste vremenom.

dee
10. 08. 2007., 02:44
u tome i jest stvar sto ja nemam dovoljno informacija/iskustva da bih uopce mogao 'razmisljati' ;). zato sam i doletio s pitanjem...

al da, ovo ostalo sta govoris je zapravo odgovor na dilemu, sad je jasnije.

hvala ti

MrSteel
10. 08. 2007., 09:37
ako je to administrativni deo ili neka aplikacija nista te ne sprecava da bude full ajax,
za internet stranicu koju bi da indeksiras isto bi se moglo reci ali to onda radja jos gomilu posla, kreiranja deep linkinga i sl stvari