Ricerca nel sito web

Il low-code è anche per gli sviluppatori: arriva la prossima rivoluzione della programmazione


È in corso un grande cambiamento nel modo in cui creiamo e utilizziamo le app e il low-code sarà una caratteristica chiave.

Anche se gli strumenti e i servizi moderni rendono gli sviluppatori più produttivi, c'è ancora un "divario tra le app". È il divario tra il codice che hai le risorse per creare e il codice che i tuoi stakeholder desiderano. I team di sviluppo sono sovraccarichi e devono dare priorità al loro lavoro, concentrandosi sui sistemi aziendali principali e sugli strumenti necessari per lavorare con essi. 

Non sorprende, quindi, che gli strumenti low-code siano diventati popolari. Si basano su concetti familiari per offrire agli utenti finali un set di strumenti che li aiuta a creare e condividere le applicazioni di cui hanno bisogno. I successori logici di Excel e Access, sono parchi giochi che aprono l'accesso ai dati e forniscono modi per collegare applicazioni e servizi, creando al contempo esperienze utente semplici a partire da blocchi predefiniti comuni. Si possono considerare come moderni strumenti di automazione dei processi, in grado di estrarre flussi di lavoro dalle operazioni e trasformare le azioni acquisite in codice. 

Gli strumenti low-code come Zapier e Power Platform di Microsoft sono spesso visti come un modo per scaricare la domanda di sviluppo, consentendo agli utenti di creare le app di cui hanno bisogno, quando ne hanno bisogno. Per quanto sia utile avere un modo per ridurre il divario tra le app, ci sono limiti significativi che rendono impossibile esaminare gli strumenti low code in modo isolato. 

Gestione delle API 

Ciò che spesso viene dimenticato nella corsa al low-code è che si tratta fondamentalmente di un flusso di lavoro e di una tecnologia di integrazione, e questo significa costruire e gestire gli endpoint. In questo caso, i team di sviluppo esistenti diventano essenziali, in quanto devono avere il compito di fornire API gestite per applicazioni e servizi esistenti. Sebbene i modelli API basati su REST utilizzati dalla maggior parte degli strumenti low-code siano relativamente facili da implementare e supportare, questo processo introduce una nuova serie di problemi: chi ha accesso a tali API e quanto può accedervi attraverso di esse? 

Non è possibile implementare soluzioni low-code senza una qualche forma di gestione delle API, collegata alla piattaforma di identità esistente. Per garantire la sicurezza e l'integrità dei dati saranno necessari controlli degli accessi basati sui ruoli e limitazioni gestite. È necessario essere certi che i dati protetti siano accessibili solo a coloro che ne hanno bisogno e che un numero eccessivo di utenti non influisca sulle operazioni dei sistemi line-of-business. Rendendo la gestione delle API parte della suite low code, è possibile effettuare il provisioning degli utenti che hanno bisogno di accedere alle API utilizzando semplici processi self-service, con lo scoving degli account inutilizzati per evitare la perdita di dati. 

Lavorare in team 

Poi c'è il problema del low-code che viene sviluppato in isolamento. Troppo spesso gli asset vengono creati più volte, perdendo i vantaggi del riutilizzo e della portabilità del codice. Parte del problema è che gran parte del low-code viene sviluppato in ambienti proprietari, senza integrazione con i sistemi di controllo del codice sorgente o con ambienti di social coding come GitHub. Anche l'ambiente low-code originale, Excel, si sta allontanando dal modello proprietario, con la sua nuova funzione LAMBDA che consente di condividere blocchi di codice tra diversi progetti. 

Ciò che è chiaro è che il low code è codice, anche se viene generato in un'area di disegno visiva con trascinamento della selezione. Dobbiamo trattarlo allo stesso modo in cui trattiamo il codice nei nostri sviluppi aziendali tradizionali, assicurandoci che sia sicuro e affidabile e che, ove possibile, le conoscenze utilizzate per creare tali applicazioni non vadano perse e possano essere condivise con altri team. 

I primi strumenti low code hanno saltato gran parte di ciò che era essenziale per questo. Sì, si potrebbero costruire processi intorno ad esso, con revisioni degli sviluppatori e altre pietre miliari, ma questo approccio ostacola gli ovvi vantaggi del low code, ponendo ostacoli al rapido sviluppo di app che potrebbero avere solo un paio di mesi di vita pianificata. 

L'integrazione del low-code negli strumenti di sviluppo su larga scala consente di iniziare a sfruttare le competenze di diverse parti dell'organizzazione, creando quelli che stanno diventando noti come "team di fusione" in cui diversi gruppi lavorano insieme per creare un'app o un servizio che risolva problemi specifici. Ogni membro di un team di fusione avrà una responsabilità diversa: uno potrebbe essere l'utente finale, uno uno sviluppatore low-code, uno che gestisce le API del servizio. Non c'è una struttura fissa per una squadra come questa; È costituito dalle persone necessarie per un compito specifico. Non hanno nemmeno bisogno di incontrarsi in carne e ossa: un canale Slack o Teams per il progetto potrebbe essere sufficiente per le interazioni più comuni. 

Basso codice come codice 

Gli strumenti più recenti hanno iniziato a cambiare la situazione, introducendo nuovi concetti di gestione e nuovi modi di condividere il codice. Uno sviluppo chiave è l'allontanamento dagli strumenti puramente grafici, con lo sviluppo di nuovi linguaggi che incapsulano gran parte di ciò che può essere fatto con gli strumenti grafici e che ci consentono di costruire il nostro sviluppo low-code in pipeline CI/CD e strumenti di codifica sociale come GitHub. 

Questi nuovi linguaggi sono più adatti agli ambienti a basso codice, basandosi su concetti come le query SQL e le formule Excel. Sono di rapida comprensione, utilizzando una combinazione di concetti di programmazione dichiarativa e funzionale. Gli utenti possono continuare a lavorare utilizzando i loro familiari ambienti di sviluppo grafico, salvando automaticamente il codice risultante nei loro repository git. Nel frattempo, gli sviluppatori possono rivedere rapidamente il codice nei loro IDE o editor di codice. Non c'è un contesto che cambia e tutti ottengono gli strumenti di cui hanno bisogno per svolgere il lavoro di cui hanno bisogno. Gli sviluppatori possono quindi utilizzare le pipeline CI/CD per testare rapidamente il codice prima del rilascio, alla ricerca di ostacoli e altri bug critici. 

VEDI: Sviluppatore web o CTO, quali lavori tecnologici hanno gli stipendi in più rapida crescita?

La trasformazione del codice basso in codice consente di sfruttare una nuova generazione di assistenti di codifica basati sull'apprendimento automatico. Tecnologie come il modello Codex di OpenAI possono identificare modelli comuni nel codice e fornire suggerimenti in base al modo in cui altre applicazioni risolvono problemi simili. Se, ad esempio, un'app low code necessita di un controllo della griglia collegato a un sistema ERP, può fornire suggerimenti su come costruire stringhe di connessione appropriate o su come formattare al meglio una query. 

È un approccio che è ancora agli inizi, ma si mostra promettente. Non si tratta tanto di avere un'intelligenza artificiale che scrive il codice per te, ma di avere un programmatore di coppia basato sull'intelligenza artificiale che dà suggerimenti su come migliorare il codice. Man mano che impari a creare applicazioni low code, è un insieme di ruote di allenamento che puoi decollare lentamente, riducendo la dipendenza sia dall'intelligenza artificiale che dalle risorse degli sviluppatori.  

È possibile vedere come va a finire, con gli sviluppatori di sistemi principali che creano API, le IA che perfezionano il modo in cui vengono utilizzate e gli utenti che seguono rapidamente i loro suggerimenti per creare app di alta qualità che funzionino bene e non interrompano gli altri utenti. 

Siamo agli inizi di un grande cambiamento nel modo in cui creiamo e utilizziamo le app e il low-code sarà un fattore chiave in questa nuova rivoluzione. La relazione tra il low-code e lo sviluppo di applicazioni mainstream deve essere stretta. Tuttavia, con il low code visto come un modo per rispondere alla mancanza di risorse di sviluppo, è una relazione che deve essere gestita con attenzione. Quindi, è bello vedere le organizzazioni riconoscere l'importanza di una gestione efficace delle API, dell'utilizzo di strumenti che migliorano la condivisione del codice, di nuove strutture di team che superano i confini organizzativi e, infine, dell'utilizzo dell'apprendimento automatico per ridurre i rischi e aumentare la produttività. 

Articoli correlati