tiistai 17. maaliskuuta 2009

Demo 9 - kommentit

Yhdeksännen ja viimeisen demokerran tehtävät löytyvät osoitteesta http://users.jyu.fi/~antkaij/opetus/okp/2009/demot/9.html. Tällä kertaa demoihin osallistui lisäkseni yksi opiskelija, ohjaaja sekä luennoitsija. Tehtäviä teimme kumulatiivisesti laskien kolme kappaletta, joista itse tein yhden. Demokerta kesti 15 minuuttia, mikä oli ainakin osaltani jonkin sortin ennätys.

Tehtävät eivät olleet vaikeita, joten vähäinen osallistujien määrä oli jossain määrin yllätyksellistä. Ensimmäisessä tehtävässä (tein tämän) käsiteltiin Links-kieltä, joka on suunniteltu erityisesti www-käyttöä varten. Ajatuksen tasolla Links on loistava.

Käytännössä www-kehitys on edelleen useimmiten sitä, että kehittäjä joutuu kirjoittamaan koodia tavallisesti ainakin kolmella eri kielellä (PHP/Python/Ruby/..., JavaScript sekä (X)HTML tms. + CSS (tyyli)). Links pureutuu nimenomaan tähän ongelmaan ja pyrkii luomaan ratkaisun, joka nitoo nämä erilliset osat yhteen. Mielestäni Links onnistuukin tässä jossain määrin. Kuitenkin HTML-pohjainen koodi näkyy pahasti läpi.

Uskonkin, että tämä osa tulisi abstrahoida niin pitkälle kuin mahdollista. Kehittäjän ei tulisi välittää HTML-koodista vaan pikemminkin abstraktista rakenteesta, joka asemoidaan kohdalleen (käyttöliittymän suunnittelijan tehtävä). Tässä tapauksessa sovelluskehittäjän pääasiallinen tehtävä olisi logiikan suunnittelu. Mielestäni esim. Weblocks ja Seaside onnistuvat tässä suhteessa paremmin.

Oma www-kokemukseni rajoittuu lähinnä PHP:lla pelailuun sekä Djangoon, jota käytin ollessani mukana sovellusprojekti-kurssilla. Django osoittautui yllättävän hyväksi. Tosin erityisesti AJAX-toiminnallisuuden toteuttaminen jätti tuolloin vielä toivomisen varaa. AJAX ikäänkuin liimattiin kokonaisuuden päälle, mikä ei ollut varsin mukavaa. Myös HTML näkyi hieman turhan paljon läpi. Onneksi Djangon template-pohjainen ratkaisu auttoi tässä paljon. template-perinnän avulla suurin osa pakollisesta rojusta (headerit, navigaatio ym.) jäi hierarkian vanhimpiin luokkiin.

Ei kommentteja:

Lähetä kommentti