No-code- ja low-code-ratkaisut mahdollistavat sovellusten kehityksen joko vähällä käytännön koodauksella tai täysin ilman

No-code ja low-code ovat ohjelmoinnissa käytettyjä menetelmiä, joiden ajatuksena on mahdollistaa verkkosovelluksia tarjoaville tai niitä osittain hyödyntäville yrityksille mahdollisuudet kehittää ja muokata omia sovelluksiaan joko perinteistä vähemmällä työllä tai jopa täysin ilman varsinaista koodin kirjoittamista.

No-code saakin nimensä juuri siitä, että sen avulla käyttäjät voivat kehittää sovelluksia ilman varsinaista ohjelmointiosaamista – eli ilman yhdenkään koodirivin näpyttelyä. Low-code-menetelmä pohjautuu no-coden kanssa samankaltaiseen käyttökokemukseen, mutta siinä kehitystyössä käytetään intuitiivisia graafisia työkaluja ja erilaisia sulautettuja toimintoja, jotka vähentävät perinteisiä vaatimuksia koodin kirjoittamiselle. Perinteisen ohjelmointikielen kirjoittaminen kuuluu siis menetelmässä edelleen prosessiin, mutta low-code tarjoaa kehityksessä käyttäjälleen laajan ja yksinkertaistetun mahdollisuuden muokata vanhaa sovellusta tai luoda nopeasti uutta sen ympärille.

Suurin ero no-codea ja low-codea hyödyntämällä kehitetyissä alustoissa on siis siinä, kuinka paljon ohjelmointitietoa käyttäjä tarvitsee: no-code-alustat eivät vaadi ohjelmointiosaamista lainkaan, kun taas low-code-alustat sisältävät yksinkertaisia kontrollirakenteita ja edellyttävät käyttäjiltään joitakin peruskoodaustaitoja monimutkaisten sovellusten kehittämiseen ja integrointiin. 

  • No-code tarjoaa yrityksille mahdollisuuden kehittää sovelluksiaan ilman koodausosaamista
  • Low-codessa taas käytetään yksinkertaista koodia, mutta perinteiset ohjelmointikäytännöt vähenevät graafisten työkalujen ja toimintojen hyödyntämisellä
  • Erona on siis se, kuinka paljon käytännön ohjelmointia käyttäjä kehitykseen tarvitsee

Kenen tällaisia matalamman kynnyksen ratkaisuja kannattaa käyttää?

Etenkin no-code-menetelmät voivat olla erittäinkin hyödyllisiä valintoja yrityksille, joissa ohjelmointi ei kuulu osaamisalaan mutta jotka tarvitsevat kuitenkin tavan muuttaa jotain sovelluksen logiikkaa yksinkertaisesti tietyssä järjestelmässä. Ohjelmistokehitystalot rakentavat tällaisia alustoja ja integroivat no-code- tai low-code-palveluita omiin järjestelmiinsä ja tuotteisiinsa, jotta käyttäjät pystyvät muuttamaan logiikkaa jossakin rajatussa ”hiekkalaatikossa” ilman ohjelmistokehittäjän apua.

Alustat mahdollistavat myös sovelluksen laajennuksen koodilla, mikäli käyttäjillä ilmenee siihen kustomointitarpeita – tosin ohjelmaan täytyy tässä tapauksessa sisällyttää custom-toimintaloki, johon koodia voidaan kirjoittaa. Peruskäyttäjän tarvitsemat yksinkertaiset toiminnot ovat kuitenkin vaivattomasti muutettavissa.

  • No-code-ratkaisut auttavat ihmisiä ja yrityksiä, jotka tarvitsevat tarjoamaansa sovellukseen muokkaus- ja luomismahdollisuuksia ilman ohjelmointiosaamista
  • Ohjelmistotalot integroivat molempien menetelmien toiminnallisuuksia sovelluksiinsa, jotta niitä olisi helpompi käyttää
  • Alustoihin voi toki myös sisällyttää laajennusmahdollisuuden

Millaisia no-code- ja low-code-sovellukset sitten ovat?

No-code- ja low-code-ratkaisusta voidaan mainita esimerkkinä erilaiset chatbot-alustat. Esimerkiksi verkkosivulla loppukäyttäjän kanssa chattailevaa bottia voidaan käskeä visuaalisesti tekemään asioita, eikä sille tarvitse rakentaa esimerkiksi ohjausrakenteita itse, vaan ajatuksena on keskittyä enemmänkin logiikkaan sen taustalla. Eli keskeistä on selkeyttää, mitä botin halutaan käytännössä tekevän. 

Esimerkkinä chatbotista on tekoälyyn pohjautuva ja luonnolliseen kieleen perustuva tulkkausjärjestelmä, joka luokittelee käyttäjän kirjoittaman sanoman ja sijoittaa sen tiettyyn asiayhteyteen. Jos bottiin kehitetyssä järjestelmässä on käyttäjälle vaikkapa viisi eri kysymysvaihtoehtoa, käyttäjä voi vapaasti kysyä kysymyksen ja botti valitsee sen perusteella noista vaihtoehdoista automaattisesti sen, jonka yhteyteen kysymys liittyy.

Bottiin pystytään siis rakentamaan logiikkaan perustuva keskustelurunko, jossa käyttäjän erilaiset kysymykset ohjaavat käyttäjän oikeaan suuntaan. Eli nimenomaan käyttäjä – eli bottia hallitseva yritys – voi tässä esimerkissä muuttaa botin tarinaa ja keskustelurunkoa palvelunsa mukaan ilman varsinaisen koodin kirjoittamista. 

  • Esimerkiksi erilaiset chatbot-alustat hyödyntävät usein no-codea tai low-codea
  • Menetelmän avulla voidaan muodostaa keskustelurunko, joka ohjaa käyttäjän oikeaan paikkaan
  • Näin chatbotia tarjoavan yrityksen ei tarvitse pyytää koodaajia apuun bottia muokatessaan

Esimerkiksi asunnonvälitystoimisto voi asentaa sivuilleen chatbotin ja muokata itse botin käymää tarinaa: jos loppukäyttäjä eli asiakas etsii itselleen tietynlaista asuntoa, botti tarjoaa hänelle kysymyksen perusteella rajattuja vaihtoehtoja. Näin asunnonvälitystoimiston ei tarvitse jatkuvasti soittaa botin kehittäneeseen ohjelmistoyritykseen tarinan muuttamisen takia. 

Toinen esimerkki on vaikkapa Squarespacen tapaiset verkkosivujen kehitys- ja hosting-palvelut, joissa käyttäjä voi tehdä itse editorilla itselleen verkkosivuja tietämättä itse teknisestä ohjelmistokehityksestä varsinaisesti mitään. No-code-menetelmän avulla käyttäjän ei siis itse tarvitse koodata, vaan hän voi yhdistellä editorissa raahaa ja pudota -tyyliin erilaisia palikoita toisiinsa ja määritellä siirtymiä niiden välillä.

On toki olemassa lukuisa määrä keskenään erilaisia chatbot-alustoja, jotka toimivat samalla idealla – vaihtelu kohdistuukin vain siihen tekniikkaan, mitä botista halutaan päätellä. 

Milloin no-codella tai low-codella rakennettua alustaa kannattaa harkita?

No-code- ja low-code-ratkaisuja on ollut käytössä jo pidemmän aikaa, ja niille on ehdottomasti paikkansa verkkoalustojen suunnittelussa ja toteutuksessa. Kannattaa kuitenkin miettiä, mikä käyttötarkoitus alustalle varsinaisesti on: onko tavoiteltavan asian tekeminen lopulta helpompaa raahaamalla palikoita vai koodaamalla? Ratkaisua valitessa on tärkeää, että sille on olemassa selkeä käyttötarkoitus ja vieläpä riittävän yksinkertainen sellainen. 

Ei siis ole itsetarkoitus, että koodaaminen voidaan välttää – mikäli käytettävä konteksti on laaja ja monimutkainen sekä sisältää paljon erilaisia toiminnallisuuksia, saattaa olla, että monessa kohtaa low-code-ratkaisun tekeminen aiheuttaa kehittäjälleen vain enemmän harmaita hiuksia. Hyvinkin toimiva vaihtoehto se taas lienee yksinkertaisemmissa tapauksissa, joissa käyttäjä ei omaa tarpeeksi koodaustaitoja mutta kuitenkin tarpeen pystyä tekemään jonkin verran koodauksen kaltaista työtä.

Aiemmin on ajateltu, että no-coden myötä kohta ei tarvitse koodata enää mitään, mutta sen on vaikea nähdä pitävän paikkansa; perinteisellä ohjelmoinnilla on ainakin tällä hetkellä hyvin vankka asema ohjelmistokehityksessä. Menetelmä on kuitenkin yleistynyt esimerkiksi sensoriverkoissa, jotta datan käsittelylle ei tarvitse koodata itse jokaista vaihetta erikseen, vaan toiminto pystytään määrittelemään jollain visuaalisella merkillä. Tällaisissa tapauksissa on hyväkin asia, että sensori on valmis ja alusta valmis sekä helppokäyttöinen. Näin loppukäyttäjä voi itse määritellä datan käsittelytavan ja käyttää omaa asiantuntijuuttaan sensoridatasta, vaikkei tietäisi ohjelmistokehityksestä tuon taivaallista.

  • No-code- tai low-code-ratkaisuja pohtiessasi mieti, mihin käyttötarkoitukseen haluat kehittää sovellustasi
  • Samalla on syytä pohtia, kuinka hankalat edellytykset sen kehitykselle on, eli kuinka laaja ja monimutkainen alusta tekniseltä toteutukseltaan on
  • Menetelmien hyödyntäminen lienee paikallaan, kun sovellus on tarpeeksi yksinkertainen ja yrityksesi henkilöstön tekninen osaaminen on puutteellista, mutta muokkaustarve on silti suuri
  • Kaikkiaan no-code ja low-code tarjoaa käyttäjilleen helpot ohjelmistokehitysmahdollisuudet, joiden avulla palveluita voidaan kehittää toimivammiksi ja käyttäjäystävällisemmiksi