La domanda di iperautomazione e modernizzazione dell'IT è cresciuta, ma le aziende hanno faticato ad allinearsi a queste tendenze a causa dell'attuale disponibilità limitata di talenti per gli sviluppatori. Molti progetti IT vengono relegati al file "in sospeso" a causa della carenza di risorse con competenze tecniche specializzate. Di conseguenza, persistono inefficienze operative e il time-to-market, un fattore cruciale affinché le aziende rimangano competitive, risulta compromesso.
Per affrontare queste sfide, le soluzioni di sviluppo software low-code e no-code (link esterno a ibm.com) sono emerse come valide e convenienti alternative al processo di sviluppo tradizionale.
Newsletter di settore
Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.
L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.
Il low-code è un approccio allo sviluppo rapido di applicazioni (RAD) che consente la generazione automatica di codice tramite elementi costitutivi visivi come le interfacce drag and drop e menu a discesa. Questa automazione consente agli utenti low-code di concentrarsi sull'elemento differenziante piuttosto che sul denominatore comune della programmazione. Il low-code rappresenta una via di mezzo equilibrata tra la codifica manuale e quella no-code, poiché gli utenti possono comunque aggiungere codice anziché generare automaticamente.
Esempi di applicazioni che si prestano allo sviluppo low-code includono piattaforme di business process management, sviluppo di siti web e app per dispositivi mobili, strumenti interdipartimentali come software di gestione delle valutazioni, integrazione con plugin esterni e tecnologie di nuova generazione basate su cloud, come librerie di machine learning, robotic process automation e modernizzazione di app legacy.
Jamil Spain ha realizzato alcuni fantastici video su low-code e no-code che includeremo per approfondire l'argomento.
Anche il no-code è un approccio RAD e spesso viene trattato come un sottoinsieme dell'approccio di sviluppo modulare plug-and-play e low-code. Mentre nel low-code c'è un certo supporto da parte degli sviluppatori sotto forma di scripting o codifica manuale, il no-code ha un approccio completamente autonomo, con una dipendenza al 100% dagli strumenti visivi.
Esempi di applicazioni adatte allo sviluppo no-code includono app self-service per utenti business, dashboard, app mobile e web, piattaforme di gestione dei contenuti e costruttori di pipeline di dati. Il no-code no-code è ideale per app autonome di rapida creazione, interfacce utente intuitive e automazioni semplici, e viene utilizzata negli strumenti di pianificazione del calendario, negli strumenti di gestione delle strutture e nelle app di reporting BI con colonne e filtri configurabili.
Una piattaforma applicativa low-code (LCAP), detta anche piattaforma di sviluppo low-code (LCDP), contiene un ambiente di sviluppo integrato (IDE) con funzionalità integrate come API, modelli di codice, moduli plug-in riutilizzabili e connettori grafici per automatizzare una percentuale significativa del processo di sviluppo dell'applicazione. Le LCAP sono in genere disponibili come soluzioni Platform-as-a-Service (PaaS) basate su cloud.
Una piattaforma low-code funziona secondo il principio di riduzione della complessità mediante l'utilizzo di strumenti e tecniche visive come la modellazione dei processi, in cui gli utenti utilizzano strumenti visivi per definire workflow, business rules, interfacce utente e simili. Dietro le quinte, il workflow completo viene automaticamente convertito in codice. Le LCAP sono utilizzate prevalentemente da sviluppatori professionisti per automatizzare gli aspetti generici della codifica e reindirizzare gli sforzi sull'ultimo miglio dello sviluppo.
Esempi di tali piattaforme di automazione includono piattaforme applicative low-code, suite di business process management, piattaforme di sviluppo cittadino e altri strumenti RAD simili.
In una piattaforma di sviluppo no-code (NCDP), a volte chiamata anche piattaforma di sviluppo e automazione dei cittadini (CADP), tutto il codice viene generato tramite interfacce drag and drop o point-and-click. Le NCDP sono utilizzate sia da sviluppatori professionisti che dagli sviluppatori cittadini (utenti non tecnici o non sviluppatori con competenze di codifica limitate o inesistenti).
Sia il low-code che il no-code sono simili in quanto mirano ad astrarre gli aspetti complessi della codifica utilizzando interfacce visive e modelli pre-configurati. Entrambe le piattaforme di sviluppo sono disponibili come soluzioni PaaS e adottano un design basato sul workflow per definire la progressione logica dei dati. Esse condividono molti benefici grazie all'approccio comune:
Esiste una notevole sovrapposizione tra i due approcci (aggravata dal posizionamento confuso dei fornitori di piattaforme low-code e no-code), nonostante le sottili differenze di funzionalità tra le loro soluzioni. Tuttavia, ci sono importanti differenze da considerare:
Il low-code è rivolto agli sviluppatori professionisti per evitare di replicare il codice di base e per creare spazio per gli aspetti più complessi dello sviluppo che portano all'innovazione e alla ricchezza dei set di funzionalità. Automatizzando gli aspetti standard della codifica e adottando un approccio indipendente dalla sintassi, esso consente la riqualificazione degli sviluppatori e l'espansione del pool di talenti.
Il no-code, d'altro canto, è rivolto agli utenti business che hanno una vasta conoscenza del settore e potrebbero anche essere un po' esperti di tecnologia, ma non sono in grado di scrivere codice manualmente. È ottimo anche per i team ibridi con utenti business e sviluppatori di software, oppure per i proprietari di piccole imprese e i team non IT, come HR, finanza e legale.
Il no-code si presta bene alle app front-end che possono essere progettate rapidamente tramite interfacce drag and drop. Buone candidate sono le app che utilizzano l'Interfaccia utente per estrarre i dati dalle fonti e che fanno report, analizzano, importano ed esportano i dati.
Inoltre, il no-code è ideale per sostituire le monotone attività amministrative come i report basati su Excel utilizzati dai team aziendali. Tali progetti non vengono facilmente considerati prioritari dall'IT, ma potrebbero essere un vero toccasana per i team aziendali. Esso adatto anche per app interne che non comportano il peso di funzionalità estese e per app aziendali su piccola scala con un budget di sviluppo inferiore.
Il low-code, con una libreria di componenti esaustiva, può essere esteso ad applicazioni con logica aziendale complessa e scalabile a livello aziendale. Inoltre, per integrarsi con altre app e API esterne, connettersi a più fonti di dati e creare sistemi con protezioni di sicurezza che necessitano dell'obiettivo IT, l'uso limitato di codice è un'alternativa migliore del no-code.
Il low-code richiede più formazione e tempo per l'integrazione, lo sviluppo e l'implementazione, poiché offre maggiori opportunità di personalizzazione. Ma è comunque molto più veloce dello sviluppo tradizionale.
Il no-code, essendo altamente configurabile e completamente plug-and-play, richiede meno tempo per essere sviluppato rispetto al low-code. Anche il tempo di test è ridotto perché il rischio di potenziali errori normalmente introdotti dalla codifica manuale è minimo. In questo caso, si tratta di garantire che le configurazioni e il flusso di dati siano impostati correttamente.
Il low-code è un sistema aperto che consente ai suoi utenti di estendere le funzionalità tramite codice. Ciò significa maggiore flessibilità e riutilizzabilità. Ad esempio, gli utenti possono creare plug-in e connettori di origine dati personalizzati per adattarli ai loro casi d'uso e riutilizzarli in un secondo momento. Ma vale la pena notare che gli aggiornamenti e le patch più recenti delle LCAP devono essere testati con il codice introdotto manualmente.
Il no-code è un sistema più chiuso che può essere esteso solo tramite set di funzionalità basati su modelli. Ciò significa casi d'uso limitati e accesso a plugin e integrazioni boilerplate, ma è più facile garantire la compatibilità con le versioni precedenti poiché non c'è codice scritto manualmente che potrebbe compromettere le versioni future delle NCDP.
Sebbene questo sia un problema sia per le piattaforme low-code che no-code, il rischio di shadow IT è maggiore con le piattaforme no-code, che richiedono poco o quasi nessun intervento da parte dei team IT. Ciò potrebbe comportare un'infrastruttura parallela non monitorata attentamente, con conseguenti vulnerabilità di sicurezza e debito tecnico.
Tuttavia, il fatto che il low-code sia ancora gestito dai team IT può contribuire a garantire una governance e un controllo migliori.
Il low-code ha un punteggio migliore rispetto al no-code nel supporto alla scalabilità e alla compatibilità multipiattaforma. L'aggiunta di plug-in e codice personalizzato apre la possibilità di una gamma più ampia di implementazioni e di lavorare con più piattaforme.
Il no-code ha una minore estensibilità e un potenziale limitato nel collegamento ai sistemi legacy o nell'integrazione con altre piattaforme. Pertanto, si rivolge a un insieme ristretto di casi d'uso e ha una ridotta capacità di scalabilità.
Sia il low-code che il no-code hanno i loro punti di forza. Anche le somiglianze tra i due non rendono questa decisione facile. Il modo migliore per andare avanti è valutare i requisiti attuali e fare una scelta di conseguenza.
Di seguito sono riportate alcune domande per determinare le esigenze degli utenti:
Le due domande chiave qui sono: a cosa serve l'applicazione e chi la costruirà? Sebbene entrambe le domande siano importanti, è meglio utilizzare un approccio centrato sull'obiettivo piuttosto che un approccio centrato sull'utente, ossia il cosa è più importante del chi.
Se i casi d'uso sono complessi, richiedono integrazioni con altre app on-premise o cloud, hanno requisiti critici per il business o rivolti al cliente o devono essere distribuiti in tutta l'azienda, l'opzione preferita è il low-code. In questo caso, anche se gli utenti non hanno le competenze necessarie nei linguaggi di programmazione, le partnership con i team IT o i programmi di formazione possono risolvere le sfide.
Lavorando con IBM, avrai accesso a funzionalità di automazione intelligente low-code e no-code che consentono agli esperti in materia di automatizzare i processi senza dipendere dall'IT.
Soluzioni no-code:
Soluzioni low-code:
Un servizio single-tenant completamente gestito per lo sviluppo e la distribuzione di applicazioni Java.
Utilizza il software e gli strumenti DevOps per creare, distribuire e gestire app cloud-native su più dispositivi e ambienti.
Lo sviluppo di applicazioni cloud significa programmare una volta, iterare rapidamente e distribuire ovunque.