Javascriptin merkitys kasvaa digipalveluiden alueella

Perttu Tolvanen

Javascript on noussut tasaisesti usean vuoden ajan yhä vakavammin otettavaksi teknologiaksi, jonka päälle tehdään etenkin web-palveluita todella paljon. Erityisesti front-end-ratkaisujen toteutukseen syntyneet frameworkit ovat viime vuosina yleistyneet. Aikoinaan trendin aloittaneesta jQuerystä on tultu pitkä matka tällä hetkellä yleisimpään Reactiin. Samalla myös Noden nousu on tehnyt Javascriptistä uskottavamman “kokonaisratkaisun” vaativille palveluille, koska Node tarjoaa tavan käyttää Javascriptiä myös “back endin” puolella, ja näin Javascriptillä voidaan tehdä kokonaisia web-sovelluksia, ei pelkästään käyttäjille näkyvää “front-end tasoa”.

Javascriptin puolesta ovat puhuneet vahvasti etenkin pienemmät digitoimistot ja webbisovelluksiin erikoistuneet softatalot. Tämä on ollut luontevaa, koska etenkin vaativissa web-sovelluksissa Javascriptin käyttö on ollut käytännössä pakollista, jos on haluttu tehdä monipuolisia selainpohjaisia sovelluksia. Samalla on nähty lukuisten Javascript-frameworkkien yleistyminen, joista Googlen Angular ja Facebookin aloittama React lienevät tunnetuimmat.

Isommat IT-talot eivät ehkä ole samalla tavalla lähteneet Javascriptin puolestapuhujiksi, mutta käytännössä Javascriptin käyttö on lisääntynyt hyvin laajamittaisesti koko alalla.

Javascriptin aktiiviset puolestapuhujatkin voidaan ehkä jakaa kahteen eri ryhmään.

Osa alan toimistoista on nähnyt Javascriptin vain front-end-tasolla, jolloin esimerkiksi React on ollut hyvin soveltuva framework. Kaikki eivät ole olleet edes kovin innostuneita frameworkeista, vaan puhuvat yleisemmin Javascriptin mahdollisuuksista sovellusmaisempiin käyttöliittymiin. Näitä toimistoja on yleensä yhdistänyt se, että frontin takana tapahtuvat asiat halutaan tehdä mieluummin “perinteisemmillä” malleilla, eli käytännössä joko php:llä, Javalla tai .Netillä koodaten.

Toinen puoli toimistoista on taas ottanut Javascriptin enemmän “kokonaisratkaisuna” ja käytännössä tällöin puhutaan yleensä Noden käytöstä palvelinpään teknologiana, joka huolehtii vaativammista operaatioista, kuten integraatioista ja datan käsittelystä. Tällaisen mallin keskeisimpänä etuna on se, että front-endiä ja taustasovelluksia koodataan samalla kielellä, joten samat henkilöt voivat (ainakin teoriassa) tehdä kummatkin osa-alueet. Nodella on lisäksi omia etujaan, mutta käytännössä back-end-tason toteutuksiin käytetään edelleen hyvin monenlaisia ratkaisuja, eikä Javascriptin voittokulku back-end-puolella ole mitenkään kiveen kirjoitettu. Kirjavat teknologiaratkaisut back-end-puolella lienevät realismia jatkossakin, mutta selvästi osa toimistoista pyrkii erottumaan tällaisella “all-in Javascript” -mallilla.

Myös asiakkaat ovat selvästi heränneet Javascriptin merkitykseen. Konkreettisena esimerkkinä voi pitää esimerkiksi Väestörekisterikeskuksen tuoretta puitesopimuskilpailutusta, jossa ylivoimaisesti isoin kategoria oli Javascript-kategoria, johon haettiin tekijöitä yli 10 miljoonan euron sopimusluokkaan. Javascriptin yleistymisestä vahva todiste oli myös se, että kisaa eivät voittaneet Javascriptin puolesta eniten viime vuosina puhuneet talot vaan joukko varsin perinteisiä isoja kissoja: CGI, Visma, Cybercom, Gofore *. Nämä talot pääsevät nyt seuraavan neljän vuoden aikana kisaamaan tuon 10 miljoonan euron Javascript-potin jakamisesta.

Webin “javascript-pitoisuus” siis tulee entisestään kasvamaan tulevina vuosina, ja nykyisin ei enää olekaan kysymys siitä, että “käytetäänkö Javascriptiä vai ei”, vaan siitä miten vahva “javascript-pitoisuus” palvelussa on: onko Javascript vain käyttöliittymätasoa buustaava teknologia? Vai onko sillä tehty kokonaisia itsenäisiä osioita palveluun? Vai onko peräti koko palvelun front-end tehty kokonaan jonkun Javascript-frameworkin varaan? Vai onko peräti palvelun front-end ja back-end tehty Javascriptillä?

* Julkishallinnon isojen puitesopimuksien kilpailutuksissa kriteerit toki usein suosivat isoja toimijoita, joten tämäkin on voinut vaikuttaa voittajien valikoitumiseen, mutta ilman vahvoja referenssejä ja isoa joukkoa osaajia ei tuollaista kisaa silti voiteta, joten tulos on siksi merkityksellinen ja kiinnostava.

PS. Tilaa Vierityspalkin kerran kuukaudessa ilmestyvä uutiskirje, joka koostaa artikkelit, linkkivinkit, työpaikat ja julkaisut.

Kommentit

  1. Olli Mahlamäki says:

    Usein monimutkaisissa palveluissa, esim isoissa verkkokaupoissa, on paljon erilaisia taustajärjestelmiä, joista tarvitaan tietoa ja joihin esim. ostokset menevät. Nämä järjestelmät ovat usein vanhoja ja koodattu esim. Javalla. Silti nodesta voi olla hyötyä, kun tällaisten palveluiden päälle rakennetaan modernia webbipalvelua. Node on erittäin hyvä tilattomana webbipalvelimena, joka piilottaa taustajärjestelmät web-käyttäjiltä – ei siis mitään pääsyä tietokantaan, vaan käytetään taustajärjestelmiä SOA-meiningillä. Tällöin on järkevää, että sama palvelua kehittävä tiimi hanskaa sekä frontin että tämän webbipalvelimen koodauksen. Taustajärjestelmien kehitys on kokonaan erillään, eikä sinne ole fronttikoodarilla tarvettakaan sörkkiä, kun järjestelmien väliset apit on järkevät ja hyvin dokumentoidut.

  2. Perttu Tolvanen says:

    Hyvä pointti, Olli. Node tosiaan voi olla hyödyllinen palikka varsinaisten backend-monstereiden ja frontin välillä, ja silloin siitä on hyötyä, että samat tyypit pystyvät käsittelemään kumpaakin kerrosta. Eikä tarvitse myöskään “päästää” webbitason tekijöitä sit sinne todellisiin backend-järjestelmiin, joka lienee etenkin jossain finanssi- ym puolella ihan hyvä syy jo yksinään tuohon malliin.

  3. Yrjö Kari-Koskinen says:

    Node ja React ovat olleet jo useamman vuoden erittäin suosittuja, ainakin oman kuplan sisällä. Viimeisen parin vuoden aikana JS-ekosysteemin kyky toimia entistä kovempana kokonaisratkaisuna on vahvistunut erityisesti React Nativen, Electronin ja Typescriptin myötä. Enää ei tarvitse vaihtaa ohjelmointikieltä edes natiivien mobiili- ja työpöytäsovellusten tekemiseen ja vahva tyypityskin on saatavilla.

    Jos haluaa nykyisin hyödyntää uusimpia web-alustan teknologioita, on melkeinpä pakko hyödyntää Nodea ja npm:ää. Toki sovellukset saa tehtyä edelleen perinteisemmälläkin stackilla.

    JS- ja Web-teknologioihin pohjautuvat alustat ovat muuttaneet jo paljon mm. mahdollisuuksia prototyypata, suunnitella ja testata uusia sovelluksia. Myös useat suosituista työpöytäohjelmistoista on web/electron-pohjaisia kuten esim Spotify ja Slack.

  4. Perttu Tolvanen says:

    Kiitos kommentista, Yrjö.

    Samaa mieltä, ja hyvä laajennus tuohon, että tosiaan web-stackkia käytetään nykyisin myös appien ja jopa työpöytäsovellusten alustana.

    Jutun otsikko tuntui perustellulta, koska oma tuntuma on, että Javascript on nyt alkanut leviämään myös “sovelluskuplan” ulkopuolelle, eli myös enemmän niiden toimistojen käyttöön jotka ovat tottuneet tekemään enemmän erilaisilla alustoilla (julkkarit, verkkokauppaplatat, jne). Ja se kehitys on minusta erityisen hyvää, koska sitä kautta varmasti päädytään tekemään Javascriptillä sellaisia osa-alueita joita juuri ei kannata laittaa alustojen päälle, tai alustoja kannattaa käyttää vain selkeästi back-end-ratkaisuina näille sovelluksille.

    Ja jossain määrin tuntuu siltä myös, että Javascriptin nousu on tehnyt räätälinä tekemisestä vähän helpompaa asiakkaiden näkökulmasta myös, kun ei tarvitse arpoa monien erilaisten “perinteisempien stackkien” välillä.

Jätä kommentti