CGI Suomen blogi
Matti Koljonen

Code Corner – Miksi Node.js on avain parempaan tuottavuuteen?

Asiakkaamme odottavat IT-ratkaisujen toimittajilta jatkuvasti parempaa tuottavuutta. Väitän, että valitulla ohjelmointikielellä on suurempi vaikutus IT-ratkaisujen toteutuksen tuottavuuteen kuin usein ajatellaan. Miksi näin?

Lean Startup, MVP, DevOps, pilviteknologiat - näitä meiltä kysytään. Miksi? Koska uusilla menetelmillä ja teknologioilla haetaan parempaa tuottavuutta.

CGI Nextissä tarjoamme asiakkaillemme palvelua, ja asiakkaamme odottavat meiltä tuottavuutta. Siksi tuottavuus on myös tärkeimpiä työmme laadun mittareita.

Code Corner – Miksi Node.js on avain parempaan tuottavuuteen?

 

Mitkä ovat sitten tärkeimmät edellytykset hyvälle tuottavuudelle?

1. Koodaaminen tulkattavalla ohjelmointikielellä
Kehittäjien ajasta aivan liikaa menee kääntämiseen, asennuksiin sekä prosessien käynnistelyihin. Tulkattavalla kielellä tehty koodimuutos näkyy sovelluksessa välittömästi, ja kehittäjä voi keskittyä olennaiseen, eli koodin kirjoittamiseen. Tuottavuus nousee huimasti.

2. Tyypittömyys
Kaikissa tilanteissa tyypit eivät tuo lisäarvoa. Esimerkiksi TypeScriptillä tehty toteutus vaatii noin 30 % enemmän koodia verrattuna tyypittömään JavaScript-toteutukseen. Toimivia asioita saa tehtyä hämmästyttävän pienellä koodimäärällä, kun rajapintoja, domainmalleja ja mallien mappayksiä ei tarvitse erikseen määritellä ja ylläpitää.

3. Funktionaalisuus ja tilattomuus
Olio-ohjelmoinnin ongelma on päätöksenteon hajautuminen ja tilallisuus. Tilallisuus on haasteena skaalautuvissa järjestelmissä, ja se myös monimutkaistaa asioita. Tilallinen olio käyttäytyy eri tavalla eri tilanteissa, mikä tekee siitä arvaamattoman.

Tilattomat funktiot sen sijaan ovat luotettavia, koska ne palauttavat aina saman arvon, kun niitä kutsuu samoilla parametreilla. Se tekee myös toteutuksen testaamisen helpoksi.

Olioita voi periä, mikä on kiva juttu, mutta funktioille voi antaa parametreina funktioita ja ne voivat palauttaa funktioita. Hienojakoisia funktioita yhdistelemällä voidaan siis rakentaa uusia toimintoja todella kätevästi. Funktioiden uudelleenkäytettävyys on ylivoimainen verrattuna olioihin. Tämä vähentää koodimäärää ja parantaa koodin luotettavuutta.

 

openVäitän, että valitulla ohjelmointikielellä on suurempi vaikutus IT-ratkaisujen toteutuksen tuottavuuteen kuin usein ajatellaan.close

Rohkeutta päätöksentekoon

Monissa paikoissa mietitään pilvistrategioita ja teknologioita. Fronttipuolella JS-frameworkkeja harva enää kyseenalaistaa, mutta APIen osalta valitettavan usein turvaudutaan perinteisiin Java/.NET -ratkaisuihin.

Itse kannustan valitsemaan Node.js:n API-toteutuksiin. Tässä muutama syy, miksi liputan sen puolesta:

  • Kehittämisen tuottavuus nousee tulkattavuuden ja tyypittömyyden ansiosta.
  • JavaScriptissä yhdistyy mukavasti olio-ohjelmointi ja funktionaalisuus.
  • Frontendin ja backendin toteutus onnistuu samalla ohjelmointikielellä.

 

Kirjoittaja toimii CGI Next -yksikössä asiantuntijana. CGI Nextiin on koottu uudet teknologiat sekä niihin liittyvät asiantuntija- ja design-palvelut.

 


  

Tutustu myös

Blog moderation guidelines and term of use