No-code saa nimensä siitä, että sen avulla käyttäjät voivat kehittää sovelluksia ilman varsinaista ohjelmointiosaamista. Eli ilman yhdenkään koodirivin näpyttelyä. Low-code 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 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 sovellusten kehittämiseen ja integrointiin.
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 rajatummassa ”hiekkalaatikossa” ilman ohjelmistokehittäjän apua.
Alustat mahdollistavat myös sovelluksen laajennuksen koodilla, mikäli sellaiseen ilmenee tarpeita – 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- 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 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ä.
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.
Usein oikean ratkaisun valinta vaatii ymmärrystä ohjelmistokehityksestä, varsinkin jos kyseessä on hiemankin monimutkaisempi projekti. Ota yhteyttä, ja selvitetään, olisiko Metatavusta apua teidän projektinne toteutuksessa!