(toiminnot)

hwechtla-tl: SPA-webisovellusten ongelmia: viime muutokset

(nettipäiväkirja 21.04.2016) Hmm, työssäni teen webbisovellusta, joka on "aito" webbisovellus (single-page app), eli tekee käytännössä kaiken selaimessa Javascriptillä ja hakee sisällön API-kutsuilla serveriltä. Itse en ole hirveän ihastunut tähän arkkitehtuuriin, koska vaikka siinä on tiettyä yksinkertaisuutta ja selkeä vastuunjako, siinä on kuitenkin myös seuraavat ongelmat:

* JS:ssä pitää uudelleentoteuttaa asiat, jotka selaimessa jo toimivat, kuten sivuosoitteet, historia ja siinä kulkeminen, sekä raportointi käyttäjälle kesken olevista toiminnoista kuten latauksista ja muusta. * Sovellus toimii vain Javascriptiä tukevissa selaimissa. Muissa se ei tee yhtään mitään. * Sovellus käynnistyy hitaasti (selaimessa), ja antaa huonoa vastetta. * Jos sovellusta käyttää huonon yhteyden yli, on ihan mahdotonta tietää, mikä siinä kusee milloinkin. * Hakukoneet eivät osaa seurata API-kutsujen vastauksissa olevia, linkin kaltaisia asioita (joita tietysti HATEOAS-periaatteen mukaan on tai pitäisi olla), joten sovelluksen sisältöä on vaikea indeksoida hakukoneisiin. * Jos sovellus on sen tapainen, että sen käyttäjät pitävät sitä pitkään (viikkojakin?) auki, joutuu myös näkemään lisää vaivaa siihen, että sovelluksen olemassa oleva tila jotenkin päivitetään tai nollataan, jos API-backend muuttuu.

Jostain syystä monet JS-kehittäjät eivät tunnu ottavan vakavasti näitä käytettävyysongelmia, ihan kuin se, että sovellus on käyttökelvoton, olisi vain muutamien puhesynteesiselaimia käyttävien sokeiden ongelma eikä käytännössä jokaisen, joka joutuu käyttämään sivustoa paskalla nettiyhteydellä konferenssimatkansa hotellista. Ja olen huolissani, että käyttäjät alkavat hyväksyä, ettei voi tietää, minkä DOM-elementtien klikkaaminen aiheuttaa uudelleenlatauksia ja minkä ei. Kaiken kaikkiaan, perinteisten serveripuolen webbisoftien karuus on mielestäni kokonaan käytettävyyden hyväksi, ja harvoin on tilannetta, jossa joutuisin arvailemaan, mitä minun pitää tehdä saadakseni sellaisen softan toimimaan.

Huomasin juuri sarjan kirjoituksia, joissa pohdiskellaan samoja asioita. Linkataanpa.

* http://blog.pamelafox.org/2013/05/frontend-architectures-server-side-htm l.html * http://thatemil.com/blog/2013/07/02/progressive-enhancement-still-not-de ad/ * https://jakearchibald.com/2013/progressive-enhancement-is-faster/

----

* [merkintä: 2016-04] * [atehwa] * [kategoria: päiväkirjamerkintä] * [kategoria: mv-mielipide]


(viimeksi muutettu 25.05.2016 10:06)