North Patrol on digipalvelujen ja tietojärjestelmien suunnitteluun erikoistunut konsulttitoimisto. Muotoilemme ideoista vision ja palvelukonseptin, löydämme parhaat arkkitehtuuri- ja teknologiaratkaisut, suunnittelemme toimivan käyttökokemuksen ja kilpailutamme ihannekumppanin toteutustyöhön. Emme myy toteutusprojekteja, emmekä lisenssejä, olemme aidosti asiakkaan puolella.
Analysoimme 2500 organisaation digipalveluissa käytetyt esityskerroksen JavaScript-teknologiat, palvelinpuolen ohjelmointiteknologiat sekä hosting- ja CDN-ratkaisut.
North Patrol auttaa asiakkaitaan tekemään hyvin perusteltuja ja kestäviä päätöksiä verkkopalveluiden kehittämisessä. Tämä katsaus tarjoaa ajantasaista tietoa verkkosovellusten toteutusteknologioista, ja sen tarkoituksena on tukea asiakasorganisaatioiden päätöksentekijöitä.
North Patrol on suunnitteluun erikoistunut konsulttitoimisto. Suunnittelemme, autamme teknologiavalinnoissa, kilpailutamme. Emme myy toteutusprojekteja, emmekä lisenssejä, olemme aidosti asiakkaan puolella.
Julkaisimme jokin aika sitten datakatsauksen, jossa käsiteltiin suomalaisten verkkopalvelujen alustoja erityisesti sisällönhallinta- ja verkkokauppatuotteiden näkökulmasta. Tässä artikkelissa jatkamme North Patrolin web-teknologia-analyysin tulosten käsittelyä verkkosovellusten toteutusteknologioiden näkökulmasta.
Esityskerroksen JavaScript-teknologiat
Selaimessa suoritettavan esityskerroksen (frontend) JavaScript-koodin määrä on kasvanut merkittävästi viime vuosina, koska verkkosovellukset ovat muuttuneet entistä monimutkaisemmiksi ja interaktiivisemmiksi, ja JavaScriptiä hyödynnetään tavalla tai toisella kaikkien modernien verkkopalveluiden toteutuksessa. JavaScript-sovelluskehitystä tehdään paljon sekä tuotealustojen päälle että niiden rinnalle toteutettavissa erillisissä sovelluksissa.
Kehityksen myötä myös erilaisten yleiskäyttöisten JavaScript-kirjastojen ja frameworkien määrä on lisääntynyt valtavasti. JavaScript-kirjastojen laaja kirjo näkyy myös North Patrolin tekemässä analyysissä, sillä selvityksessä mukana olevien 2500 organisaation verkkopalveluista tunnistettiin yhteensä yli 500 eri JavaScript-kirjastoa.
JavaScript-sovelluskehykset
JavaScript-sovelluskehykset (frameworkit) ovat ohjelmistokehyksiä, jotka tarjoavat valmiin rakenteen ja työkaluja web-käyttöliittymien ja -sovellusten kehittämiseen. Niiden käyttö on yleistynyt erityisesti räätälöityjen käyttöliittymäsovellusten toteutuksessa viime vuosina.
Modernit headless-, composable- ja mikropalveluarkkitehtuurit ovat tukeneet JavaScript-frameworkien suosiota tarjoamalla joustavuutta, skaalautuvuutta ja tehokkuutta nykyaikaisessa sovelluskehityksessä. Tämä on tehnyt frameworkeista, kuten React, Angular ja Vue suosittuja kehittäjien keskuudessa.
Yleisimmin käytetty JavaScript-kehys Suomessa on React, joka on Facebookin kehittämä komponenttipohjainen kirjasto verkkosovellusten käyttöliittymien rakentamiseen. Sitä käytetään noin 29 prosentissa selvityksessä mukana olleiden organisaatioiden sivustoista ja sovelluksista. Reactin käyttö on kasvanut merkittävästi viimeisen kahden vuoden aikana, sillä sen osuus edellisessä vastaavassa selvityksessä vuonna 2022 oli 15 %.
Selvityksemme perusteella toiseksi yleisin JavaScript-kehys on Angular (12 %), joka on Googlen kehittämä laaja sovelluskehys. Angular tarjoaa monipuoliset työkalut ja rakenteet dynaamisten web-sovellusten rakentamiseen, ja se soveltuu erityisesti monimutkaisten liiketoimintasovellusten rakentamiseen. Angularin käyttö on välillä tapahtuneen hiipumisen jälkeen ollut jälleen selvässä kasvussa, sillä vuoden 2022 selvityksessä Angularin osuus oli vain noin 3 %.
Kolmanneksi yleisin JavaScript-kehys on Vue (9 %), joka on saanut suosiota kehittäjäyhteisössä, erityisesti yksinkertaisuutensa ja joustavuutensa ansiosta. Vuen on luonut kiinalaislähtöinen Evan You, joka työskenteli aiemmin Googlella Angularin parissa. Myös Vuen käyttö on lisääntynyt Suomessa; vuonna 2022 Vuen osuus oli noin 5 %.
Yleiskäyttöiset JavaScript-kirjastot
Yleiskäyttöiset JavaScript-kirjastot ovat kokoelmia esivalmiita toimintoja ja työkaluja, jotka helpottavat kehittäjien työskentelyä tarjoamalla ratkaisuja yleisiin ohjelmointitehtäviin. Yleiskäyttöiset kirjastot voivat säästää aikaa ja vähentää oman koodin määrää, koska kehittäjät voivat hyödyntää jo olemassa olevia ratkaisuja sen sijaan, että kirjoittaisivat kaiken alusta.
jQuery on selvästi yleisimmin käytetty JavaSript-kirjasto suomalaisilla verkkosivustoilla (85 %). Se helpottaa mm. tapahtumien käsittelyä, DOM-elementtien hallintaa ja AJAX-pyyntöjen toteutusta.
Muita suosittuja yleiskäyttöisiä kirjastoja ovat mm. lodash (23 %) ja Underscore.js (17 %), jotka tarjoavat hyödyllisiä apufunktioita tietorakenteiden käsittelyyn ja funktio-ohjelmointiin. Laajasti käytettyjä ovat myös mm. Moment JS (21 %), joka on kirjasto päivämäärien ja aikojen käsittelyyn ja muotoiluun sekä Classnames (11 %), joka helpottaa CSS-luokkien hallintaa JavaScriptissä.
Käyttöliittymäkirjastot
JavaScript-käyttöliittymäkirjastot ovat kokoelmia valmiita käyttöliittymäkomponentteja ja -toimintoja, jotka helpottavat ja nopeuttavat interaktiivisten ja responsiivisten verkkosovellusten kehittämistä.
Yleisimmin käytetty käyttöliittymäkirjasto on jQuery UI (40%), joka on jQuery-kirjaston laajennus, joka tarjoaa valmiita käyttöliittymäkomponentteja ja teemoja.
Muita yleisesti käytettyjä käyttöliittymäkirjastoja ovat mm. käyttöliittymäkarusellien tarkoitettu Slick JS (23%), modaali-ikkunoiden toteutukseen tarkoitetut Lightbox (14%) ja Magnific Popup (12%) sekä käyttöliittymäfunktioita sisältävä Fizzy UI Utils (13 %).
Elementtien näyttämisen ja latauksen hallinta
Javascriptiä käytetään myös kuvien ja muiden elementtien näyttämisen ja lataamisen hallintaan.
52 prosentissa selvityksessä analysoiduista sovelluksista hyödynnetään Intersection Observer -rajapintaa, jonka avulla kehittäjät voivat suorituskykyisesti havaita, milloin HTML-elementti näkyy käyttäjän näytöllä. Tätä voidaan hyödyntää mm. elementtien dynaamiseen muotoiluun ja lazy loading -toiminnallisuuksien toteuttamiseen.
Elementtien lataamiseen liittyviä yleisesti käytettyjä JavaScript-kirjastoja ovat mm-imagesLoaded (18 %), joka auttaa kuvien latautumisen tunnistamista sekä lazySizes (13 %), joka on kirjasto kuvien ja iframe-elementtien tehokkaampaan lataamiseen.
Selaintuen laajentaminen
JavaScript-kirjastoja käytetään myös sovellusten selaintuen laajentamiseen. Tämä tarkoittaa, että kehittäjät käyttävät erilaisia kirjastoja ja työkaluja varmistaakseen, että heidän sovelluksensa toimivat mahdollisimman monessa selaimessa ja käyttöympäristössä.
Yleisimmin selaintuen laajentamiseen käytetty kirjasto on core-js (53 %), joka tarjoaa moderneja JavaScript-ominaisuuksia vanhemmille selaimille. Muita laajasti käytettyjä selaintukea laajentavia kirjastoja ovat mm. es6 promise (17 %), html5shiv (15 %) ja Respond (12 %).
Yleisesti käytetty kirjasto on myös Modernizr (22 %), jolla sovelluskehittäjä voi tunnistaa HTML5- ja CSS3-ominaisuuksien tukea selaimessa. Selaintukea parantava ratkaisu on myös JavaScript-kääntäjä Babel (11 %), joka muuntaa modernin JavaScriptin vanhemmaksi JavaScript-versioksi yhteensopivuuden takaamiseksi.
Moduulinhallintatyökalut
JavaScript-moduulinhallintatyökalut ovat työkaluja, jotka auttavat organisoimaan ja pakkaamaan JavaScript-koodia moduuleiksi. Ne hallitsevat koodin riippuvuuksia, optimoivat suorituskykyä ja tekevät koodista selkeämpää ja helpommin ylläpidettävää.
Selvityksen perusteella eniten käytetty moduulinhallintatyökalu on Webpack (26 %), joka on suunniteltu kokoamaan monimutkaisia verkkosovelluksia. Se ottaa huomioon erityyppiset resurssit (JavaScript, CSS, kuvat, jne.) ja yhdistää ne yhdeksi tai useammaksi paketoiduksi tiedostoksi, joita selain voi käyttää.
Toinen yleisesti käytetty JavaScript-moduulinhallintatyökalu on RequireJS (10 %), joka lataa moduulit asynkronisesti ja hallitsee niiden riippuvuudet. RequireJS soveltuu hyvin pienempiin projekteihin, joissa ei tarvita monimutkaista build-prosessia.
Organisaatioiden pääsivustojen osalta käytettyjen palvelinpuolen (backend) ohjelmointiteknologioiden jakauma noudattaa luonnollisesti hyvin pitkälle aiemmassa datakatsauksessa käsiteltyä verkkopalvelujen alustateknologioiden mukaista jakaumaa.
PHP on pääsivustojen ohjelmointikielistä selvästi yleisin 59,9 % osuudella. PHP:tä käytetään mm. WordPress-, Drupal- ja Adobe Commerce -alustaisissa palveluissa
Microsoft .Net on pääsivustojen toiseksi yleisin ohjelmointikieli 12 % osuudella. Sitä käytetään mm. Optimizely- ja Sitecore-sivustoilla.
Java on pääsivustoilla käytössä 5,5 % pääsivustoista. Javaa käytetään mm. Liferay- ja Adobe Experience Manager -alustaisissa palveluissa.
Palvelinpuolen JavaScript-teknologioita käytetään 4,8 % pääsivustoista. Niitä käytetään mm. headless-cms-pohjaisissa ratkaisuissa (mm. Contentful) sekä täysin räätälöidyissä ratkaisuissa.
Palvelinpuolen ohjelmointiteknologiat muissa verkkosovelluksissa
Selvityksessä käytiin läpi pääsivustojen lisäksi myös organisaatioiden muiden verkkosovellusten toteutusteknologioita. Näitä sovelluksia ovat mm. erilaiset räätälöidyt liiketoimintasovellukset, asiointipalvelut ja muut pääsivustoa täydentävät ratkaisut.
Muiden sovellusten osalta palvelinpuolen (backend) ohjelmointiteknologioiden jakauma poikkeaa merkittävästi pääsivustojen ohjelmointiteknologioiden jakaumasta, ja eri teknologioiden osuudet ovat jakautuneet paljon tasaisemmin.
Analysoiduissa verkkosovelluksissa eniten käytetty palvelinpään ohjelmointiteknologia oli Microsoft .NET 24,6 prosentin osuudella sovelluksista. .NET-pohjaisia sovelluksia hyödynnetään mm. asiointipalveluiden ja tilauskanavien toteutukseen erityisesti silloin, kun myös verkkosovellusten taustajärjestelmät perustuvat Microsoft-teknologioihin.
PHP:n osuus pääsivustoa täydentävissä muissa sovelluksissa oli 24,1 %. Tämäkin osuus selittyy suurelta osin WordPressin ja Drupalin päälle toteutetuilla ratkaisuilla, mutta PHP:tä käytetään jonkin verran myös täysin räätälöityjen sovellusten alustana. Räätälöidyissä PHP-pohjaisissa ratkaisuissa hyödynnetään melko yleisesti Symfony ja Laravel-sovelluskehyksiä.
Palvelinpään JavaScript-sovellusten, eli lähinnä Node.js-ajoympäristöön pohjautuvien ratkaisuiden, osuus pääsivustoa täydentävistä verkkosovelluksista oli yhteensä 18,9 %. Yleisimmistä palvelinpään JavaScript-sovelluskehyksistä Next.js oli käytössä 9,4 % sovelluksista, Express oli käytössä 7,3 % sovelluksista ja Nuxt oli käytössä 1,9 % sovelluksista.
Java-pohjaisten sovellusten osuus oli 11,6 %. Javaa käytetään yleisesti mm. erilaisten räätälöityjen tilaus- ja asiointikanavien toteuttamiseen.
Ruby-ohjelmointikielellä toteutettujen sovellusten osuus oli 5,1 % ja Python-kielen osuus oli 4,1 %. WWW:n alkuaikojen suosikkikielen Perlin osuus on enää 1,0 %.
Palvelinkapasiteetti ja käyttöpalvelut
Selvityksessä olleiden organisaatioiden verkkopalvelut ja -sovellukset käyttävät tyypillisesti useiden eri palveluntarjoajien palvelimia ja palveluja. 53 % organisaatioiden pääsivustoista on hostattu Suomessa sijaitsevalla palvelimella, mutta suurin osa organisaatioista käyttää myös Suomen ulkopuolella hostattuja elementtejä verkkopalveluissaan.
Varsinkin suurimmat pilvipalveluntarjoajat, kuten Amazon, Microsoft ja Google, tarjoavat ”perinteisen” palvelinkapasiteetin lisäksi myös korkeamman tason palveluita verkkosovelluksen alustaksi. Tällaisia ovat mm. tietokantapalvelut, tekoäly- ja algoritmipalvelut, käyttäjähakemistot, integraatiopalvelut, kontti- ja serverless-ratkaisut, palveluiden hallintatyökalut, automaattinen skaalaus ja kuormantasaus, tietoturvaratkaisut sekä kehitysympäristöt ja kehittäjien työkalut.
Selvityksen perusteella eniten käytetty alustapalvelujen tarjoaja on Amazon Web Services, jota hyödyntää jollakin tavalla n. 33 % selvityksessä mukana olevista organisaatioista. Toiseksi eniten käytetty palvelinalusta oli Microsoft Azure, jota hyödynsi 22,7 % organisaatioista. Muita yleisesti käytettyjä kansainvälisiä palveluntarjoajia ovat Cloudflare Hosting (17,5 %), Hetzner (16,6 %), Google Cloud (14,6 %), OLM (8,9 %) ja Digital Ocean (7,1 %).
Kotimaisista palveluntarjoajista eniten käytetty on Seravo (10,2 %), joka on erikoistunut erityisesti WordPress-sivustojen hostaamiseen. Toiseksi eniten käytetty kotimainen palveluntarjoaja on UpCloud (6,5 %), joka on erikoistunut virtuaalipalvelinkapasiteetin tarjoamiseen. Muita kotimaisia palveluntarjoajia ovat mm. Telia Finland (6,5 %), Planeetta (3,0 %) sekä monet muut IT-palveluntarjoajat ja teleoperaattorit pienillä markkinaosuuksilla.
CDN-ratkaisut
CDN (Content Delivery Network) on hajautettu palvelinverkosto, joka nopeuttaa verkkosisällön toimitusta tallentamalla kopioita sisällöstä eri maantieteellisissä sijainneissa. Käyttämällä CDN:ää verkkosivustot ja sovellukset voivat tarjota nopeampia latausaikoja ja parantaa suorituskykyä vähentämällä alkuperäispalvelimen kuormitusta. CDN myös lisää luotettavuutta hajautetun infrastruktuurin ansiosta sekä tarjoaa suojaa palvelunestohyökkäyksiltä ja muilta verkkouhilta.
CDN:n käyttö on lisääntynyt viime vuosina myös suomalaisilla sivustoilla. Noin 18,8 % selvityksessä mukana olleista organisaatioista käytti jotakin CDM-ratkaisua verkkopalveluissaan. Osa käytti myös useampaa kuin yhtä CDN-ratkaisua.
Yleisimmin käytetty CDN-ratkaisu selvityksessä on Cloudflare CDN, jota käytti 15,8 % selvityksessä mukana olleista organisaatioista. Myös Amazonin tarjoamat CDN-ratkaisut ovat yleisesti käytettyjä: Amazon CloudFront CDN:ää käytti 15,5 % ja Amazon S3 CDN:ää käytti 12,9 % organisaatioista. Muita käytettyjä CDN-ratkaisuja ovat Akamai Edge (3,8 %), Microsoft Azure CDN (3,0 %) ja Google Cloud CDN (2,6 %).
North Patrol auttaa asiakkaitaan arkkitehtuurin suunnittelussa, vaihtoehtoisten toteutusmallien tunnistamisessa ja sopivimpien teknologioiden valinnassa. Pyrimme työssämme valitsemaan ratkaisuja, jotka vastaavat vaatimuksiin, ovat kestäviä ja kustannustehokkaita. Tutustu palveluihimme teknologiaratkaisuiden tueksi.
Kuinka selvitys tehtiin?
Katsaukseen valittiin mukaan 2500 eri organisaation verkkopalvelut. Otoksessa on yksityiseltä sektorilta mukana Suomen suurimmat yritykset, verkkokaupat ja medioiden sivustot. Julkiselta sektorilta otoksessa ovat mukana valtion virastot, kunnat ja yliopistot ja muut suurimmat oppilaitokset. Mukana oli myös laaja otos erilaisten järjestöjen verkkopalveluita.
Teknologioiden analysoinnissa hyödynnettiin kaupallista BuiltWith-palvelun maksullista rajapintaa, jonka tarjoama analyysi kohdistettiin otoksen kaikkiin sivustoihin. Tämän lisäksi tarkkuutta täydennettiin muiden teknologiatutkien analyyseillä sekä North Patrolin asiantuntijoiden tekemällä manuaalisella analysointityöllä.
Vuoden 2024 teknologia-analyysin tuloksia käsitellään eri näkökulmista myös näissä datakatsauksissa:
Selvityksen tehnyt North Patrol Oy on IT-toimittajista ja teknologioista riippumaton asiantuntijayhtiö, joka auttaa asiakkaita suunnittelemaan tietojärjestelmiä ja kilpailuttamaan toteutuskumppaneita. Selvitys on North Patrolin itsensä rahoittama ja toteuttama.
PS. Sinua voisi kiinnostaa tulossa oleva ilmainen webinaarimme:
Digitaaliset asiointipalvelut – Erilaiset konseptit ja toteutuksen eri vaihtoehdot (11.12.2024 klo 10:00).
Ilmoittaudu webinaariin
DI Sami Kalanen on hankesuunnittelun, vaatimusmäärittelyjen ja kilpailutuksien asiantuntija. Sami konsultoi asiakkaita hankkeiden valmistelussa ja vaatimusten määrittelyssä sekä tukee asiakkaita projektien kilpailuttamisessa ja toimittajan työn valvonnassa. Hänen erityisalueitaan ovat mm. laajat, teknisesti haastavat verkkopalveluprojektit sekä julkishallinnon kilpailutukset.
Sami on työskennellyt verkkopalveluprojektien parissa 90-luvun puolivälistä lähtien. Aiemmassa työhistoriassaan Sami on toiminut mm. suuressa teollisuuskonsernissa verkkopalveluiden tilaajana, johtotehtävissä verkkopalveluja toimittavissa yrityksissä, puolueettoman konsultointitoimiston toimitusjohtajana ja partnerina sekä teleoperaattorin tuotepäällikkönä.
Meitä on kymmenen konsulttia, kaikki kokeneita suunnittelijoita tai teknologia-asiantuntijoita. Joka vuosi viemme läpi yli 50 projektia, joissa autamme hankkeensa eri vaiheissa olevia asiakkaitamme luomaan uusia digipalveluja ja tietojärjestelmiä. Asiakkaamme ovat olleet erittäin tyytyväisiä työhömme (arvosana 9,5/10), ja monet heistä palaavat asiakkaiksi yhä uudestaan.
Olemme apunasi, kun kaipaat puolueetonta näkemystä teknologiavalintoihin, kirkastusta palvelukonseptin ideaan, tarkennusta vaatimusten määrittelyyn, konkreettista tukea tarjouskilpailuun tai ohjausta toteutusprojektin läpivientiin.
Olemme erikoistuneet digipalveluiden laadukkaaseen suunnittelutyöhön ja vaatimusmäärittelyyn. Missiomme on auttaa asiakkaita onnistumaan hankkeissaan luomalla mahdollisimman hyvät lähtökohdat toteutusvaiheelle – oli sitten kyse ketterästä toteutuksesta omalla tiimillä tai kumppanin kanssa tehtävästä hankkeesta tai julkisesti kilpailutettavasta urakasta.
Emme myy koodausta emmekä lisenssejä
Moni teknologiakonsultti suosittelee asiakkailleen teknisiä ratkaisuja, joita sama talo myös toteuttaa. Meillä tätä vinoumaa ei ole, koska meiltä ei voi ostaa koodausta tai lisenssejä eikä meillä ole riippuvuuksia teknologiatoimittajiin. Näkökulmamme ohjelmistomarkkinaan on laaja-alainen. Tavoitteena on aina löytää asiakkaalle parhaiten soveltuva ohjelmistoratkaisu, oli se sitten räätälöity ratkaisu, saas-palvelu, avoimen lähdekoodin alusta tai näiden yhdistelmä.
Tehokkuus, tavoitteellisuus ja tuloksellisuus
Toimeksiannoillemme sovitaan aina konkreettinen lopputuotos, jonka avulla asiakas pääsee hankkeessaan eteenpäin. Hioutuneiden menetelmiemme ja kokeneiden konsulttiemme ansiosta pystymme tuottamaan sen tehokkaasti, yllättävän vähäisillä työmäärillä, ja rahallesi syntyy vastinetta.