No-code o low-code?

Proprio come accade per quasi ogni situazione della vita, il coding è in continua evoluzione. Infatti il modo in cui il codice viene scritto sta cambiando, spostandosi sempre più spesso da piattaforme "no-code" o "low-code" verso lo sviluppo tramite IA. Sei pronto a scoprire di più?

Cosa si intende con sviluppo "low-code" o "no-code"?

La terminologia può essere fuorviante. Ciò avviene perché la distinzione non riguarda necessariamente la quantità di codice che occorre per risolvere un problema, quanto piuttosto i soggetti coinvolti e l'ambito del problema in questione.

Il low-code prevede sviluppatori professionisti, system integrator esperti ed enterprise architect con ampie capacità tecniche. Esso è incentrato interamente sul riutilizzo, sull'ottimizzazione e sulla semplificazione di attività di integrazione al fine di raggiungere una situazione o applicazione di integrazione di livello enterprise. Il low-code è molto più che la semplice creazione di app senza utilizzare codice, come riportato dalla piattaforma Mendix.

Per quanto riguarda il "no-code" invece, lo scopo degli utenti business consiste nel risolvere un problema di integrazione relativamente semplice (spesso un'integrazione 'point-to-point' o un banale processo aziendale), ma senza necessariamente possedere alcuna capacità di sviluppo software o dover scrivere una sola linea di codice. Si tratta del cosiddetto scenario di "citizen-development".

Ma ciò è legato a un utilizzo aziendale o pratico?

In generale si può affermare che le piattaforme di sviluppo no-code/low-code permettono di creare software utilizzando le GUI (interfacce grafiche) al posto della programmazione informatica standard e delle tradizionali tecniche di coding. Gli esempi per la creazione di app per aziende e piccole imprese sono numerosi. Dai un'occhiata alle soluzioni di punta quali Salesforce Lighting Platform, Microsoft Power Apps e Google App Maker. O ai concorrenti meno conosciuti come Zoho Creator, Appian e Kony Quantum.

E continua...

Meglio ancora: se si cerca una soluzione per creare un'applicazione mobile, l'elenco di soluzioni no-code è lungo e vanta nomi quali AppSheet, BettyBlocks, Dropsource e QuickBase. Sei pronto a creare la tua prima app?

Mi servirebbe ancora un po' di aiuto...

Un nuovo trend nella progettazione di siti web, o di altri sistemi basati sulle interfacce utente, è il Designing in Code’. In questo contesto i progettisti, invece che realizzare modelli di prova non interattivi, passano direttamente al codice per creare prodotti facilmente modificabili e completamente funzionanti. Questo approccio si basa anche sulle tecniche descritte nel libro Atomic Design di Brad Frost.

Tuttavia, la realtà è che non tutti i progettisti sono programmatori.

È qui che entra in gioco lo sviluppo tramite IA, traducendo parte di ciò che il progettista fa in 'codice'. A ottobre 2018 Gartner ha pubblicato la Top 10 Strategic Technology Trends for 2019’. Al terzo posto si trova lo sviluppo basato sull'IA e la sua capacità di mettere a disposizione di professionisti, che non sono però sviluppatori, strumenti basati sull'IA per generare nuove soluzioni in maniera automatica.

Intendi un computer in grado di programmarsi da solo?

Sì. Alcune semplici versioni sono già disponibili grazie a servizi di creazione di siti web quali Wix o l'eccezionale esempio offerto da Sketch2Code. Solitamente molti programmatori abbozzano le proprie idee o i propri modelli di prova sulla carta, per poi passare al codice. Ma cosa accadrebbe se le tue idee potessero essere trasportate da quel pezzo di carta a migliaia di linee di codice in maniera istantanea? Servizi quali Mendix, menzionato in precedenza, stanno utilizzando le piattaforme di low-code per migliorarle grazie allo sviluppo tramite IA. La convinzione che "ogni azienda debba diventare un'azienda di software" ha portato a software che conferiscono maggiore potere agli esperti di business, ma anche agli sviluppatori professionisti attraverso l'astrazione, l'automazione e lo sviluppo assistito intelligente.

L'IA supporta già i programmatori nell'esecuzione di numerose attività diverse tra loro, come l'analisi del codice, la correzione di bug, l'ottimizzazione e l'auto-completamento del codice nonché, come avviene con Sketch2Code, la generazione del codice. L'IA è in grado di imparare un 'linguaggio' di programmazione, diventando un assistente dello sviluppatore. Mozilla e Ubisoft, ad esempio, hanno stretto una partnership per realizzare un assistente di IA chiamato Clever-Commit, il cui compito specifico è fornire supporto per la programmazione.

Quindi l'IA in questo caso supporta i 'non sviluppatori' nello sviluppo, oltre a velocizzare il lavoro degli sviluppatori professionisti in vari modi. Ciò include attività di debug: l'IA si avvale di un algoritmo di deep learning per segnalare gli errori e velocizzare il processo di debug. O, nel caso di H20.ai, TPOT – Data Science Assistant e Google AutoML, per velocizzare l'addestramento dell'algoritmo di machine learning. Sapevi che Google AutoML ha già preso parte a una competizione Kaggle?

Quindi stiamo andando verso un futuro in cui i computer programmeranno i computer?

La programmazione per scopi generici è ancora un'abilità prettamente umana, mentre il codice generato è possibile solamente per attività molto semplici o meccaniche. Tuttavia, l'IA ha fatto grandi passi in avanti nell'automazione di attività relative ai codici, come la correzione, l'eliminazione di bug e l'ottimizzazione. AutoML non è la soluzione definitiva per qualunque problema di machine learning, ma un modo efficiente in termini di tempo per velocizzare lo sviluppo di prototipi e demo.

Stay in touch Stay in touch

Receive R20 via e-mail!

s:
CheckUserLogged
False
Is not Authenticated