Ajax hylätty (ainakin toistaiseksi)
Muutaman päivän intensiivisen koodauksen jälkeen aloin saada jo melko toimivaa jälkeä aikaan tuossa Ajax-projektissa ja JavaScript-koodia oli kasassa n. 700 riviä. Firefox totteli käskyjä pääasiassa oikein kiltisti ja js-konsoli kertoi missä mentiin vikaan. Mutta annas olla kun yritin IE:llä. Ensin pähkäilin pitkään, että miksi ei näy ruudulla yhtään mitään, vaikka source-näkymä näyttää ihan hyvältä. Olin sisällyttänyt javascriptin tyhjällä elementillä:
<script language="javascript" type="text/javascript" src="editor_engine.js"/>
IE ei tästä tykännyt laisinkaan, vaan lopetti koko sivun piirtämisen valittamatta kuitenkaan mistään virheestä(sic!). Kun korjasin tagin muotoon:
<script language="javascript" type="text/javascript" src="editor_engine.js"></script>
niin päästiin eteenpäin. Mystisiä ongelmia tuli kuitenkin heti eventtien käsittelyssä (esim. onChange-event lähtee eri aikaan) ja ilmeisesti myös DOM-käsittelyssä, vaikka olin yrittänyt erikseen ottaa huomioon selainten event-rajapintojen erot.
Nyt siis näyttää siltä, että teen tämän sovelluksen käyttöliittymälogiikan sittenkin perinteisemmin mahdollisimman pitkälti serveripuolella PHP:lla. Ehkä palaan tuohon Ajax-koodiin vielä jossain myöhemmässä vaiheessa, mikäli aikaa on ja selainympäristöt lähentyvät toisiaan. Hyödyllinen kokemus tämä kuitenkin oli. Nyt voi olla entistä paremmin perustein sitä mieltä, että työpöytätyyppiset sovellukset kannattaa ylimääräisen säädön minimoimiseksi tehdä joko kontrolloidussa palvelinympäristössä tai työasemapäässä paksuna sovelluksena esim. Javalla.
XUL on myös mielenkiintoinen UI-rakennustekniikka, johon pitäisi tutustua tarkemmin jossain välissä. Mozillan Firefoxin ja Thunderbirdin kälit on ilmeisesti kokonaan rakennettu tällä XML-pohjaisella käyttöliittymäkuvauskielellä. Firefox-selaimen lukuisat laajennokset todistanevat tekniikan jonkinasteisesta käyttökelpoisuudesta. Ei olekaan lainkaan ihme, että Firefoxilla JavaScript ja XML-pohjaiset työkalut toimivat mainiosti, sillä niitä tarvitaan kiinteänä osana koko kälimoottorin pyörittämistä.
Vähintään läheltä Mozillan XUL-tekniikkaa liippaavat Open Source -työkalupakit Luxor ja SwixNG, jotka pyrkivät Javalla pyöritettävän käyttöliittymän kuvaamiseen XML-pohjaisella kielellä. Molemmat puhuvat XUL-kielestä, ja ilmeisesti termin käytöstä on vähän kränää.
Tähän kirjoitukseen voi viitata TrackBack-osoitteella: http://kuvitelmaa.net/cgi-bin/mt/mt-tb.cgi/177








Jätä kommentti