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.
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]
[SPA-webisovellusten ongelmia]