Kukaan verkkopohjaisten applikaatioiden parissa työskennellyt ei ole voinut olla huomaamatta valtavia harppauksia, joilla sekä työkalut että kehitysparadigmat ovat muuttuneet.

Kiinnostus frontend -kehitykseen (ja kehittäjiin) sekä verkon mahdollisuuksiin applikaatioiden alustana laukkaa hevosmeemin lailla, joten on syytä olettaa työkalujen, sovellusalueiden ja menetelmien kirjon laajenevan entisestään. Tämä aiheuttaa pelottavia haasteita yritysmaailmalle, joka on usein innoissaan kaikesta uudesta. Ja pelkää kuollakseen muuttumista.

Uusjako

Vuoden 2015 alku antaa odottaa loppuvuodelta suuria. Kaliforniassa järjestetty React.js -konfferenssi, joka on nimetty Facebookin julkaiseman React -kirjaston mukaan, toi julki suunnitelman toteuttaa natiiveja mobiiliapplikaatioita javascriptin avulla. Ratkaisu on nimetty varsin mielikuvituksellisesti React Nativeksi.

Tässä ei sinällään ole mitään uutta, mm. Appceleratorin Titanium on mahdollistanut tämän kaltaisen kehityksen pitkään. Viisastenkiveä natiiviapplikaatioiden ja javascriptin yhteenliittämiseksi ei kuitenkaan ole vielä löytynyt. Kyseenalaista on, onko syytäkään, koska Cordovan ja Phonegapin tapaisten työkalujen myötä mobiilialustojen ominaisuuksia on pystytty tuomaan WebView -pohjaisiin toteutuksiin. Ikävä kyllä, on sanottava, että tulokset alueella ovat toistaiseksi olleet kovin laihoja.

Sovelluskehityksessä asioiden omaksumiseen tarvitaan usein momenttia (kerkeäkielinen käyttäisi sanaa “hype”). Kuluneen vuoden aikana Facebook on nostanut profiiliaan frontend -teknologioiden saralla tavalla, joka ainakin itselleni on tullut yllätyksenä.

MVC on kuollut

Model-View-Controller -arkkitehtuurin soveltuvuudesta verkkopohjaisten yhden sivun applikaatioiden rungoksi voidaan olla montaa mieltä. Tietyissä ympäristöissä keinotekoisesti muodostetut pakotteet ja rajoitukset arkkitehtuurissa tuntuvat varmasti turvallisilta, mutta itse olen kokenut niiden lähinnä tulevan tielle.

Onnekseni MVC murhattiin viime vuoden lopulla. Ainakin, mitä tulee javascript-applikaatioihin. Sen sijaan olemme saaneet aivan uuden ongelman: ylitarjonnan erilaisista ratkaisuista yksisuuntaisen tiedonvälityksen suhteen.

Vuosi 2014 oli Facebookin ja olen taipuvainen uskomaan, että niin on tämäkin. Reactin lisäksi Facebook esitteli Virtual DOM -konseptiin (selaimen DOM:n käsittelyyn muodostettu ratkaisu, jossa näkymästä rakennetaan virtuaalinen malli, jonka eroja verrataan ruudulla näkyviin elementteihin ja päivitetään muuttuneet) yhteensopivan arkkitehtuurin nimeltään Flux.

Flux perustuu dataan, tietoon jota applikaatio käsittelee ja sen käyttäytymiseen. Mikäli tieto muuttuu, myös tästä tiedosta kiinnostuneet komponentit muuttuvat. Kontrollerien sijaan datan orkestraatiosta vastaa ns. dispatcher, joka kutsuu tarvittavia callback-metodeja, jotka toteuttavat applikaatiosi logiikan. Suosittelen lukemaan aiheesta lisää täältä, sillä tämä on mullistavinta UI-ohjelmoinnissa sitten 90-luvun. 

Hyppää kyytiin

Frontend-kehityksen vauhdista kertoo se, että tapanani on vitsailla: ”Mitä työkaluja tällä viikolla käytettäisiin?”. Kyse ei ole kuitenkaan pelkästään vitsistä vaan syvemmästä tavasta ajatella ehkä tämän hetken kiinnostavinta ohjelmistokehityksen aluetta.

Ongelmallisinta ohjelmistokehityksessä yleensäkin on se, että kuvittelemme ratkaisujemme olevan relevantteja myös useiden vuosien kuluttua.

Ongelmallisinta ohjelmistokehityksessä yleensäkin on se, että kuvittelemme ratkaisujemme olevan relevantteja myös useiden vuosien kuluttua. Tämä on varsin harvinaista, ja mitä tulee verkkoapplikaatioiden kehittämiseen, varmasti mahdotontakin: Selainvalmistajien, ECMA-standardin määrittelijöiden ja W3C-organisaation ULKOPUOLELLA tapahtuva kuhina ja kehitys pitää huolen siitä, että tulemme käsittelemään selainpohjaisia applikaatioita tavoilla, joita on mahdotonta ennustaa. Ehkä jo huomenna, hyvin luultavasti viimeistään ensi viikolla.

Mutta mitä voit tehdä? Mitä sinun tulee tehdä? Sinun tulee hypätä hulluun vuoristorataan. Sinun tulee tehdä koodistasi funktionaalista, reaktiivista, siistiä ja testattua. Aina siihen asti, kunnes sinun tulee tehdä siitä jotakin muuta.

Tilaa Statement-uutiskirje

Share This