Le piattaforme di sviluppo low-code/no-code sono tipi di ambienti di sviluppo software visuali che consentono agli sviluppatori aziendali e ai citizen di trascinare e rilasciare i componenti delle applicazioni, collegarli tra loro e creare applicazioni mobile o web.
Gli approcci modulari low-code e no-code consentono agli sviluppatori professionisti di realizzare rapidamente le applicazioni, sollevandoli dalla necessità di scrivere il codice riga per riga. Consentono inoltre ad analisti aziendali, amministratori di uffici, proprietari di piccole imprese e altre persone che non sono sviluppatori di software di creare e testare applicazioni. Queste persone possono creare applicazioni con poca o nessuna conoscenza dei linguaggi di programmazione tradizionali, del codice macchina o del lavoro di sviluppo che sta dietro ai componenti configurabili della piattaforma.
In entrambi i casi, vedono un'interfaccia grafica (GUI) facile da usare, attraverso la quale possono sposare componenti e interfacce di programmi applicativi (API) di terze parti. I costruttori di applicazioni possono riorganizzare e testare ripetutamente i moduli finché l'applicazione non funziona come previsto.
La crescita delle piattaforme low-code/no-code è dovuta alla mancanza di sviluppatori software qualificati e alla necessità di migliorare i tempi di sviluppo dei progetti per risolvere rapidamente i problemi aziendali.
Come funzionano il low-code e il no-code?
Nello sviluppo del software tradizionale, i programmatori scrivono righe di codice per creare le funzioni e le caratteristiche desiderate in un programma o in un'applicazione per computer. Questo processo richiede ai programmatori una conoscenza approfondita dei linguaggi informatici, degli ambienti di sviluppo, dei processi di distribuzione e dei protocolli di test.
Le piattaforme low-code e no-code incapsulano tutto questo lavoro dietro le quinte. Gli utenti selezionano e collegano visivamente componenti riutilizzabili che rappresentano particolari fasi o funzionalità (che contengono il codice vero e proprio) e li collegano tra loro per creare il flusso di lavoro desiderato.
Gli utenti possono creare applicazioni come se stessero disegnando un diagramma di flusso, invece di scrivere codice riga per riga per ogni funzione e capacità desiderata. Queste piattaforme sono generalmente dotate di funzioni che consentono di sperimentare, creare prototipi, testare e distribuire le applicazioni.
Questo tipo di sviluppo di applicazioni viene talvolta chiamato "point-and-click development" o semplicemente "click development".
Evoluzione degli strumenti low-code/no-code
Le piattaforme low-code/no-code derivano dai precedenti strumenti di sviluppo rapido di applicazioni (RAD), come Excel, Lotus Notes e Microsoft Access, che mettevano nelle mani degli utenti aziendali (cioè dei non professionisti dell'IT) alcune funzionalità simili a quelle dello sviluppo.
Tuttavia, questi strumenti richiedevano agli utenti una conoscenza approfondita delle applicazioni aziendali e dei loro ambienti di sviluppo per poter creare le funzionalità. Al contrario, con le funzioni drag-and-drop delle opzioni low-code e no-code, gli utenti hanno bisogno di una conoscenza minima o nulla degli strumenti o dello sviluppo in generale.
Inoltre, lo sviluppo con gli strumenti RAD generalmente produce funzionalità utilizzate dall'individuo che ha creato la funzionalità o da un numero limitato di utenti associati al creatore (di solito un gruppo di lavoro o un'unità aziendale). Le applicazioni prodotte con piattaforme low-code o no-code, invece, sono abbastanza robuste da poter essere utilizzate da tutti i reparti e dall'intera azienda, e persino da utenti esterni come clienti e partner commerciali.
Piattaforme di sviluppo Low-Code e No-Code: Quali sono le differenze?
I sistemi low-code e no-code offrono gli stessi vantaggi fondamentali, ma i loro nomi indicano la differenza chiave tra questi due metodi di sviluppo delle applicazioni.
Lo sviluppo low-code richiede agli utenti un certo livello di programmazione, anche se molto inferiore a quello richiesto dallo sviluppo di applicazioni tradizionali. Gli sviluppatori e i programmatori professionisti utilizzano il low-code per fornire rapidamente le applicazioni e per spostare i loro sforzi dalle attività di programmazione di base a un lavoro più complesso e unico che ha un impatto maggiore e un maggior valore per l'organizzazione. Anche i professionisti non informatici con qualche conoscenza di programmazione utilizzano strumenti low-code per sviluppare applicazioni semplici o funzioni ampliate all'interno di un'applicazione.
Lo sviluppo no-code si rivolge a utenti non tecnici di varie funzioni aziendali che comprendono le esigenze e le regole del business, ma possiedono poca o nessuna esperienza di programmazione. Questi citizen developer possono utilizzare il no-code per creare, testare e distribuire facilmente e rapidamente le loro applicazioni aziendali, a patto che gli strumenti scelti siano in linea con queste funzioni e capacità di base.
Esistono anche alcune distinzioni nel modo in cui gli utenti applicano il no-code e il low-code. Il no-code è tipicamente usato per creare applicazioni tattiche per gestire funzioni semplici. Il low-code può essere utilizzato anche in questi casi, ma anche per creare applicazioni che eseguono processi critici per l'azienda o per i sistemi principali dell'organizzazione, come alcune integrazioni e iniziative di trasformazione digitale.
La linea di confine tra no-code e low-code non è sempre chiara, e questo si ripercuote sulle piattaforme low-code e no-code stesse. Molti analisti di prodotti tecnologici considerano il no-code parte del mercato low-code, in quanto anche le piattaforme più solide richiedono un certo livello di programmazione per alcune parti del processo di sviluppo e distribuzione delle applicazioni. I fornitori fanno gran parte della distinzione tra le capacità delle piattaforme low-code e no-code, in quanto posizionano i loro prodotti per gruppi diversi di clienti.
In generale, le piattaforme no-code sono un tipo specializzato di piattaforma cloud low-code in cui i componenti visivi richiesti si rivolgono a funzioni specifiche del settore, a una linea di business (LOB) specifica o supportano il marchio aziendale di un'azienda specifica. Le piattaforme low-code, invece, possono richiedere l'assistenza di sviluppatori interni per apportare piccole modifiche al codice di back-end in modo che la nuova applicazione si allinei con altri software aziendali.
Vantaggi delle piattaforme Low-Code e No-Code
Innanzitutto, le piattaforme low-code e no-code accelerano lo sviluppo e la distribuzione delle applicazioni, un elemento critico nell'era digitale in cui le organizzazioni devono correre per soddisfare le richieste dei lavoratori e dei clienti, o essere interrotte da altri che lo fanno.
Queste piattaforme mettono anche nelle mani di professionisti non informatici maggiori capacità di risoluzione dei problemi, in modo che i lavoratori di tutti i giorni possano creare più rapidamente e facilmente applicazioni aziendali che li aiutino a svolgere il loro lavoro.
Queste piattaforme liberano anche gli sviluppatori professionisti dalle banali attività di programmazione. I team di sviluppo possono utilizzare queste piattaforme per creare rapidamente applicazioni per funzioni di base e poi modificarle per fornire ancora più valore, oppure dedicare più tempo allo sviluppo di applicazioni personalizzate o ad altre iniziative che forniscono un valore differenziante alle loro organizzazioni.
Le sfide delle piattaforme Low-Code e No-Code
Sebbene molte organizzazioni abbraccino queste piattaforme per sviluppare rapidamente nuove applicazioni aziendali, devono anche confrontarsi con i problemi e le sfide generate da queste piattaforme.
Poiché questi strumenti sono a basso costo e facili da usare, i leader delle organizzazioni possono, e spesso lo fanno, perdere di vista ciò che i loro dipendenti stanno costruendo. Ciò potrebbe significare che non c'è visibilità o supervisione dei dati generati, utilizzati o addirittura esposti in modo inappropriato nelle app. Inoltre, potrebbe contribuire a un aumento del cosiddetto "shadow IT".
Un'altra sfida potenziale è rappresentata dalle modalità di gestione, manutenzione e scalabilità di queste app, nonché dai costi potenzialmente elevati di infrastruttura e storage associati alla proliferazione delle attività di sviluppo consentite da queste piattaforme.
Inoltre, le organizzazioni potrebbero scoprire che alcuni compiti per i quali i citizen developer o i team di sviluppo professionale hanno utilizzato questi strumenti non erano adatti ai metodi o alle piattaforme low-code e no-code, e questo potrebbe rappresentare un notevole spreco di risorse.
Utilizzi per piattaforme di sviluppo Low-Code/No-Code
Le piattaforme di sviluppo low-code e no-code possono essere utilizzate per creare applicazioni per vari scopi commerciali o tecnici, a condizione che le applicazioni non abbiano requisiti di programmazione complessi e richiedano una personalizzazione minima o nulla.
Queste piattaforme possono essere utilizzate per sviluppare applicazioni finalizzate all'efficienza operativa, come l'informatizzazione dei processi manuali e cartacei o il contributo alla gestione dei processi aziendali. Possono anche essere utilizzate per modernizzare i sistemi legacy, aiutando così le organizzazioni a portare avanti la loro trasformazione digitale, a favorire la migrazione verso il cloud o a supportare l'uso di nuove tecnologie innovative come l'IoT e l'intelligenza artificiale.
Inoltre, queste piattaforme possono essere utilizzate per creare app aziendali utilizzate dai lavoratori e dai partner commerciali; possono anche essere utilizzate per creare app di coinvolgimento dei clienti.
Fornitori di piattaforme di sviluppo Low-Code
Decine di fornitori di software mainstream e di nicchia offrono piattaforme low-code o no-code, molte delle quali funzionano nel cloud. Gartner ne classifica quasi 20 nel suo "2020 Magic Quadrant for Enterprise Low-Code Application Platforms".
Un elenco incompleto di alcuni dei più comuni fornitori di piattaforme e strumenti low-code comprende:
- Appian
- Claris FileMaker
- DWkit
- Google AppSheet
- Looker 7
- Mendix
- Microsoft PowerApps
- OutSystems
- Robocoder Rintagi
- Salesforce Lightning
- Sisense
- Skyve Foundry
- Temenos (ex Kony)
- SIB Visions VisionX
- Wix Editor X
- Yellowfin 9
- Zoho Creator
Fornitori di piattaforme di sviluppo No-Code
Molte piattaforme low-code offrono anche funzionalità no-code, come Appian, Mendix, Microsoft PowerApps, OutSystems e Salesforce Lightning.
Altri fornitori che offrono piattaforme di sviluppo no-code sono:
- Airtable
- AppGyver
- AppSheet
- Appy Pie
- AWS Honeycode
- Blocchi Betty
- Bolla
- Carrd
- Glide
- Gumroad
- Kissflow
- Memberstack
- Nintex
- Notion
- Outgrow
- Payhere
- Quickbase
- Shopify
- Stripe
- Umso (ex Landen)
- Voiceflow
- Zapier
- Zudy Vinyl
Il futuro dello sviluppo di applicazioni Low-Code/No-Code
Gli esperti del settore prevedono che il futuro del low-code vedrà una continua adozione da parte delle aziende, soprattutto per lo sviluppo rapido e per esigenze aziendali specifiche, anche se il low-code non sostituirà completamente lo sviluppo di applicazioni tradizionali.
È probabile che l'uso di low-code e no-code aumenti tra i lavoratori LOB, mentre anche un numero maggiore di sviluppatori professionisti lo adotterà, per aiutarli nelle attività di programmazione più banali.
Secondo Forrester, attualmente le aree principali di utilizzo del low-code sono le applicazioni per i processi aziendali o i flussi di lavoro, i front-end per il web e i dispositivi mobile e le applicazioni rivolte ai clienti. Ma il low-code è diventato rapidamente una pratica standard per lo sviluppo rapido di applicazioni, come dimostra l'adattamento a scenari legati alla pandemia COVID-19, come le applicazioni per la tracciabilità dei contratti dei dipendenti. Gli esperti prevedono che alla fine il low-code si espanderà in aree più ampie, come la reingegnerizzazione degli stack tecnologici e degli ecosistemi.
Tuttavia, le aziende continueranno a praticare lo sviluppo tradizionale per le applicazioni che richiedono funzionalità estese, governance dei dati e distribuzione su architetture o ambienti specifici.
Di Mary K. Pratt