În 2020, digitalizarea nu mai este ceva „nice to have” — a devenit „must-have” pentru supraviețuire. O soluție posibilă la acest deficit de resursă umană calificată este „cetățeanul dezvoltator”. Conform Gartner, un cetățean dezvoltator este „a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT”. Azi a devenit realitate posibilitatea ca o aplicație software să fie dezvoltată de către persoane care nu știu programare dar pot să gândească logic și structurat. Cum? Prin intermediul platformelor low-code și no-code.
Ce este o platformă low-code sau no-code?
O platformă no-code permite utilizatorilor non-tehnici să își creeze propriile aplicații fără să aibă nevoie de cunoștințe de programare, ci doar de o înțelegere a modului în care funcționează o aplicație software la un nivel de bază.
Utilizatorii pot folosi o interfață grafică prietenoasă, selecta module și conectori prin „drag and drop” și modela logica și interfața aplicației ușor și repede. Desigur, fără să scrie nici măcar o linie de cod! Conform Forrester, o soluție low-code reprezintă “Platforms that enable rapid delivery of business applications with a minimum of hand-coding and minimal upfront investment in setup, training, and deployment“.
O platformă low-code este un hibrid care prezintă elemente de tip grafic specific platformelor no-code, dar oferă și posibilitatea de a scrie cod care să fie încorporat ușor în structura definită. Până la 80% din funcționalitățile unei aplicații în cazul low-code și 100% în cazul no-code pot fi acoperite fără să fie nevoie de scriere de cod.
Casă din cărămidă sau din prefabricate?
Pentru o mai bună înțelegere a conceptului de no-code și low-code vom folosi o analogie. Să presupunem că dorim să construim o casă și avem la dispoziție mai multe metode.
Prima metoda ar fi folosind cărămizi. În acest caz, viteza de construire a casei este mică, dar posibilitățile de compartimentare sau de modelare a pereților sunt practic nelimitate. Puteți construi arcade, bolți, coloane sau pereți rotunzi.
A doua metodă ar fi să folosiți panouri prefabricate. În acest caz, viteza de construcție crește semnificativ, dar posibilitățile de compartimentare și modelare a formelor scad. Nu mai putem modela arcade.
A treia opțiune ar fi să utilizați o casă modulară. Alegeți un model (din cele câteva disponibile) și în câteva zile construcția este asamblată. Viteza a crescut și mai mult, dar flexibilitatea în alegerea formelor a scăzut dramatic.
Revenind la subiectul nostru, o platformă no-code (similar cu casa modulară) permite dezvoltare rapidă a aplicațiilor, nu necesită cunoștințe de programare, dar flexibilitatea în dezvoltare este foarte limitată. O platformă low-code (similar cu casa din panouri prefabricate) permite dezvoltare rapidă a aplicațiilor folosind elemente preconfigurate dar și includerea unor elemente de cod care să permită o mai bună particularizare a proiectului. Însă în acest caz, este nevoie de cunoștințe minimale de programare și de utilizare a bazelor de date.
Cum ne ajută o platformă no-code și low-code?
Folosind o astfel de soluție, utilizatorii care au o bună înțelegere a nevoilor de business pot proiecta rapid aplicații simple care să rezolve nevoile neacoperite de aplicațiile de bază din companie (ERP, CRM, HRM, LoB, etc.).
Astfel, dezvoltatorii vor fi degrevați de componenta de analiză de business și de proiectare a interfeței — și se vor concentra doar pe taskuri avansate de dezvoltare. Dar și oamenii de business (consultanți, manageri, etc.) își vor putea face propriile ajustări la interfața grafică și la modul de lucru al aplicației — în așa fel încât aceasta să le acopere nevoile identificate fără să fie nevoiți să aștepte până când departamentul de IT le va putea lua în lucru cerințele.
Avantajele unei platforme no-code și low-code
- Viteză de dezvoltare – în mod evident din analogia anterioară, este mai ușor să construiți o casă perete cu perete decât folosind mii de cărămizi pentru a forma un perete. Viteza cu care se poate dezvolta o aplicație software folosind o platformă low-code sau no-code este net superioară dezvoltării clasice. Pentru proiecte de dimensiuni medii, timpul de dezvoltare poate fi redus de la câteva luni la câteva săptămâni. Implicit costul de dezvoltare și întreținere este mai mic.
- Managementul schimbărilor – o provocare pentru orice proiect de dezvoltare software este managementul schimbărilor. Într-o lume dinamică, cerințele se schimbă în mod continuu, iar aplicațiile trebuie să țină pasul. Un proiect poate avea sute de mii de linii de cod și modificarea lui este un proces laborios care poate dura mult timp și poate produce instabilitate (bug-uri). În plus, modul creativ în care s-a făcut scrierea inițială poate avea efecte neașteptate ulterior când un alt dezvoltator încearcă să modifice cod creat anterior. El poate avea dificultăți de înțelegere a modului de lucru curent sau a implicațiilor pe care le au aceste modificări. În cazul unei platforme no-code sau low-code, modificările sunt mult mai ușor de făcut, iar în unele situații se pot face chiar și modificări de tip instant-change (în timp ce utilizatorii lucrează în aplicație).
- Agilitate de la început până la sfârșit – lucrând pe o platformă no-code sau low-code, utilizatorii aplicației pot vedea foarte repede cum va arată platforma fără să fie necesar să desenăm machete de ecran ca în cazul dezvoltării clasice. De asemenea, utilizatorii pot interveni cu observații și comentarii foarte devreme în proces. În plus, așa cum am explicat la punctul anterior, modificările se pot face cu ușurință, ceea ce înseamnă că putem dezvolta proiectul în mod agile, prin iterații succesive derulate rapid. Nu trebuie să ne temem nici că am putea afecta stabilitatea aplicației sau că impactul financiar al acestor modificări ar putea deveni prea mare.
- Eficiență — un timp redus de dezvoltare, modificare și testare înseamnă în mod evident și un cost semnificativ redus pentru aplicația dvs. personalizată. În plus, vom avea o viteză sporită în implementarea și întreținerea aplicațiilor. Nu în ultimul rând, vom utiliza mai bine resursele prin degrevarea dezvoltatorilor de taskuri simple și implicarea în proiectare și dezvoltare a utilizatorilor angrenând costuri mai mici. De asemenea, va exista o satisfacție sporită și adopție mai rapidă a aplicațiilor dezvoltate de către utilizatorii înșiși.
Dezavantajele unei platforme no-code sau low-code
- Dependență de platformă – construirea aplicațiilor se face prin dezvoltarea acestora pe platforma no-code sau low-code, ceea ce înseamnă că ele nu pot rula în mod independent în afara acesteia. Pe lângă costul de licențiere, apare și nevoia de a rămâne dependent de respectiva platformă. Migrarea unei aplicații de pe o platformă pe alta este relativ greu de făcut, iar în unele cazuri imposibil. Migrarea datelor, de asemenea, se poate face cu dificultate în unele circumstanțe din cauza modului particular în care sunt stocate datele în cadrul platformei. Din acest motiv este important să alegeți o platformă solidă care să aibă o comunitate de dezvoltatori și implementatori în jurul ei și care să vă ofere suport tehnic și upgrade.
- Particularizările se fac tot prin scriere de cod – conform analogiei cu construirea unei case din cărămidă sau prefabricate, în cazul platformelor low-code, nivelul de particularizare al interfeței unei aplicații este mai scăzut, iar în cazul no-code, este extrem de scăzut. De exemplu, interfața grafică este de cele mai multe ori predefinită și ea nu poate fi modificată oricum am dori decât eventual prin scriere de cod (cu toate avantajele și dezavantajele care derivă din acest lucru). La fel în cazul acțiunilor disponibile, vom avea un set limitat de acțiuni cu care putem acoperi majoritatea situațiilor, însă în anumite cazuri vom dori să introducem acțiuni care nu sunt disponibile – din nou va trebui să apelăm la scriere de cod. Din acest motiv platformele low-code sunt superioare platformelor no-code pentru că ele permit nu doar folosirea de elemente predefinite dar și includerea de cod.
- Riscuri de securitate din cauza decuplării de IT – odată ce oamenii din business încep să dezvolte propriile aplicații și eventual nu implică departamentul de IT în acest proces, pot apărea potențiale riscuri. Cine se asigură că datele din respectivele aplicații au backup regulat și că pot fi recuperate integral în caz de dezastru? Cine are grijă că informațiile pe care aceste aplicații le manipulează nu sunt expuse în exterior? Cine identifică datele sensibile și asigură protecția acestora conform normelor GDPR? Soluția ar fi ca întotdeauna atunci când se dezvoltă o aplicație pe o platformă low-code să fie implicat și un reprezentant IT în rol de consultant care să-i poată ghida pe „cetățenii dezvoltatori” în legătură cu bunele practici referitoare la manipularea și gestionarea datelor companiei.
Concluzie
Conceptul de „cetățean dezvoltator” devine azi realitate prin utilizarea platformelor no-code și low-code. Democratizarea dezvoltării aplicațiilor software a început. Acest trend va continua cu beneficii atât pentru dezvoltatori, care se vor putea concentra pe taskuri cu adevărat complexe, cât și pentru utilizatorii de aplicații care vor putea să dezvolte rapid soluții simple dar extrem de utile pentru activitatea lor zilnică. Afacerile și antreprenorii vor avea de câștigat imediat, dobândind capacitatea de a se adapta rapid la evoluția factorilor externi.