Tutti noi, ogni giorno, usiamo almeno una manciata di app per lavorare o per divertirci. Anche l'utente meno avvezzo alla vita digitale, infatti, usa almeno un browser per collegarsi a Internet, un programma di videoscrittura e magari un foglio di calcolo per il lavoro, una o più app social, l'immancabile YouTube per vedere qualche video e, magari, quando torna a casa accende la Smart TV e apre l'app di Netflix.
Siamo letteralmente circondati dalle app, le usiamo in continuazione senza neanche rendercene conto. Ma siamo circondati anche di codice: per svolgere le poche attività appena descritte, infatti, qualcuno ha dovuto scrivere milioni di righe di codice, probabilmente in almeno due o tre linguaggi di programmazione come Python, C++ o Javascript.
Tra qualche anno, però, forse non sarà più così perché si stanno diffondendo sempre di più le piattaforme di sviluppo software "no-code" o "low-code". Di cosa si tratta? Esattamente di ciò che le due parole lasciano intendere.
Piattaforme no-code/low-code: cosa sono
Le piattaforme di sviluppo no-code/low-code sono, innanzitutto, piattaforme di sviluppo: sono cioè degli strumenti per sviluppare, da zero, applicazioni software funzionanti su determinati sistemi operativi. A
differenza delle piattaforme di sviluppo classiche, però, quelle "no-code" permettono di sviluppare app senza sapere né dovere scrivere una sola riga di codice. Le "low-code", invece, richiedono una scrittura minima di codice.
Ciò non vuol dire, chiaramente, che il codice non c'è: al contrario, molto spesso un'app sviluppata in no-code ha più codice al suo interno di una sviluppata con una piattaforma classica
Solo che quel codice non l'ha scritto il programmatore, bensì la piattaforma stessa.
E' chiaro, quindi, che è molto più facile usare una piattaforma no-code o low-code per sviluppare un'app piuttosto che farlo usando C++ o qualunque altro linguaggio di programmazione standard.
Piattaforme no-code/low-code: qualche esempio
Di piattaforme no-code e low-code ce ne sono veramente molte e alcune di esse sono utilizzate da milioni di utenti nel mondo, che neanche sanno che lo stanno facendo.
Quasi un terzo dei siti Web di tutto il mondo, ad esempio, è realizzato con Wordpress che, di fatto, è una piattaforma di sviluppo di siti Web no-code o (se l'utente lo vuole, ma non è obbligato) low-code.
Wix è un'altra piattaforma no-code/low-code che viene spesso usata per creare siti Web perfettamente funzionanti, formati da migliaia di righe di codice, senza scrivere una sola riga di codice.
Altri esempi di piattaforme no-code/low-code sono i tool di automazione per l'Internet of Things, il più famoso dei quali è IFTTT (If This Then That), che permette di creare "applet", cioè catene di comandi (then that) che verranno eseguiti dai dispositivi compatibili se avverranno determinate condizioni (if this).
Ma non solo, perché esistono anche tool per sviluppare applicazioni estremamente complesse, come i videogiochi 3D, senza scrivere codice. Due esempi sono i motori grafici Unity e Unreal Engine.
Solo grazie a queste due piattaforme è possibile che, poco dopo che un nuovo gioco è arrivato sul mercato, la community di appassionati riesca a produrre decine di "mod" che aggiungono personaggi, scenari, armi, strumenti e molto altro.
Piattaforme no-code/low-code: pro e contro
I pro delle piattaforme no-code/low-code sono evidenti e facili da comprendere: molte persone, grazie ad esse, possono realizzare applicazioni più o meno complesse.
Di sicuro molte più persone di quante potrebbero farlo senza di esse e, è altrettanto logico, più persone possono creare un'app e più probabilità ci sono che salti fuori l'app geniale.
Ma queste piattaforme non vengono usate solo da chi non capisce nulla di programmazione: al contrario, spesso sono gli stessi programmatori ad usarle per scrivere parti delle loro app che richiedono lunghe pagine di codice standard e ripetitivo.
Di contro, le piattaforme no-code/low-code hanno anche dei grossi limiti. Il primo è che con esse è possibile fare solo alcune cose, non tutto: solo ciò per cui sono state realizzate. Non sono, quinidi, dei linguaggi di programmazione universali.
Le prestazioni delle applicazioni realizzate con le piattaforme no-code/low-code, poi, raramente sono entusiasmanti. Anche questo non è strano: non trattandosi di codice ottimizzato per specifici compiti, da eseguire su altrettanto specifiche macchine, all'interno dell'applicazione finale ci sarà anche molto codice inutile, generico e che appesantisce il risultato finale.
Le piattaforme per la creazione dei siti Web, come le già citate Wix e Wordpress, ne sono un esempio lampante, specialmente Wordpress quando è usato in coppia con un "page builder". Ma quanti siti non esisterebbero, oggi, se non avessero inventato Wordpress?