Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Ajaxilla pontetiaalia...?

Sivun loppuun

Triton [23.11.2008 18:05:01]

#

Lueskelen tässä erästä Ajax-tekniikasta kertovaa kirjaa, ja minulle on herännyt kysymys siitä, että onko Ajax-tekniikalla oikeasti potentialia verkkosovelluksia tehtäessä, jos ihan ammattitasolla tehdään? Mitä oletta mieltä? Kun näitä verkkosovelluksien kehitystä varten on tehty niin paljon erilaisia systeemejä, että ei meinaa pysyä perässä. Ajaxin asynkronisuus on mielestäni hyvä juttu, mutta ongelmaksi voi hyvin pian tulla se, että data minkä liikkuu clientin ja serverin välillä on nopeasti kasvaa liian suureksi, mikä voi tehdä sovelluksesta entistä raskaamman. Toisaalta Java-pohjaisissa ohjelmissa voi tulla ongelmia siitä, ettei ihmisillä ole JDK:ta asennettuna jne... Samoin myös JavaScript herättää useissa ihmisissä epäluuloa, jolloin sitä yritetään vältellä ja sillä onkin hieman "lelukieli"-imago, mutta taas Ajaxia käytettäessä se on keskeinenosa.

Metabolix [23.11.2008 18:15:40]

#

AJAXin erityinen etu minusta on se, ettei sen käyttämiseen tarvita kuin sopiva selain. Lisäksi HTTP:n käyttö on ohjelmoijan kannalta nopeaa, kun ei tarvitse kirjoitella itse uusia protokollia ja palvelintukea näille. Oikeastaan ainoa asia, johon AJAX on erityisen huono, on reaaliaikaisuus, koska HTTP:tä ei ole suunniteltu reaaliaikaiseksi vaan pyyntöpohjaiseksi, jolloin jokaista viestiä varten tarvitaan uusi pyyntö, jonka täytyy vieläpä lähteä asiakasohjelman puolelta. Toinen syy muiden tekniikoiden käyttöön on taas se, että monet graafiset asiat ovat JavaScriptilla mahdottomia tai hitaita, jolloin Flash tai Java on lähes välttämätön. Tämä ei kuitenkaan liity sinänsä AJAXiin, joka on lähinnä tiedonsiirtomenetelmä.

Triton [23.11.2008 18:48:31]

#

Näinpä se taitaa olla...Kuitenkin tuntuu vähän siltä, että jotkin sivut hyödyntävä Ajaxia lähinnä sitä varten, että suuria määriä tietoja saadaan päivitettyä realiaikaisesti ilman erillistä lataamista, mikä väkisinkin vie siihen, että sovelluksesta tulee raskas... Entäs sitten palvelin puolen koodin laita? Onko PHP vieläkin ihan käytännöllistä toteuttaa näitä ohjelmia, vai pitääkö alkaa harkitsemaan jonkin muun kielen käyttämistä?

Edit. Eikö Flash-rankenteiset sivutkin ole raskaita, kun niissä pitää ladata elementit ym.

Metabolix [23.11.2008 18:54:38]

#

Sivun lataaminen uudestaan AJAXilla ei ole sen raskaampaa kuin muukaan sivunlataus, päinvastoin: AJAXilla ladattaessa vältytään sivun reunaosien (otsikon, valikoiden jne) lataamiselta. Kyseessä vain on psyykkinen harhakuva, joka johtuu luultavasti siitä, että muu sivu on valmiina ja latauksen "hitautta" on helpompi katsella kuin normaalissa sivunlatauksessa, jossa koko ikkuna käy valkoisena.

Kuten yllä mainitsin, AJAXin kanssa ei tarvita mitään erikoista, vaan esimerkiksi PHP sopii sivujen kirjoittamiseen aivan hyvin. AJAX ei minusta ole mikään syy vaihtaa muuhun kieleen, mutta toki kannattaa aivan henkilökohtaisesti miettiä, tuntuuko jokin muu kieli mukavammalta. Web-sivujahan tehdään myös mm. Perlillä ja Pythonilla.

Blaze [23.11.2008 18:55:36]

#

Metabolix kirjoitti:

AJAXin erityinen etu minusta on se, ettei sen käyttämiseen tarvita kuin sopiva selain.

Minusta tuo on just sen erityinen ongelma :)

Metabolix [23.11.2008 18:57:01]

#

Blaze kirjoitti:

Metabolix kirjoitti:

AJAXin erityinen etu minusta on se, ettei sen käyttämiseen tarvita kuin sopiva selain.

Minusta tuo on just sen erityinen ongelma :)

Minusta se on kuitenkin pienempi ongelma kuin esimerkiksi ActiveX-komponentit, ja Sampo Pankkihan onnistui osoittamaan, ettei Javakaan toimi kaikilla samalla tavalla. >_>

Triton [23.11.2008 19:05:36]

#

Pystyykö Java Servletit ja Ajaxin yhdistämään vai onko kyseessä kaksi eri tekniikkaa?

FooBat [23.11.2008 19:14:56]

#

Itse olen ollut tekemässä paria kaupallista verkkosivua, joilla on sujuvasti käytetty yhteen flashia, javascriptiä, ajaxia ja taustalla eri frameworkkien päällä pyöriviä java-servereitä. AJAX tuo huomattavaa sujuvuutta ja joustavuutta webbisivujen tekoon. Yleisin tapa käyttää ajaxia on ladata jonkin osa sivusta uudestaan koskemaatta muuhun sivuun, jolloin sivun käyttäminen on käyttäjän kannalta sujuvampaa. Toinen yleinen ajaxin käyttötapa oli erilaisten tilastojen kerääminen serveripuolelle. Tämä onnistuu helposti yksittäisillä asynkronisilla funktiokutsuilla ilman, että pitää ladata jotain toista sivua käyttäjälle.

Ajaxilla saa siis helposti aikaan käyttäjän kannalta oikeanlaista interaktiota, jossa sivusto muuttuu käyttäjän toimien mukaan ilman jatkuvia sivun uudelleen latauksia. Tietenkin sivustosta saisi vielä reaaliaikaisemman, jos kaiken datan lataisi valmiiksi javascriptin muistiin ja suoraan client-päässä javascripillä muokkaisi sisältöä, mutta tämä on ohjelmoinnin ja ylläpidon kannalta aika ikävä ratkaisu. Flashillä saadaan hienoa sisältöä, mutta sen työstäminen on paljon työläämpää ja tietyissä asioissa rajoittuneenpaa kuin perus html:n, joten mahdollisimman paljon asioista pyritään tekemään html:llä.

Client-puolella javan käyttö on viimeaikoina ollut hiukan epäsuosiossa ilmeisesti sen takia, että java-tulkin käynnistys selaimessa on usein erittäin hidas tai ainakin merkittävästi hitaanpi kuin flashin käynnistys. Tämä tekee usein java-apleteista hitaamman oloisia, vaikka näin ei todellisuudessa olisikaan.

Tietenkin pitää muistaa se vanhonen naavojen viisaus, että webbisivu on rikki, jos se käyttää javascriptiä tai flashiä eikä toimi ilman niitä. Tämä tosin alkaa nykyää olemaan 'User error' :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta