Social Links Search User Login Menu
Tools
Close
Close

Articoli Low-Code Italia

Low-Code vs No-Code è il futuro dello sviluppo del software
La Redazione 284

Low-Code vs No-Code è il futuro dello sviluppo del software

Come i vari settori dell'IT vedono questi due tipi di sviluppo

Di Veselin Pizurica

No Code

Il No Code facilita il riutilizzo di componenti predefiniti, tipicamente usando un'interfaccia drag and drop o un modulo web. Tali piattaforme includono sempre cose come la gestione delle identità e degli accessi. Sono sempre legate a un compito e a un pubblico particolare, come lo sviluppo web, i fogli di calcolo, l'analisi, l'automazione del mercato e altro. Soprattutto, non richiedono alcun codice per assemblare insieme i componenti, riducendo la necessità per gli ingegneri di spendere tempo nell'architettare database, API o flussi di lavoro interni.

Low Code

D'altra parte, Low Code considera un diverso insieme di obiettivi e di utenti. Il principale equivoco sul Low Code è che il "low" in Low Code significa che una persona con quasi nessuna conoscenza di codifica è l'utente di tale piattaforma.

Dal mio punto di vista, l'obiettivo di una piattaforma Low Code è quello di consentire agli sviluppatori di codificare e distribuire le loro applicazioni ad un ritmo veloce, con il minimo sforzo di configurazione e con la fiducia aggiunta in ciò che la piattaforma fornisce out of the box. In questo senso, una piattaforma Low Code riduce la complessità del processo di sviluppo delle applicazioni, accorciando il time to market. Il blocco di base della piattaforma Low Code è di solito un piccolo frammento di codice, avvolto come un componente riutilizzabile che è applicabile attraverso diversi casi d'uso, proprio come un mattoncino Lego.

Quindi, come si differenzia dal No Code? In primo luogo, Low Code deve permettere agli sviluppatori di sviluppare e pubblicare nuove funzionalità, che richiedono codifica. In secondo luogo, la piattaforma deve permettere a questi frammenti di codice di essere collegati e sincronizzati in modo asincrono, che non è un problema così banale come sembra.

Ci sono due modi di guardare alla seconda sfida. Il primo è quello di creare una piattaforma Low Code specifica per il verticale, che limita ciò che i "Low Coders" possono fare fornendo loro una rete di sicurezza sotto forma di un modo predefinito su come la cucitura dovrebbe essere fatta, non lasciando spazio per un errore (o una manovra, a seconda di come la si guarda). Dal momento che questo è guidato da una filosofia di "rendere veloce i casi d'uso comuni", limita anche i possibili usi, poiché qualsiasi cosa più impegnativa o non prevista dal fornitore dello strumento diventa difficile, se non impossibile, da fare. Se lo scopo dell'applicazione finale si discosta anche leggermente da ciò che è fornito dai componenti predefiniti, si deve scrivere codice estensibile o riscrivere il pezzo interamente. La maggior parte delle piattaforme Low Code richiedono la codifica in linguaggi specifici, a volte proprietari, rendendo il raggiungimento dell'obiettivo finale ancora più complesso.

Il secondo modo è quello di fornire una piattaforma Low Code orizzontale e general-purpose, che faciliti la creazione di componenti personalizzati (usando il codice) e fornisca il motore, le API e le interfacce utente necessarie per combinarli ed eseguirli come parte dell'applicazione più estesa. Questo approccio porta una flessibilità molto maggiore, con l'avvertenza che gli aspetti verticali devono essere costruiti sopra con uno sforzo leggermente più significativo (poiché i concetti della piattaforma sono agnostici al dominio). Nella prossima sezione, discuteremo perché crediamo che questo sia l'approccio migliore nel lungo periodo.

La completezza di Turing e la sua relazione con il low-code e gli strumenti RPA

Gli sviluppatori esperti e gli architetti di sistema sono sempre scettici quando sentono parlare di un'altra piattaforma Low Code basata su modelli. Hanno la sensazione che presto scopriranno dei "problemi": invece che vederli come dei frameworks che li aiutano nell'implementazione, dovranno lavorare intorno alle loro limitazioni.

C'è un termine usato nella teoria della computabilità chiamato completezza di Turing. Se qualcuno dice: "La mia nuova cosa è Turing complete", significa che in linea di principio potrebbe essere usata per risolvere qualsiasi problema computazionale. I linguaggi software sono Turing complete. Quando il serverless ha colpito il mainstream, era ampiamente accettato che serverless fosse il miglior candidato per "l'approccio lego brick low-code". E questo ci porta alla storia dell'automazione Turing Complete. Supponiamo di usare frammenti di codice per implementare la logica dell'applicazione. In questo caso, abbiamo bisogno di un motore di regole potente e flessibile che possa orchestrarli senza risolversi a codificare tutto questo in un linguaggio di programmazione. Altrimenti, perderemmo completamente i benefici di Low Code.

Frontend, Backend e l'ascesa degli architetti serverless e dell'integrazione

Chi si occupa di front-end è tutto concentrato su react/Vue, webpack, CSS e esperienza utente, per usare uno stereotipo. Non sono necessariamente interessati a tutti i dettagli nitty-gritty che accadono “dietro le quinte”. Lavorano a stretto contatto con i proprietari delle imprese per assicurarsi che tutto sembri bello e utilizzabile. La piattaforma Low Code non significa nulla per loro, poiché interagiranno con essa usando API che già forniscono un'astrazione di alto livello. Non amano il No Code ancora di più, poiché qualsiasi esperienza utente eccellente e la bella app verticale sono impossibili da fornire usando solo gli strumenti No Code.

Specialisti OT

Gli specialisti OT sanno tutto su SCADA, PLC, macchine e processi industriali. Questi costituiscono una vera e propria trincea. Spesso si sentono più consapevoli quando si parla di IoT, sentendo che stanno sconfinando nel regno della loro esperienza e conoscenza profonda costruita nei decenni. Preferiscono che i problemi siano definiti usando relazioni causali, cioè creare regole di automazione basate su tecniche di modellazione della conoscenza e, se necessario, potenziate dal Machine learning, ma non il contrario, avendo modelli a scatola nera che vanno oltre l'esecuzione di rilevamenti e previsioni di anomalie per guidare azioni di riparazione, ecc.

Data Scientists

Qui ho notato un piccolo divario generazionale. I data scientist più giovani sono molto bravi con Python, dato che a questo proposito i curricula universitari sono stati pesantemente influenzati e migliorati nell'ultimo decennio dalle esigenze dell'industria. Le generazioni precedenti sono ancora più a loro agio con Matlab o solo con strumenti No Code.

Tuttavia, quando gli scienziati dei dati lavorano su un caso d'uso particolare come il rilevamento delle anomalie o la modellazione delle previsioni, si trovano ad affrontare prima altre sfide, che devono essere affrontate prima ancora di raggiungere la piattaforma Low Code.

    Quale tipo di algoritmo di ML dovrebbe essere usato per questo problema?
    Quale piattaforma di ML si adatta meglio al problema?
    La qualità dei dati è abbastanza buona per risolvere questo problema?

Come accennato in precedenza, le piattaforme No Code sono applicazioni che consentono agli utenti non tecnici di costruire applicazioni o modelli di ML trascinando e rilasciando pezzi di software o dati sulla tela. Queste piattaforme ML/AI permettono agli utenti senza precedenti esperienze di codifica o anche conoscenze di apprendimento automatico di costruire un modello di apprendimento automatico a partire da un set di dati utilizzando il no-code.

Con BigML, come un esempio di questo tipo di piattaforma AI, è possibile creare un modello di apprendimento automatico da zero in modo semplice senza bisogno di sapere molto di codifica, utilizzando la loro dashboard (No Code) o il loro SDK Python (Low Code). Questa applicazione permette di sperimentare con un particolare set di dati, provare diversi algoritmi di ML e mettere a punto centinaia di iperparametri.

Proprietari d'azienda

Gli imprenditori non si preoccupano della codifica, e perché dovrebbero? Ma comunque, l'idea di un citizen developer li attrae. L'idea che tutti nell'organizzazione siano autorizzati a contribuire e a consegnare software funzionante in un tempo più breve è il sogno bagnato di ogni imprenditore. Non c'è più bisogno di parlare con queste terribili persone del software o di impostare progetti di integrazione lunghi e costosi!

Nella mia mente, finché non avremo integrato la PNL nella creazione dell'automazione, questo rimane, in una certa misura, un pio desiderio.

E il futuro? NLP alla riscossa?

È possibile risolvere il problema degli strumenti di automazione No Code in un modo nuovo e dirompente? CodexAI sta per sconvolgere l'industria dello sviluppo del software. Tu digiti una frase e il codice viene fuori.

Rate article

Nessun voto
Vota questo articolo:
Nessun voto

Condividi

Stampa

Comment

Collapse Expand Comments (0)
You don't have permission to post comments.
Back To Top