Low-code ja no-code programmeerimine: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Anrahn (talk | contribs)
Anrahn (talk | contribs)
 
(47 intermediate revisions by the same user not shown)
Line 2: Line 2:
= Sissejuhatus =
= 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. <ref name="kaggle">Mondal, Buddhadeb. [https://www.kaggle.com/getting-started/150361 "''Difference between Traditional Programming and Machine learning''"] (12.05.2020) Kaggle. Kasutatud 02.05.2022.</ref>
Traditsiooniline programmeerimine on manuaalne protsess – see tähendab, et inimene (programmeerija) loob programmi koodimisega/programmeerimisega valitud keelega. Kuid ilma, et keegi loogikat programmeeriks, tuleb reegleid käsitsi sõnastada või kodeerida. <ref name="kaggle">Mondal, Buddhadeb. [https://www.kaggle.com/getting-started/150361 "''Difference between Traditional Programming and Machine learning''"] (12.05.2020) Kaggle. Kasutatud 02.05.2022.</ref>


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.<ref name="itera">Granlund, Stig.  [https://www.itera.ee/2021/12/mida-ja-miks-peaks-teadma-powerappidest/ "Ärilahenduste uus ajastu ehk mida ja miks peaks teadma PowerAppidest"] (28.12.2021) BCS Itera. Kasutatud 02.05.2022.</ref>
Eesti keeles on väljendid ''low-code'' ja ''no-code'' suhteliselt uued. Otsetõlkes inglise keelest - vähese koodiga (''low-code''), koodivabad lahendused (''no-code'').<ref name="itera">Granlund, Stig.  [https://www.itera.ee/2021/12/mida-ja-miks-peaks-teadma-powerappidest/ "Ärilahenduste uus ajastu ehk mida ja miks peaks teadma PowerAppidest"] (28.12.2021) BCS Itera. Kasutatud 02.05.2022.</ref>


= Low-code =
= 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 (''[https://en.wikipedia.org/wiki/Drag_and_drop drag-and-drop]'' vooplokkskeemid, visuaalsete blokkidega). Kasutajatel ei pea olema kõrgeid teadmisi programmeerimisest ega tarkvaraarendusest, et luua kasutajaliidese abil mobiili- või ärirakendusi.<ref name="kissflow">
'''''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 (''[https://en.wikipedia.org/wiki/Drag_and_drop drag-and-drop]'' vooplokkskeemid, visuaalsete plokkidega). Kasutajatel ei pea olema kõrgeid teadmisi programmeerimisest ega tarkvaraarendusest, et luua kasutajaliidese abil mobiili- või ärirakendusi.<ref name="kissflow">
[https://kissflow.com/low-code/low-code-vs-no-code "''Low Code Vs No Code: What’s the difference between Low-Code No-Code.''"] (27.08.2021). Kissflow. Kasutatud 02.05.2022.</ref>
[https://kissflow.com/low-code/low-code-vs-no-code "''Low Code Vs No Code: What’s the difference between Low-Code No-Code.''"] (27.08.2021). Kissflow. Kasutatud 02.05.2022.</ref>


''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.<ref name="neurisium">
''Low-code'' efekt tuleneb sellest, et väga palju tarkvarast on võimalik luua vaid hiirega erinevaid elemente liigutades ning omavahel sidustades. Tulemust on võimalik koheselt näha nutitelefonis või arvutis.<ref name="neurisium">
[https://www.neurisium.com/ee/low-code-arendus-ja-mendix-arendusplatvorm "Low-code arendus ja Mendix arendusplatvorm"]. Neurisium. Kasutatud 02.05.2022.</ref>
[https://www.neurisium.com/ee/low-code-arendus-ja-mendix-arendusplatvorm "Low-code arendus ja Mendix arendusplatvorm"]. Neurisium. Kasutatud 02.05.2022.</ref>


''Low-code'' on visuaalne lähenemine tarkvara arendusele, optimeerides kogu arendusprotsessi ning kiirendada tarnet. ''Low-code''-iga saab abstraheerida ning automatiseerida igat rakenduse sammu.<ref name="Mendix">
''Low-code'' on visuaalne lähenemine tarkvara arendusele, optimeerides kogu arendusprotsessi ning kiirendada tarnet. ''Low-code''-iga saab abstraheerida ning automatiseerida igat rakenduse sammu.<ref name="Mendix">
[https://www.mendix.com/low-code-guide/ "''What is Low-Code?''"] (07.04.2022). Mendix. Kasutatud 02.05.2022.</ref>
[https://www.mendix.com/low-code-guide/ "''What is Low-Code?''"] (07.04.2022). Mendix. Kasutatud 02.05.2022.</ref>
Ükski ''low-code'' / ''no-code'' platvorm ei ole seotud konkreetse operatsioonisüsteemi, kindla andmebaasiga ega programmeerimiskeelega.
Baasfunktsionaalsused (kasutaja loome, logimine, piltide haldamine jpm) on kõikjal pea sama, erinev on ainult disain. Baasfunktsionaalsused on pandud kui visuaalsetesse plokkidesse.


= No-code =
= 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.<ref name="kissflow"/>
'''''No-code''''' eprogrammeerimisplatvormid kasutavad visuaalset arendusliidest, et võimaldada mittetehnilistel kasutajatel luua rakendusi, pukseerides tarkvarakomponente, et luua täielik rakendus. Kasutajad ei vaja koodita rakenduste loomiseks varasemat kodeerimiskogemust ja saavad arendada põhilisi toimivaid rakendusi, kasutades visuaalset, koodita pukseerimisarhitektuuri. Tõenäoliselt ei saa kasutaja pärandsüsteeme ümber teha ega ka tõhusalt protsesse kiirendada ning integreerimisvõimalused on teataval määral piiratud.<ref name="kissflow"/>
 
= Erinevused ja sarnasused <ref name="kissflow"/> =


= Erinevused ja sarnasused =
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 49: Line 52:
| Mõnede platvormide vahel lõimumine keerulisem
| Mõnede platvormide vahel lõimumine keerulisem
|-
|-
! scope="row"| End-to-end arendus
! scope="row"| Täielik ja läbiv arendus
| Kõik platvormid võimaldavad end-to-end arendust
(Ing kl ''end-to-end development'')
| Kõik platvormid võimaldavad täielikku ja läbivat arendust
| Mõnedel platvormide piiratud võimalused
| Mõnedel platvormide piiratud võimalused
|-
|-
Line 66: Line 70:
|-
|-
|}
|}
Tabel 1. ''Low-code'' vs ''no-code''<ref name="kissflow"/>


= Erinevused traditsioonilisest programmeerimisest =
= Erinevused traditsioonilisest programmeerimisest<ref>[https://marutitech.com/no-code-low-code-vs-traditional-development/ "''No Code/Low Code Vs. Traditional Development - Which Team Should You Pick?''"] Maruti Techlabs. (04.02.2022). Kasutatud 02.05.2022.</ref> =
Kui ''low-code'' ja ''no-code'' arendusplatvormid võimaldavad nii professionaalsetel, hobitaseme arendajatel 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.


Kui ''low-code'' ja ''no-code'' arendusplatvormid võimaldavad nii professionaalsetel, hobitaseme arendajate kui ka arendushuvilistel kiiresti rakendusi arendada, kasutades ''[https://en.wikipedia.org/wiki/Drag_and_drop 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 ===
=== 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.
Traditsiooniline arendus nõuab sügavamate programmeerimis- ja tarkvaraarendusalaste teadmiste ning oskuste olemasolu. Traditsioonilise tarkvara arendusviisiga kaasnevad ü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.
''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.
Line 82: Line 87:
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.
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.
''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 ===
=== 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.
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.
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 ===
=== Hooldus ===
Line 94: Line 99:
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.
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.
{| class="wikitable"
Gartneri prognoosist järeldub, et 2024. aastaks moodustavad ''low-code''/''no-code'' tarkvara platvormid pea 65% kogu rakendustarkvara arendusest/arendamisest. <ref name="salesforceblog">Duffy, Shannon. [https://www.salesforce.com/blog/gartner-lcap/ "''Salesforce Is Named a Leader in the 2019 Gartner Magic Quadrant for Low Code Application Platforms''"] (09.11.2021). Kasutatud 02.05.2022.</ref>
|-
!
! style="font-weight:bold;" | ''Low-code'' arendus
! style="font-weight:bold;" | Traditsiooniline arendus
|-
| style="font-weight:bold;" | Definitsioon
| ''Low-code'' arendus on tarkvararakenduste arendamine graafilise kasutajaliidese ehk visuaalse modelleerimise abil.
| Traditsiooniline arendus on tarkvararakenduste arendamine käsitsi koodimise ehk programmeerimise abil.
|-
| style="font-weight:bold;" | Tööriistad
| Kiire rakenduste arendamise tööriistu nagu [https://www.mendix.com/ Mendix] ja [https://appian.com/ Appianit] kasutatakse ''low-code'' veebirakenduste arendamiseks.
| Arendajad kasutavad veebiraamistikke ja programmeerimiskeeli veebirakenduste koodimiseks.
|-
| style="font-weight:bold;" | Koodimisalased teadmised
| Nõutavad minimaalsed teadmised. ''Low-code'' arendajatelt on nõutavad põhiteadmised koodimisest.
| Professionaalsed veebiarendajad, kellel on täiustatud koodimisoskused ja teadmised mitmest veebiraamistikust, töötavad traditsiooniliste veebirakendustega.
|-
| style="font-weight:bold;" | Arenduskiirus
| ''Low-code'' arendusplatvormid ([https://en.wikipedia.org/wiki/Low-code_development_platform#:~:text=A%20low%2Dcode%20development%20platform,additional%20coding%20for%20specific%20situations ''Low-code Development Platform'' ehk LCDP]) on tuntud oma kiire arengu poolest. Töötava veebirakenduse saab välja töötada 1–3 nädalaga.
| Traditsiooniline arendus nõuab koodimist ja selle valmimiseks võib kuluda 2–8 kuud. Kuid jõudluse osas töötab traditsiooniline paremini.
|-
| style="font-weight:bold;" | Kohandamine
| LCDP-platvormidega saab oma veebirakendusele lisada väga piiratud kohandusi.
| Traditsioonilise kodeerimisega saab veebirakendust kohandada vastavalt erinõuetele.
|-
| style="font-weight:bold;" | Agiilsus
| ''Low-code'' rakendused on paindlikumad, kuna saab kiiresti muudatusi teha. Uute rakenduste lansseerimised on kiiremad ning kõik vead saab tagasi pöörata ja neid lahendada.
| Traditsioonilise kohandatud arenduse korral võivad muutused olla aeglased. Kuid agiilseid arendustavasid järgides võivad traditsioonilised veebirakendused olla kiiremad.
|-
| style="font-weight:bold;" | Kasutuselevõtt
| ''Low-code'' rakenduste juurutamine on kiire. Kuid juurdepääs on piiratud platvormidele. Sõltuvalt kasutatavatest ''low-code'' tööriistadest saab juurutada ainult toetatud platvormidele.
| Traditsiooniliste veebirakenduste abil saab neid vabalt juurutada mistahes ja kõikidele platvormidele.
|-
| style="font-weight:bold;" | Kvaliteet
|
* Integreeritavus on piiratud
* Skaleeritavus on piiratud
* Jõudlus ja kiirus on standardsed
* Reaalajas silumisega on rakendus veatu
|
* Integreeritav kõikide süsteemidega
* Kõrge skaleeritavus
* Jõudlus ja kiirus on äärmiselt kõrged
* Testimine ja silumine nõuavad aega
|-
| style="font-weight:bold;" | Hooldus
| ''Low-code'' rakendusi on suhteliselt lihtne hooldada. Kui ettevõte värskendab LCDP-platvormi, värskendatakse ka ''low-code'' veebirakendusi automaatselt. Nii kulutab tavahooldusele minimaalselt ressursse.
| Kohandatud veebirakendusi võib olla keeruline regulaarselt värskendada ja hooldada. Koodi iga kord värskendamiseks vajab spetsiaalset meeskonda.
|}
Tabel 2. ''Low-code'' vs traditsionaalne koodimine<ref>Patel, Jeel. [https://www.monocubed.com/blog/low-code-vs-traditional-development "''Which Method to Use – Low Code vs Traditional Development?''"] Monocubed. (08.03.2022). Kasutatud 02.05.2022.</ref>


= Plussid ja miinused =
= Plussid ja miinused =
Line 103: Line 157:
* lihtne elementide/komponentide omavaheline seostamine
* lihtne elementide/komponentide omavaheline seostamine
* väike või olematu võimalus süntaksi vigadele
* väike või olematu võimalus süntaksi vigadele
* ''No-code'' platvormi puhul kuluefektiivne (ei pea omama arendustiimi)
* ''no-code'' platvormi puhul kuluefektiivne (ei pea omama arendustiimi)


==== Madalamad kulud ====
==== Madalamad kulud ====
''Low-code''/''no-code'' arendusteenustega väheneb aeg ja kulud oluliselt ning ettevõtted ei pea palkama nii palju arendajaid.
''Low-code''/''no-code'' arendusteenustega väheneb aeg ja kulud oluliselt ning ettevõtted ei pea palkama nii palju arendajaid.


Lisaks, kui valida oma toote jaoks koodita arenduse, naudite paindlikkust, mida agiilne meetod pakub, kuna need platvormid toetavad versioonimist kõigi rakenduses tehtud muudatuste jaoks.
Lisaks, kui valida toote valmistamiseks koodita arenduse, pakub see agiilse meetodi paindlikkust, kuna need platvormid toetavad versioonimist kõigi rakenduses tehtud muudatuste jaoks.
 
==== Agiilsus ====
==== Agiilsus ====
''Low-code''/''no-code'' arendused võimaldavad organisatsioonidel kiiremini areneda ja muudatusi teha. Oskused, mis on vajalikud ''low-code''/''no-code'' arendustoodete loomiseks, on palju väiksemad kui kohandatud arendusega, kuna need pakuvad konfiguratsioonipõhist disainikogemust.
''Low-code''/''no-code'' arendused võimaldavad organisatsioonidel kiiremini areneda ja muudatusi teha. Oskused, mis on vajalikud ''low-code''/''no-code'' arendustoodete loomiseks, on palju väiksemad kui kohandatud arendusega, kuna need pakuvad konfiguratsioonipõhist disainikogemust.
Line 135: Line 190:
Kuna ''low-code''/''no-code'' arendus on ebaselge valdkond, on ettevõtetel raske leida arendajaid, kes oskaksid vähesel määral ''low-code''/''no-code'' arendust teha, harvadel juhtudel, kui nad seda nõuavad.
Kuna ''low-code''/''no-code'' arendus on ebaselge valdkond, on ettevõtetel raske leida arendajaid, kes oskaksid vähesel määral ''low-code''/''no-code'' arendust teha, harvadel juhtudel, kui nad seda nõuavad.
= Kasutusalad =
= Kasutusalad =
''Low-code''/''no-code'' peamised kasutusalad on ettevõtetes, kus vaja luua äriprotsesse toetav arvuti- või mobiilirakendus.
''Low-code''/''no-code'' peamised kasutusalad on ettevõtetes või organisatsioonides, kus vaja luua äriprotsesse toetav arvuti- või mobiilirakendus.
Põhilised elemendid on kasutajatehaldus, äriprotsesside automatiseerimine, andmehaldus, raportite loome, arvepidamine ning erinevate teenuste omavaheline seotus.
Põhilised elemendid on kasutajatehaldus, äriprotsesside automatiseerimine, andmehaldus, raportite loome, arvepidamine ning erinevate teenuste omavaheline seotus.


Line 141: Line 196:
Koodi tundmise oskus on tänapäeva digiajastul üks enim nõutud oskusi. Lapsed on väga loomingulised ja võimelised uusi asju õppima väga kiiresti. Pea-ees sukeldumine keerukasse programmeerimise keelde võib pigem tekitada vastakaid tundeid. Seepärast on väga hea alustada ''low-code'' või ''no-code'' platvormil. Kuna peamiselt on tegemist visuaalse ehitamisega, mis vajab vähest või mitte mingisugust programmeerimise teadmist - annab see lastele võimaluse luua rakendusi, ilma et koodi süntaksi tundmine oleks takistuseks. Lihtsama rakenduse ehitamine kasutades ''low-code'' vahendeid võtab lapsele aega umber paar tundi. See aitab neil tõsta enesekindlust ja uudishimu rakenduste arendamise suhtes. Kuna laste huvi võib olla kiire kaduma, siis on kiire tulemuse nägemine nende jaoks kindlasti väga oluline. Lisaks vähese koodi teadmisega saab laps juba ehitada mõne mängu, mida oma sõpradega jagada.<ref name="childrentocode1">Arora, Vagisha. [https://www.planetcrust.com/how-to-educate-children-to-code "''How To Educate Children to Code?''"] Planet Crust. (24.09.2021). Kasutatud 02.05.2022</ref>
Koodi tundmise oskus on tänapäeva digiajastul üks enim nõutud oskusi. Lapsed on väga loomingulised ja võimelised uusi asju õppima väga kiiresti. Pea-ees sukeldumine keerukasse programmeerimise keelde võib pigem tekitada vastakaid tundeid. Seepärast on väga hea alustada ''low-code'' või ''no-code'' platvormil. Kuna peamiselt on tegemist visuaalse ehitamisega, mis vajab vähest või mitte mingisugust programmeerimise teadmist - annab see lastele võimaluse luua rakendusi, ilma et koodi süntaksi tundmine oleks takistuseks. Lihtsama rakenduse ehitamine kasutades ''low-code'' vahendeid võtab lapsele aega umber paar tundi. See aitab neil tõsta enesekindlust ja uudishimu rakenduste arendamise suhtes. Kuna laste huvi võib olla kiire kaduma, siis on kiire tulemuse nägemine nende jaoks kindlasti väga oluline. Lisaks vähese koodi teadmisega saab laps juba ehitada mõne mängu, mida oma sõpradega jagada.<ref name="childrentocode1">Arora, Vagisha. [https://www.planetcrust.com/how-to-educate-children-to-code "''How To Educate Children to Code?''"] Planet Crust. (24.09.2021). Kasutatud 02.05.2022</ref>


Hollandis külastasid ''no-code'' arendajad kooliaasta alguses 12-aastaseid lapsi. Lastele anti kätte seade ja lihtne rakendus, mis koosnes tekstisisestus väljast, ühes nupust ja andmevoost. Peale töövooga tutvumist: tekstisisestus, salvestamise nupule vajutamine ja teksti kuvamine andmevoos - said kõik ülesandeks luua enda väljanägemisega ''WhatsApp'''i või ''Instagram''-i analoogse rakenduse. 1,5-tunnise töötoa lõpuks said kaheksast nelja lapselisest meeskonnast neli valmis oma töötava rakenduse. Töötoa korraldajad leidsid, et ''no-code'' arendamine vs traditsiooniline arendamine annab paljudele erialadele (disainerid, tootejuhid) võimaluse võtta arendaja rolli.<ref name="childrentocode2">Krouwels, Vincent. [https://medium.com/tinkso/why-we-should-teach-kids-no-code-604df2d0aac4 "''Why we should teach kids no-code''"] Tinkso. (10.09.2019). Kasutatud 02.05.2022</ref>
Hollandis külastasid ''no-code'' arendajad kooliaasta alguses 12-aastaseid lapsi. Lastele anti kätte seade ja lihtne rakendus, mis koosnes tekstisisestus väljast, ühes nupust ja andmevoost. Peale töövooga tutvumist: tekstisisestus, salvestamise nupule vajutamine ja teksti kuvamine andmevoos - said kõik ülesandeks luua enda väljanägemisega [https://en.wikipedia.org/wiki/WhatsApp WhatsApp]-i või [https://en.wikipedia.org/wiki/Instagram Instagram]-i analoogse rakenduse. 1,5-tunnise töötoa lõpuks said kaheksast nelja lapselisest meeskonnast neli valmis oma töötava rakenduse. Töötoa korraldajad leidsid, et ''no-code'' arendamine vs traditsiooniline arendamine annab paljudele erialadele (disainerid, tootejuhid) võimaluse võtta arendaja rolli.<ref name="childrentocode2">Krouwels, Vincent. [https://medium.com/tinkso/why-we-should-teach-kids-no-code-604df2d0aac4 "''Why we should teach kids no-code''"] Tinkso. (10.09.2019). Kasutatud 02.05.2022</ref>


=== Yamaha ProVisionaire Amp Editor ===  
=== Yamaha ProVisionaire Amp Editor ===  
Yamaha helivõimendite sisendite ja väljundite modifitseerimiseks on ''no-code'' redaktor nimega [https://asia-latinamerica-mea.yamaha.com/en/products/proaudio/software/provisionaire_amp_editor/index.html ProVisionaire Amp Editor]. Windows-baasil töötav rakendus võimaldab siduda sisendhelikanalid erinevate blokkidega (valjusus, delay, heliekvalaiser, kaja, kompressor, limitaator jpm), grupeerida kanaleid, lisada filtreid, peenhäälestada heli.<ref name="yamaha">[https://asia-latinamerica-mea.yamaha.com/en/products/proaudio/software/provisionaire_amp_editor/index.html Yamaha ProVisionaire Amp Editor] Yamaha. Kasutatud 02.05.2022</ref>
[https://en.wikipedia.org/wiki/Yamaha_Corporation Yamaha] helivõimendite sisendite ja väljundite modifitseerimiseks on ''no-code'' redaktor nimega [https://asia-latinamerica-mea.yamaha.com/en/products/proaudio/software/provisionaire_amp_editor/index.html ProVisionaire Amp Editor]. Windows-i baasil töötav rakendus võimaldab siduda sisendhelikanalid erinevate plokkidega (valjusus, delay, heliekvalaiser, kaja, kompressor, limitaator, erinevad efektid jpm), grupeerida kanaleid, lisada filtreid, peenhäälestada heli.<ref name="yamaha">[https://asia-latinamerica-mea.yamaha.com/en/products/proaudio/software/provisionaire_amp_editor/index.html Yamaha ProVisionaire Amp Editor] Yamaha. Kasutatud 02.05.2022</ref>
 
=== DaVinci Resolve Studio ===
Sarnaselt Yamaha tootele, on filmitööstuses ettevõtte [https://en.wikipedia.org/wiki/Blackmagic_Design BlackMagic design] tarkvara [https://www.blackmagicdesign.com/products/davinciresolve/studio DaVinci Resolve Studio], millega on võimalik filmi toormaterjalist värviparandusi teha, kasutades ''no-code'' vooplokkskeemi lahendust.


== Rakendused ==
== Rakendused / platvormid ==
* [https://zoho.com/creator/ Zoho Creator] - äriteabe (Business-intelligence) koostamise platvorm, kus kasutatakse ''no-code''-i
* [https://zoho.com/creator/ Zoho Creator] - äriteabe (Business-intelligence) koostamise platvorm, kus kasutatakse ''no-code''-i
* [https://lansa.com/products/visual-lansa/ Visual LANSA] - mobiilirakenduste loomiseks mõeldud platvorm, mis kasutab ''low-code''-i
* [https://lansa.com/products/visual-lansa/ Visual LANSA] - mobiilirakenduste loomiseks mõeldud platvorm, mis kasutab ''low-code''-i
Line 159: Line 217:
= Ajalugu =
= 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<ref name="itprotoday1">[https://www.itprotoday.com/devops-and-software-development/why-easy-software-development-making-things-hard-development-careers "''Why Easy Software Development Is Making Things Hard for Development Careers''"] (18.01.2019). Kasutatud 02.05.2022.</ref>, olid midagi ligikaudset madala koodiga platvormidele. See päästis arendajad rakenduste  masinkoodi kirjutamisest.
''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 [https://en.wikipedia.org/wiki/Fortran#:~:text=Fortran%20(%2F%CB%88f%C9%94%CB%90rt,Fortran Fortran] ja [https://et.wikipedia.org/wiki/COBOL COBOL], olid midagi ligikaudset madala koodiga platvormidele<ref name="itprotoday1">[https://www.itprotoday.com/devops-and-software-development/why-easy-software-development-making-things-hard-development-careers "''Why Easy Software Development Is Making Things Hard for Development Careers''"] (18.01.2019). Kasutatud 02.05.2022.</ref>. See päästis arendajad rakenduste  masinkoodi kirjutamisest.


Järgmine suur hüpe ''low-code'' ja ''no-code'' programmeerimises oli Apple'i HyperCard'i<ref name="hypercard">[https://en.wikipedia.org/wiki/HyperCard Apple HyperCard]. Wikipedia. Kasutatud 02.05.2022.</ref> 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.  
Järgmine suur hüpe ''low-code'' ja ''no-code'' programmeerimises oli [https://en.wikipedia.org/wiki/HyperCard Apple'i HyperCard'i] 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 <ref name="forrester">[https://en.wikipedia.org/wiki/Forrester_Research Forrester Research]. Wikipedia. Kasutatud 02.05.2022.</ref> 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.
See ajaloo unustamine on loonud arendusplatvormi müüjatele võimaluse taaselustada ''low-code'' ja ''no-code'' programmeerimises eelduse. 2014. aastal võttis [https://en.wikipedia.org/wiki/Forrester_Research Forrester Research] kasutusele termini "''low-code''". Ebaselge on see, millal sai "''no-code''" tehnilise kõnepruugi tavaliseks osaks, kuid see oli kindlasti juba laialt levinud kolm-neli aastat tagasi.
<ref name="itprotoday2">[https://www.itprotoday.com/no-codelow-code/evolution-low-codeno-code-development "''The Evolution of Low-Code/No-Code Development''"] (30.11.2021). Kasutatud 02.05.2022.</ref>
<ref name="itprotoday2">[https://www.itprotoday.com/no-codelow-code/evolution-low-codeno-code-development "''The Evolution of Low-Code/No-Code Development''"] (30.11.2021). Kasutatud 02.05.2022.</ref>


= Tulevikusuund =
= Tulevikusuund =
''Low-code'' / ''no-code'' programmeerimine on rakenduste arendamise tulevik. ''Low-code'' / ''no-code'' programmeerimise mängivad rakenduste tarnimise kiirendamisel üha olulisemat rolli. Gartner ennustab, et 2023. aastaks on üle 50% keskmistest ja suurtest ettevõtetest võtnud ühe oma strateegilise rakendusplatvormina madala koodiga või koodita koodi ning 2024. aastaks madala koodiga platvormid vastutavad enam kui 65% rakenduste arendustegevusest. Suurimatel ja rikkamatel ettevõttel on juurdepääs parimatele tehnilistele kogemustele ja arenenumatele arendustööriistadele. Koodivabad ja madala koodiga tööriistad ühtlustavad, andes igas suuruses organisatsioonidele võimaluse oma olemasolevate ressurssidega rohkem ära teha.<ref name="outsystems">[
''Low-code'' / ''no-code'' programmeerimine on rakenduste arendamise tulevik. ''Low-code'' / ''no-code'' programmeerimisel mängivad rakenduste tarnimise kiirendamisel üha olulisemat rolli. [https://en.wikipedia.org/wiki/Gartner Gartner] ennustab, et 2023. aastaks on üle 50% keskmistest ja suurtest ettevõtetest võtnud ühe oma strateegilise rakendusplatvormina madala koodiga või koodita koodi ning 2024. aastaks madala koodiga platvormid vastutavad enam kui 65% rakenduste arendustegevusest. Suurimatel ja rikkamatel ettevõttel on juurdepääs parimatele tehnilistele kogemustele ja arenenumatele arendustööriistadele. Koodivabad ja vähese koodiga tööriistad ühtlustavad, andes igas suuruses organisatsioonidele võimaluse oma olemasolevate ressurssidega rohkem ära teha.<ref name="outsystems">[
https://www.outsystems.com/blog/posts/low-code-vs-no-code/ "''Low-Code and No-Code: What's the Difference and When to Use What?''"]. OutSystems. (08.01.2021). Kasutatud 02.05.2022.</ref>  
https://www.outsystems.com/blog/posts/low-code-vs-no-code/ "''Low-Code and No-Code: What's the Difference and When to Use What?''"]. OutSystems. (08.01.2021). Kasutatud 02.05.2022.</ref>


= Viidatud allikad =
= Viidatud allikad =
{{Reflist}}
{{Reflist}}

Latest revision as of 20:27, 3 May 2022

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

Sissejuhatus

Traditsiooniline programmeerimine on manuaalne protsess – see tähendab, et inimene (programmeerija) loob programmi koodimisega/programmeerimisega valitud keelega. 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 inglise keelest - vähese koodiga (low-code), koodivabad lahendused (no-code).[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 plokkidega). 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 ning omavahel sidustades. 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]

Ükski low-code / no-code platvorm ei ole seotud konkreetse operatsioonisüsteemi, kindla andmebaasiga ega programmeerimiskeelega.

Baasfunktsionaalsused (kasutaja loome, logimine, piltide haldamine jpm) on kõikjal pea sama, erinev on ainult disain. Baasfunktsionaalsused on pandud kui visuaalsetesse plokkidesse.

No-code

No-code eprogrammeerimisplatvormid kasutavad visuaalset arendusliidest, et võimaldada mittetehnilistel kasutajatel luua rakendusi, pukseerides tarkvarakomponente, et luua täielik rakendus. Kasutajad ei vaja koodita rakenduste loomiseks varasemat kodeerimiskogemust ja saavad arendada põhilisi toimivaid rakendusi, kasutades visuaalset, koodita pukseerimisarhitektuuri. Tõenäoliselt ei saa kasutaja pärandsüsteeme ümber teha ega ka tõhusalt protsesse kiirendada ning integreerimisvõimalused on teataval määral piiratud.[3]

Erinevused ja sarnasused

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
Täielik ja läbiv arendus

(Ing kl end-to-end development)

Kõik platvormid võimaldavad täielikku ja läbivat 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

Tabel 1. Low-code vs no-code[3]

Erinevused traditsioonilisest programmeerimisest[6]

Kui low-code ja no-code arendusplatvormid võimaldavad nii professionaalsetel, hobitaseme arendajatel 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 teadmiste ning oskuste olemasolu. Traditsioonilise tarkvara arendusviisiga kaasnevad ü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 arendus Traditsiooniline arendus
Definitsioon Low-code arendus on tarkvararakenduste arendamine graafilise kasutajaliidese ehk visuaalse modelleerimise abil. Traditsiooniline arendus on tarkvararakenduste arendamine käsitsi koodimise ehk programmeerimise abil.
Tööriistad Kiire rakenduste arendamise tööriistu nagu Mendix ja Appianit kasutatakse low-code veebirakenduste arendamiseks. Arendajad kasutavad veebiraamistikke ja programmeerimiskeeli veebirakenduste koodimiseks.
Koodimisalased teadmised Nõutavad minimaalsed teadmised. Low-code arendajatelt on nõutavad põhiteadmised koodimisest. Professionaalsed veebiarendajad, kellel on täiustatud koodimisoskused ja teadmised mitmest veebiraamistikust, töötavad traditsiooniliste veebirakendustega.
Arenduskiirus Low-code arendusplatvormid (Low-code Development Platform ehk LCDP) on tuntud oma kiire arengu poolest. Töötava veebirakenduse saab välja töötada 1–3 nädalaga. Traditsiooniline arendus nõuab koodimist ja selle valmimiseks võib kuluda 2–8 kuud. Kuid jõudluse osas töötab traditsiooniline paremini.
Kohandamine LCDP-platvormidega saab oma veebirakendusele lisada väga piiratud kohandusi. Traditsioonilise kodeerimisega saab veebirakendust kohandada vastavalt erinõuetele.
Agiilsus Low-code rakendused on paindlikumad, kuna saab kiiresti muudatusi teha. Uute rakenduste lansseerimised on kiiremad ning kõik vead saab tagasi pöörata ja neid lahendada. Traditsioonilise kohandatud arenduse korral võivad muutused olla aeglased. Kuid agiilseid arendustavasid järgides võivad traditsioonilised veebirakendused olla kiiremad.
Kasutuselevõtt Low-code rakenduste juurutamine on kiire. Kuid juurdepääs on piiratud platvormidele. Sõltuvalt kasutatavatest low-code tööriistadest saab juurutada ainult toetatud platvormidele. Traditsiooniliste veebirakenduste abil saab neid vabalt juurutada mistahes ja kõikidele platvormidele.
Kvaliteet
  • Integreeritavus on piiratud
  • Skaleeritavus on piiratud
  • Jõudlus ja kiirus on standardsed
  • Reaalajas silumisega on rakendus veatu
  • Integreeritav kõikide süsteemidega
  • Kõrge skaleeritavus
  • Jõudlus ja kiirus on äärmiselt kõrged
  • Testimine ja silumine nõuavad aega
Hooldus Low-code rakendusi on suhteliselt lihtne hooldada. Kui ettevõte värskendab LCDP-platvormi, värskendatakse ka low-code veebirakendusi automaatselt. Nii kulutab tavahooldusele minimaalselt ressursse. Kohandatud veebirakendusi võib olla keeruline regulaarselt värskendada ja hooldada. Koodi iga kord värskendamiseks vajab spetsiaalset meeskonda.

Tabel 2. Low-code vs traditsionaalne koodimine[7]

Plussid ja miinused

Plussid [8]

  • töötab eeldefineeritud komponentidest/blokkidest
  • lihtne elementide/komponentide omavaheline seostamine
  • väike või olematu võimalus süntaksi vigadele
  • no-code platvormi puhul kuluefektiivne (ei pea omama arendustiimi)

Madalamad kulud

Low-code/no-code arendusteenustega väheneb aeg ja kulud oluliselt ning ettevõtted ei pea palkama nii palju arendajaid.

Lisaks, kui valida toote valmistamiseks koodita arenduse, pakub see agiilse meetodi paindlikkust, kuna need platvormid toetavad versioonimist kõigi rakenduses tehtud muudatuste jaoks.

Agiilsus

Low-code/no-code arendused võimaldavad organisatsioonidel kiiremini areneda ja muudatusi teha. Oskused, mis on vajalikud low-code/no-code arendustoodete loomiseks, on palju väiksemad kui kohandatud arendusega, kuna need pakuvad konfiguratsioonipõhist disainikogemust.

Parem riskijuhtimine

Pidevalt muutuvate eeskirjadega saavad ettevõtted nõuetele Low-code/no-code lähenemisviisi korral kiiresti muudatusi teha.

Lisaks kõik konfiguratsiooniprotsessid on antud juhul (sealhulgas koodi kirjutamine, kompileerimine ja silumine) palju kiiremad, võrreldes traditsiooniliste arendusmeetoditega.

Parem kliendikogemus

Low-code/no-code platvormid automatiseerivad mitmeid kliendikogemuse jaoks olulisi toiminguid. Rakenduste arendamise paindlikkus ja tugevad äriprotsesside funktsioonid aitavad luua paremaid rakendusi, parandades seeläbi üldist kliendikogemust.

Suurenenud tootlikkus

Low-code/no-code platvormid aitavad ületada lõhet IT- ja ärimeeskondade vahel, võimaldades neil lahendada tegelikke küsimusi, mis ettevõtet mõjutavad.

Seda lähenemisviisi kasutades saavad ärimeeskonnad luua oma rakendusi, ilma et peaksid ootama arendajaid. See välistab vajaduse keeruka koodi järele, mis suurendab juurdepääsu rohkematele meeskonnaliikmetele ja suurendab tootlikkust.

Miinused [9]

  • puudub sügavam arusaam kuidas tarkvara töötab
  • tagataust sõltub ikkagi suuresti kõrgkeele programmeerijatest

Kolmanda osapoole usaldusväärsus

Low-code/no-code arendusplatvormide puhul tuleb riskide maandamiseks ja haavatavuste eemaldamiseks enamasti lootma müüjale ning muutma värskenduste ajakava, et see ühtlustuks müüja omaga.

Kohandamise puudumine

Low-code/no-code arendusplatvormid pakuvad ettevõtetele üldiselt väga vähe võimalusi kohandatud või eritellimusel valmistatud tarkvara/rakenduste arendamiseks.

Piiratud integreerimisvõimalused

Rakenduste loomine low-code/no-code arendusplatvormile piirab arendajate integreerimisvõimalusi. See võib olla suur väljakutse ettevõtetele, kelle pärandsüsteemid on nende äritegevuse jaoks üliolulised.

Arendajate puudus

Kuna low-code/no-code arendus on ebaselge valdkond, on ettevõtetel raske leida arendajaid, kes oskaksid vähesel määral low-code/no-code arendust teha, harvadel juhtudel, kui nad seda nõuavad.

Kasutusalad

Low-code/no-code peamised kasutusalad on ettevõtetes või organisatsioonides, kus vaja luua äriprotsesse toetav arvuti- või mobiilirakendus. Põhilised elemendid on kasutajatehaldus, äriprotsesside automatiseerimine, andmehaldus, raportite loome, arvepidamine ning erinevate teenuste omavaheline seotus.

Koolilastele programmeerimise tutvustamine

Koodi tundmise oskus on tänapäeva digiajastul üks enim nõutud oskusi. Lapsed on väga loomingulised ja võimelised uusi asju õppima väga kiiresti. Pea-ees sukeldumine keerukasse programmeerimise keelde võib pigem tekitada vastakaid tundeid. Seepärast on väga hea alustada low-code või no-code platvormil. Kuna peamiselt on tegemist visuaalse ehitamisega, mis vajab vähest või mitte mingisugust programmeerimise teadmist - annab see lastele võimaluse luua rakendusi, ilma et koodi süntaksi tundmine oleks takistuseks. Lihtsama rakenduse ehitamine kasutades low-code vahendeid võtab lapsele aega umber paar tundi. See aitab neil tõsta enesekindlust ja uudishimu rakenduste arendamise suhtes. Kuna laste huvi võib olla kiire kaduma, siis on kiire tulemuse nägemine nende jaoks kindlasti väga oluline. Lisaks vähese koodi teadmisega saab laps juba ehitada mõne mängu, mida oma sõpradega jagada.[10]

Hollandis külastasid no-code arendajad kooliaasta alguses 12-aastaseid lapsi. Lastele anti kätte seade ja lihtne rakendus, mis koosnes tekstisisestus väljast, ühes nupust ja andmevoost. Peale töövooga tutvumist: tekstisisestus, salvestamise nupule vajutamine ja teksti kuvamine andmevoos - said kõik ülesandeks luua enda väljanägemisega WhatsApp-i või Instagram-i analoogse rakenduse. 1,5-tunnise töötoa lõpuks said kaheksast nelja lapselisest meeskonnast neli valmis oma töötava rakenduse. Töötoa korraldajad leidsid, et no-code arendamine vs traditsiooniline arendamine annab paljudele erialadele (disainerid, tootejuhid) võimaluse võtta arendaja rolli.[11]

Yamaha ProVisionaire Amp Editor

Yamaha helivõimendite sisendite ja väljundite modifitseerimiseks on no-code redaktor nimega ProVisionaire Amp Editor. Windows-i baasil töötav rakendus võimaldab siduda sisendhelikanalid erinevate plokkidega (valjusus, delay, heliekvalaiser, kaja, kompressor, limitaator, erinevad efektid jpm), grupeerida kanaleid, lisada filtreid, peenhäälestada heli.[12]

DaVinci Resolve Studio

Sarnaselt Yamaha tootele, on filmitööstuses ettevõtte BlackMagic design tarkvara DaVinci Resolve Studio, millega on võimalik filmi toormaterjalist värviparandusi teha, kasutades no-code vooplokkskeemi lahendust.

Rakendused / platvormid

  • Zoho Creator - äriteabe (Business-intelligence) koostamise platvorm, kus kasutatakse no-code-i
  • Visual LANSA - mobiilirakenduste loomiseks mõeldud platvorm, mis kasutab low-code-i
  • Knack - No-code-i kasutav ärirakenduste loomiseplatvorm
  • bubble.io - no-code rakenduste arendusraamistik, mis võimaldab disainida, arendada, majutada, skaleerida rakendusi ilma koodimiseta
  • Adalo - sarnaneb bubble.io-le, sisaldab erinevaid komponente nagu video- ja audiopleier, kalender, PDF generaator, Google Maps integratsioon jpm [13]
  • WordPress - low-code sisuhaldustarkvara
  • Weebly - low-code sisuhaldustarkvara
  • Squarespace - low-code sisuhaldustarkvara
  • VOOG - Eesti low-code veebiarendusplatvorm

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, olid midagi ligikaudset madala koodiga platvormidele[14]. See päästis arendajad rakenduste masinkoodi kirjutamisest.

Järgmine suur hüpe low-code ja no-code programmeerimises oli Apple'i HyperCard'i 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 eelduse. 2014. aastal võttis Forrester Research kasutusele termini "low-code". Ebaselge on see, millal sai "no-code" tehnilise kõnepruugi tavaliseks osaks, kuid see oli kindlasti juba laialt levinud kolm-neli aastat tagasi. [15]

Tulevikusuund

Low-code / no-code programmeerimine on rakenduste arendamise tulevik. Low-code / no-code programmeerimisel mängivad rakenduste tarnimise kiirendamisel üha olulisemat rolli. Gartner ennustab, et 2023. aastaks on üle 50% keskmistest ja suurtest ettevõtetest võtnud ühe oma strateegilise rakendusplatvormina madala koodiga või koodita koodi ning 2024. aastaks madala koodiga platvormid vastutavad enam kui 65% rakenduste arendustegevusest. Suurimatel ja rikkamatel ettevõttel on juurdepääs parimatele tehnilistele kogemustele ja arenenumatele arendustööriistadele. Koodivabad ja vähese koodiga tööriistad ühtlustavad, andes igas suuruses organisatsioonidele võimaluse oma olemasolevate ressurssidega rohkem ära teha.[16]

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. "No Code/Low Code Vs. Traditional Development - Which Team Should You Pick?" Maruti Techlabs. (04.02.2022). Kasutatud 02.05.2022.
  7. Patel, Jeel. "Which Method to Use – Low Code vs Traditional Development?" Monocubed. (08.03.2022). Kasutatud 02.05.2022.
  8. "Benefits Of Low Code / No-Code Development" Maruti Techlabs (04.02.2022). Kasutatud 02.05.2022.
  9. "Downside Of Low Code / No-Code Development" Maruti Techlabs (04.02.2022). Kasutatud 02.05.2022.
  10. Arora, Vagisha. "How To Educate Children to Code?" Planet Crust. (24.09.2021). Kasutatud 02.05.2022
  11. Krouwels, Vincent. "Why we should teach kids no-code" Tinkso. (10.09.2019). Kasutatud 02.05.2022
  12. Yamaha ProVisionaire Amp Editor Yamaha. Kasutatud 02.05.2022
  13. Adalo Marketplace Adalo. Kasutatud 02.05.2022
  14. "Why Easy Software Development Is Making Things Hard for Development Careers" (18.01.2019). Kasutatud 02.05.2022.
  15. "The Evolution of Low-Code/No-Code Development" (30.11.2021). Kasutatud 02.05.2022.
  16. [ https://www.outsystems.com/blog/posts/low-code-vs-no-code/ "Low-Code and No-Code: What's the Difference and When to Use What?"]. OutSystems. (08.01.2021). Kasutatud 02.05.2022.