X
Loading...
Ei hakutuloksia
Sisältö
Henkilöt
{ page.post_title }
{ page.titteli }
{ page.sahkoposti }
{ page.puhelinnumero }

Tilaisitko yhden sivun web-sovelluksen (SPA) vai arkkitehtuuriltaan valmiiksi vanhentuneen järjestelmän?

Web-sovellusten kehityksen saralla on meneillään vahva muutos, jonka myötä yhä useammat sovellukset toteutetaan arkkitehtuuriltaan yhden sivun sovelluksina. Kerron tässä blogikirjoituksessa lyhyesti mitä yhden sivun sovelluksilla (SPA, Single-page application) tarkoitetaan, ja miksi tämä käsite on tärkeää ymmärtää valittaessa rakennettavan web-sovelluksen arkkitehtuuria ja toimittajaa.

Tiedätkö sinä tilaajana mitä SPA-kehitys on, ja mitä merkitystä tällä toteutustavalla on esimerkiksi sovelluksen laajennettavuuden ja käytettävyyden näkökulmasta? Onko sinulla mahdollisesti käynnissä web-sovellusprojekti, mutta et tiedä rakennetaanko sovellustasi yhden sivun sovelluksena?

Mitä yhden sivun web-sovelluksilla tarkoitetaan?

SPA-arkkitehtuurissa sovelluksen käyttöliittymä ja taustajärjestelmä erotetaan vahvasti toisistaan. Sovelluksen käyttöliittymä keskustelee taustajärjestelmän kanssa ohjelmointirajapinnan (REST API) kautta. SPA-sovellusten käyttöliittymä rakennetaan käyttäen JavaScript-ohjelmistokehystä, kuten Googlen ylläpitämää ja suuren suosion saavuttanutta Angular.js-ohjelmistokehystä. Suurimmat edut SPA-arkkitehtuurissa saavutetaan mielestäni käytettävyyden ja laajennettavuuden saralla.

SPA-sovelluksissa ei ole turhia selaimen sivulatauksia

Käytettävyyden näkökulmasta isoin ero on siinä, ettei yhden sivun sovelluksissa tapahdu eri toimintojen välillä selaimen sivulatausta. Yhden sivun sovelluksen käyttökokemusta voidaankin tästä syystä verrata osittain natiivin tablet- tai mobiilikäyttöliittymän käyttökokemukseen. Sovelluksen eri tilasiirtymien aikana sisältöalueella esitetään latausanimaatio, joka indikoi sovelluksen lataavan uutta sisältöä. Jos sovellus ei jostain syystä saa yhteyttä taustajärjestelmään, voidaan tästä esittää käyttäjälle selkeä virheviesti käyttöliittymässä. Sovelluksen eri näkymien sisältö latautuu huomattavasti nopeammin, koska eri tilasiirtymien välillä ei tarvitse ladata koko sovelluksen sisältöä aina uudelleen. Näin ollen sovelluksen vasteaika on nopeampi, ja sen myötä käytettävyys paranee.

SPA-sovellukset mahdollistavat skaalautuvuuden eri sovellustarpeisiin

SPA-arkkitehtuurin myötä sovellukset ovat joustavasti laajennettavissa ohjelmointirajapinnan (API) kautta. Otetaan esimerkiksi tilanne, jossa yritys rakentaa ensin SPA-arkkitehtuuriin perustuvan web-sovelluksen. Myöhemmin yritykselle tulee tarve rakentaa natiivi mobiiliapplikaatio, jonka on tarve esittää ja käsitellä samaa tietoa, joka on ollut aiemmin saatavilla rakennetun web-sovelluksen kautta. Mobiilisovellus voidaan rakentaa vasten aikaisemmin toteutettua ohjelmointirajapintaa, josta voidaan hyödyntää valmiina olevia rajapintoja, kuten esimerkiksi käyttäjän autentikointia. Rajapintaa voidaan edelleen laajentaa, ja näin ollen yhden taustajärjestelmän päälle saadaan laajennettua muita sovellustarpeita kustannustehokkaammin.

Maksaako yhden sivun web-sovelluksen kehittäminen enemmän?

Sanoisin, ettei perinteisen web-sovelluksen ja yhden sivun sovelluksen kehitystyömäärässä ole suurta eroa. Lisäksi SPA-kehitys mahdollistaa eri kehityskokonaisuuksien joustavamman jaottelun tiimin sisällä back end -ja front end -kehityksen osalta. Tämän myötä kehitystyötä saadaan jopa tehostettua.

SPA ei ole järkevin vaihtoehto vielä sellaisten sovellusten osalta, joilla tavoitellaan korkeaa hakukonenäkyvyyttä. Mutta puhuttaessa kirjautumisen takana olevista räätälöidyistä web-sovelluksista, joiden toteutukseen ei ole saatavilla valmiita ohjelmistoratkaisuja, tai web-sovelluksen osa-alueista, joilla ei tavoitella SEO-näkyvyyttä, on SPA todennäköisesti järkevin arkkitehtuuri.

Mikko Viskari

KIRJOITTANUT

Mikko Viskari

Development Manager

etunimi.sukunimi@eatech.fi
+358 50 465 1322

Mikko Viskari toimii Eatechilla kehityspäällikkönä, ja hän on koulutukseltaan tietojenkäsittelytieteiden FM. Mikolla on pitkä historia haastavien ja laajojen web-projektien määrittelystä, suunnittelusta sekä toteutuksesta. Häntä voi kutsua mestariksi käyttöliittymien, käytettävyyden ja mobiilioptimoitujen järjestelmien sekä taustajärjestelmien saralla. Mikko on ollut mukana web-kehityksessä jo IE6-selaimesta lähtien, joten häneltä löytyy takuuvarmasti web-puolen näkemystä asiaan kuin asiaan.

Mikko Viskari