Low-code ja no-code programmeerimine

From ICO wiki
Jump to navigationJump to search

Autorid: Kerli Saarniit, Ketlin Loob, Andrus Rähni, Mikk Lahe

Sissejuhatus

Traditsiooniline programmeerimine on käsitsi protsess – see tähendab, et inimene (programmeerija) loob programmi. Kuid ilma, et keegi loogikat programmeeriks, tuleb reegleid käsitsi sõnastada või kodeerida. [1]

Eesti keeles on väljendid low-code ja no-code suhteliselt uued – otsetõlkes on need siis vähese koodi vajadusega või koodivabad lahendused.[2]

Low-code

Low-code ehk vähese koodi vajadusega programmeerimine on tarkvara arenduslahendus, mis vähesel või pea olematul määral kasutatakse koodimist rakenduste ja tarkvaraliste protsesside loomiseks. Kompleksete programmeerimiskeelte asemel saab kasutada visuaalset kasutajaliidest (drag-and-drop vooplokkskeemid, visuaalsete blokkidega). Kasutajatel ei pea olema kõrgeid teadmisi programmeerimisest ega tarkvaraarendusest, et luua kasutajaliidese abil mobiili- või ärirakendusi.[3]

Low-code efekt tuleneb sellest, et väga palju tarkvarast on võimalik luua vaid hiirega erinevaid elemente liigutades. Tulemust on võimalik koheselt näha nutitelefonis või arvutis.[4]

Low-code on visuaalne lähenemine tarkvara arendusele, optimeerides kogu arendusprotsessi ning kiirendada tarnet. Low-code-iga saab abstraheerida ning automatiseerida igat rakenduse sammu.[5]

No-code

No-code programmeerimisplatvormid kasutavad visuaalset arendusliidest, et võimaldada mittetehnilistel kasutajatel luua rakendusi, pukseerides (ing kl drag-and-drop) tarkvarakomponente, et luua täielik rakendus. Kasutajad ei vaja koodita rakenduste loomiseks varasemat kodeerimiskogemust ja saavad arendada põhilisi, kuid toimivaid rakendusi, kasutades visuaalset, koodita pukseerimis-arhitektuuri. Tõenäoliselt ei saa kasutaja pärandsüsteeme ümber teha ega ka väga tõhusalt kiirendada ning integreerimisvõimalused on piiratud.[3]

Erinevused ja sarnasused [3]

Low-code No-code
Keda teenindab? Arendajaid Ettevõtte kasutajaid, lihtkasutajaid
Peamine eesmärk Arenduskiirus Kergem kasutatavus
Koodimine? Madal, kuid siiski olemas Koodimist ei ole vaja
Kohandatavus Täielik kohandatavus Eeldefineeritud malle saab kohandada
Platvormi sõltuvus Võib vabalt erinevaid platvorme vahetada Mõnede platvormide vahel lõimumine keerulisem
End-to-end arendus Kõik platvormid võimaldavad end-to-end arendust Mõnedel platvormide piiratud võimalused
Siht Järgmise generatsiooni tarkvaraarenduse tööriist professionaalsetele arendajatele Iseteeninduslik rakendus ärikasutajatele
Rakenduste komplektsus Saab luua komplektseid rakendusi Saab vaid lihtsamaid rakendusi luua
Kuluefektiivsus Kuluefektiivne ettevõtetele, kel on grupp arendajaid, programmeerijaid Kuluefektiivne ettevõtetele, kel pole otseselt IT-tiimi ega pole kõrgeid nõudmisi IT-le

Erinevused traditsioonilisest programmeerimisest

Kui low-code ja no-code arendusplatvormid võimaldavad nii professionaalsetel, hobitaseme arendajate kui ka arendushuvilistel kiiresti rakendusi arendada, kasutades drag-and-drop liideseid, siis traditsioonilise arenduse puhul kasutatakse tavapäraseid arenduse meetodeid. Järgnevalt tuuakse välja mõned olulisemad erinevused low-code/no-code ja traditsioonilise tarkvara arenduslahenduste vahel.


Oskused

Traditsiooniline arendus nõuab sügavamate programmeerimis- ja tarkvaraarendusalaste oskuste ning teadmiste olemasolu. Traditsioonilise tarkvara arendusviisiga kaasneb üldjuhul mitmesuguseid vahendeid ja erinevaid funktsioone, mis võimaldavad arendajatel luua väga keerulisi rakendusi. Selleks, et olla võimeline nende rakenduste kallal tegutsemiseks, on vaja omada tehnilisi ja keerukaid IT-alaseid oskusi.

Low-code/no-code arendusmudel toob programmeerimise tavainimesel lähemale, sest ei nõua sügavaid arendusealaseid teadmisi. Niisugused platvormid sisaldavad üldjuhul väheseid tööriistu ja funktsioone eesmärgiga pakkuda kasutajatele kiiret ja vaevatut tarkvaraarenduse kogemust ilma tehnilisi teadmisi omamata.

Kvaliteet

Traditsioonilise arenduse kõrgete tehniliste omaduste ja keerukuse tõttu kipub tekkima palju vigu, mistõttu võib rakenduse kasutamine liialt keeruliseks osutuda. Low-code/no-code arenduse puhul ei teki rakenduste loomisel üldjuhul vigu. See tagab loodud rakenduse sujuva ja tõrgeteta töö.

Hind

Kuigi maksumus sõltub projekti ulatusest, keerukusest ja kliendi vajadustest, on traditsioonilistel viisil tarkvara arendus väga kallis. Suurimat väärtust pakub see suurettevõtetele, kes vajavad individuaalset ehk rätsepatöö (ingl kl custom-made) lahendust, mida on raskem luua low-code/no-code platvormide abil.

Low-code/no-code platvormide kasutus on võrreldes traditsioonilistega palju odavamad. Seda peamiselt seetõttu, et Low-code/no-code platvormide puhul maksab ettevõte ainult kindlale teenusele juurdepääsu eest, mitte selle algusest lõpuni arendamise eest.

Agiilsus

Traditsioonilistel arendusplatvormidel on üldiselt keeruline konfiguratsioonisüsteem, mis muudab need vähem paindlikuks. Lisaks nõuab nende selgeks õppimine ja kasutamine nende keerukate koodide tõttu palju aega.

Seevastu low-code/no-code platvormide kasutamine on tänu drag-and-drop liidestele tunduvalt lihtsam ja kiirem. low-code/no-code platvormi abil saab koodide kirjutamise asemel kasutada joonistamismeetodeid.

Hooldus

Traditsioonilise koodimise puhul on ülalpidamine ja täiustamine suureks peavaluks, sest värskendamine nõuab muudatuste tegemiseks spetsiaalset ettevõttesisest või kolmanda osapoole arendusmeeskonda, ning mõningatel juhtudel on sellejärgselt vaja läbi viia ka kasutajate koolitamine uute muudatuste osas.

Vastupidiselt traditsioonilisele low-code/no-code platvormide eest hoolitsevad ja vastutavad platvormide omanikud. See toob suurimat kasu just väikeettevõtetele, sest niisugune mudel võimaldab neil kasutada hästi hooldatud tarkvara ilma, et nad peaksid maksma kolmanda osapoole hooldusteenuse eest või omama ettevõttesisest arendusmeeskonda.

Low-code/no-code tarkvara arenduslahendused, mis on raputamas tänast tarkvaratööstust, on populaarsust kogumas, sest neid kasutatakse üha enam tarkvaratoodete turustamisel. Gartneri prognoosist järeldub, et 2024. aastaks moodustavad low-code/no-code tarkvara platvormid pea 65% kogu rakendustarkvara arendusest/arendamisest. [6]

Ajalugu

Low-code ja no-code programmeerimine ei ole uus programmeerimise strateegia, kuid selle populaarsus on viimastel aastatel kasvanud. Kui mõista low-code ja no-code termineid nii, et need tähendavad programmeerimise lahendust, mis vähendab oluliselt koodi kirjutamiseks vajalikku pingutust. Võib väita, et esimesed kõrgetasemelised programmeerimiskeeled, sealhulgas Fortran ja COBOL[7], olid midagi ligikaudset madala koodiga platvormidele. See päästis arendajad rakenduste masinkoodi kirjutamisest.

Järgmine suur hüpe low-code ja no-code programmeerimises oli Apple'i HyperCard'i[8] väljalaskmine 1987. aastal. HyperCard oli arendusplatvorm ja raamistik, mis võimaldas programmeerijatel luua üsna keerulisi rakendusi ilma koodi kirjutamata. Nad võivad graafiliste menüüde abil määratleda liideseid ja funktsioone. HyperCard toetas ka skriptimist arendajatele, kes soovisid kooditaseme juhtimist, kuid see ei nõudnud seda. Kuigi HyperCard oli omal ajal edukas, lõpetas Apple 1998. aastal arenduse.

See ajaloo unustamine on loonud arendusplatvormi müüjatele võimaluse taaselustada low-code ja no-code programmeerimises eeldus. 2014. aastal võttis Forrester Research [9] kasutusele termini "low-code". Vähem selge on see, millal sai "no-code" tehnilise kõnepruugi tavaliseks osaks, kuid see oli kindlasti juba laialt levinud kolm-neli aastat tagasi. [10]

Viidatud allikad

  1. Mondal, Buddhadeb. "Difference between Traditional Programming and Machine learning" (12.05.2020) Kaggle. Kasutatud 02.05.2022
  2. Granlund, Stig. "Ärilahenduste uus ajastu ehk mida ja miks peaks teadma PowerAppidest" (28.12.2021) BCS Itera. Kasutatud 02.05.2022
  3. 3.0 3.1 3.2 "Low Code Vs No Code: What’s the difference between Low-Code No-Code." (27.08.2021). Kissflow. Kasutatud 02.05.2022.
  4. "Low-code arendus ja Mendix arendusplatvorm". Neurisium. Kasutatud 02.05.2022.
  5. "What is Low-Code?" (07.04.2022). Mendix. Kasutatud 02.05.2022.
  6. Duffy, Shannon. "Salesforce Is Named a Leader in the 2019 Gartner Magic Quadrant for Low Code Application Platforms" (09.11.2021). Kasutatud 02.05.2022
  7. "Why Easy Software Development Is Making Things Hard for Development Careers" (18.01.2019). Kasutatud 02.05.2022
  8. Apple HyperCard. Kasutatud 02.05.2022
  9. Forrester Research. Wikipedia. Kasutatud 02.05.2022
  10. "The Evolution of Low-Code/No-Code Development" (30.11.2021). Kasutatud 02.05.2022