di Giancarlo Valente, CTO di aulab
In un mondo in continuo movimento, anche la programmazione cambia. Le piattaforme che consentono lo sviluppo rapido di applicativi si stanno evolvendo, attraverso l’utilizzo di tecniche di low-code o no-code.
Queste piattaforme costituiscono il naturale sviluppo delle piattaforme RAD (Rapid Application Development) come Excel, Lotus Notes e Access, di grande successo a fine degli anni ‘90 e 2000.
Lo sviluppo avviene con modalità maggiormente dichiarative, ossia descrivendo al computer quello che si vuole ottenere. È quindi più difficile commettere errori: basta esprimere chiaramente il proprio intento, poi la macchina penserà a come realizzarlo.
Questo è in contrasto con le modalità imperative, dove il programmatore deve indicare al computer, passo dopo passo, i comandi da svolgere. In questo caso, dunque, le possibilità di errore sono più alte e le capacità ed esperienza dello sviluppatore sono determinanti.
Ma andando nel dettaglio: quali sono le differenze tra piattaforme applicative no-code e low-code?
Si tratta di sfumature, mai nette.
Nelle piattaforme no-code ci sono degli ambienti visuali che consentono al "progettista" di realizzare intere applicazioni, grazie al drag-n-drop di componenti. Questi sistemi consentono ad utenti "non sviluppatori" di realizzare degli automatismi, delle integrazioni tra sistemi preesistenti o intere applicazioni in modo molto semplice.
Le piattaforme low-code, invece, richiedono una conoscenza minima di coding. Il codice da scrivere è puramente descrittivo e dichiarativo rispetto all'intenzione del programmatore/progettista, ed il sistema penserà a tradurre l'intenzione in un applicativo completo e funzionante.
Il punto focale del low code è il riutilizzo di parti di codice comuni e una semplice integrazione con i più disparati sistemi esterni.
Di fatto, quindi, le piattaforme low code e no code automatizzano e semplificano il deploy, la messa online e la scalabilità del sistema stesso. Grazie a meccanismi di integrazione con le piattaforme cloud, è spesso possibile fare il deploy di un ambiente di test, stage o produzione con un solo click.
Una soluzione che consente di risparmiare tempo e risorse.
Per questo tali piattaforme svolgeranno un ruolo determinante nella informatizzazione delle aziende, che hanno grande necessità di automazione e integrazione tra vari sistemi.
Allo stesso tempo, stanno aprendo le porte a una nuova schiera di programmatori, anche non professionisti ma che conoscono molto bene il proprio dominio applicativo e che possono, attraverso questi sistemi, realizzare dei tool e degli strumenti efficaci e di grande valore.
A confermare l’interesse nei confronti di questo tipo di programmazione sono anche i colossi dello sviluppo software, da Microsoft ad Amazon, che stanno investendo in piattaforme dedicate al mondo Enterprise di tipo low code. Invece altre aziende, come Bubble e Betty Blocks, si stanno rivolgendo esclusivamente a questo.
Tuttavia, è bene sottolineare che queste piattaforme richiedono comunque agli utenti delle conoscenze rudimentali di programmazione. Inoltre, questi sistemi non rimpiazzeranno del tutto lo sviluppo software tradizionale. Consentiranno di costruire applicativi molto complessi, ma per gestire i dettagli di questa complessità saranno sempre necessari i programmatori tradizionali.
In particolare, le piattaforme low-code necessitano la digitazione di codice attraverso un linguaggio di programmazione. Quelle no-code, invece, richiedono all’utilizzatore il pensiero computazionale, che si allena facendo pratica di programmazione, anche se a livello basilare.
Per questo tutte le aziende dovrebbero valutare di inserire nel proprio organico personale in grado di utilizzare questi strumenti. In questo modo saranno autonome nella realizzazione di tool e automatismi necessari per far conoscere la propria attività.
Il problema, in questo senso, è la grande carenza di risorse nel settore ICT: in Europa ne mancano oltre 650.000, mentre - guardando all’Italia - sono richieste più di 100.000 figure in ambito tech*.
In questo contesto si inseriscono i coding bootcamp come l’hackademy di aulab: svolgono infatti proprio la funzione di introdurre nuove persone appassionate di informatica alla professione di sviluppatori software, partendo dalle basi e costruendo il mindset dello sviluppatore orientato al pensiero computazionale.
I nuovi programmatori, anche se junior, saranno così in grado di realizzare i primi applicativi, utilizzando framework di sviluppo web come Laravel, attorno a cui gravitano diversi strumenti molto potenti per la realizzazione di interfacce responsive, applicazione di backoffice o server web.
* (fonti: AGID; Osservatorio delle Competenze Digitali).