Skip to main content

Low-code vs programmazione: non è un aut aut

Appian Contributor
June 21, 2017

Negli ultimi anni, l'entusiasmo per le piattaforme per lo sviluppo di applicazioni low-code è cresciuto e il dibattito al riguardo si è concentrato sul modo in cui questi strumenti possono soppiantare la programmazione tradizionale per molte app aziendali. Sebbene ciò sia vero, il fermento attorno alle tecniche low-code ha dato adito all'idea per cui il loro scopo sia sostituire la scrittura di codice tradizionale. In pratica, però, le aziende spesso possono trarre vantaggio dal low-code combinando questo metodo emergente con le tecniche di programmazione più tradizionali. In termini generali, le aziende possono farlo:

    • Sviluppando la maggior parte delle app su una piattaforma low-code per determinare le funzionalità di base, lasciando ai programmatori professionisti il compito di aggiungere funzioni più specializzate

    • Rendendo la creazione delle app un processo più democratico, dando quindi la possibilità ai dipendenti di altri reparti di trasformarsi in sviluppatori e lasciando invece che i programmatori professionisti si concentrino di più sulle app legacy fondamentali o su soluzioni per cui sia necessario il loro intervento

Questi sono solo alcuni esempi di come combinare il low-code alle tecniche di programmazione tradizionale. Tuttavia, è importante ricordarsi che entrambe le tecniche intervengono nello sviluppo a livello sia particolare sia generale. Nel caso di singoli progetti, le aziende possono combinare low-code e scrittura manuale del codice per permettere ai programmatori di sviluppare le funzioni base dell'app in modo più semplice e rapido, grazie alla piattaforma low-code, e di avere quindi più tempo per concentrarsi su funzioni particolari e complesse. A livello più generale, invece, mescolare low-code e programmazione tradizionale consente alle aziende di massimizzare le risorse di sviluppo interne. In ogni caso, per trovare il modo giusto di combinare i due metodi, è determinante comprenderne le differenze. Detto questo, dunque, ora vedremo alcuni degli aspetti che distinguono maggiormente il low-code dalla programmazione.

Low-code vs programmazione nella fase iniziale dei processi

Le decisioni prese prima di che la fase di sviluppo abbia inizio determinano l'andamento di tutto il progetto. In particolar modo, quando le aziende si trovano a dover stabilire i requisiti di ciascuna app, devono riflettere molto bene sul sistema operativo che intendono supportare durante il progetto di sviluppo. In questo ambito le piattaforme low-code e la programmazione tradizionale non si somigliano affatto.

Programmazione tradizionale: La maggior parte dei linguaggi di programmazione nasce per essere usata in ambienti specifici, pertanto linguaggi diversi avranno un comportamento differente a seconda dei vari sistemi operativi. Di conseguenza le aziende che decidono di rivolgersi agli utenti iOS potrebbero scegliere un linguaggio completamente diverso da chi invece vuole privilegiare Windows. La situazione si complica ulteriormente se si considerano i vari dispositivi disponibili, dato che, per ciascun sistema operativo, sarà necessario considerare aspetti lievemente diversi a seconda che si tratti di sistemi desktop o mobile.

Nella maggior parte dei casi, gli ecosistemi di dispositivi e sistemi operativi che le app aziendali devono supportare sono molto variegati. Per far fronte al problema, si potrebbe scegliere di usare linguaggi più neutrali e di scrivere pezzetti di codice separati per le parti dell'app per cui servono funzionalità particolari. In ogni caso il processo di duplicazione delle funzioni base per coprire tutti i diversi sistemi operativi richiede molto lavoro da parte dei team di sviluppo, che devono gestire una notevole quantità di codice scritto a mano.

Piattaforme low-code: Le interfacce grafiche delle piattaforme low-code che consentono di sviluppare app semplicemente trascinando e rilasciando elementi con il mouse si appoggiano a modelli precostruiti e sviluppati in modo da funzionare in ambienti operativi molto diversi fra loro. Sebbene le specifiche cambino se vengono selezionati più moduli diversi per svolgere la stessa operazione su sistemi operativi diversi o se viene scelto un modulo unico adatto a tutti gli ecosistemi, la conclusione è semplice: grazie alle piattaforme low-code, adattare rapidamente un'app a sistemi operativi e dispositivi diversi richiede molta meno fatica.

"Le piattaforme low-code semplificano l'intera procedura di commercializzazione delle app".

Sebbene possa sembrare che in tal modo si voglia porre un limite alle funzionalità consentendo di sviluppare solo app piuttosto semplici, le piattaforme principali hanno fatto un passo in più e permesso di sviluppare app in modo nativo ricorrendo a strumenti di low-code. Questa tecnica, infatti, presenta un vantaggio considerevole quando si tratta di doversi adeguare a tipi di sistemi operativi e dispositivi molto diversi tra loro. In effetti, in un report che illustra in modo dettagliato l'ascesa del low-code, Information Age ha sottolineato che è stata la necessità di programmare più in fretta e per ambienti diversi, sorta inizialmente nell'ambito dello sviluppo web, a far emergere le prime strategie di low-code nel mondo delle app.

Low-code vs programmazione nel processo di sviluppo delle app

La distribuzione delle app è storicamente un'attività complessa, in cui ciascuna linea di codice deve essere testata in un ambiente controllato prima di partire con la produzione. Da quel momento è necessario mettere a punto numerose versioni dell'app e condurre esperimenti per assicurarsi che tutto funzioni correttamente nelle varie configurazioni specifiche. La sorprendente varietà che offre la programmazione dà anche origine a un certo livello di complessità intrinseca e raggiungere la fase di produzione di un'app richiede molto tempo.

Le funzionalità dei moduli precostruiti disponibili sulle piattaforme low-code, invece, vengono testate prima della loro pubblicazione. Inoltre, l'ambiente di sviluppo vero e proprio si trova in un ecosistema sul cloud che comprende anche l'ambiente di sviluppo sul quale verrà ospitata l'app, semplificando così la fase di distribuzione e testing. Information Age ha paragonato le piattaforme low-code alla funzione ricoperta dai sistemi di gestione dei contenuti per l'universo del web: usano un'interfaccia grafica per funzioni di comprovata efficacia al fine di semplificare l'intera procedura di commercializzazione delle app.

Low-code vs programmazione nel processo di manutenzione delle app

Come la decisione da prendere riguardo al sistema operativo, un'impostazione di programmazione tradizionale rappresenta una serie di sfide in termini di manutenzione e aggiornamento che rappresentano una vera e propria battaglia per le aziende. Se i requisiti tecnici delle componenti hardware cambiano un anno dopo il lancio dell'app, è necessario scrivere una nuova versione del codice. Se gli utenti desiderano una nuova funzionalità del sistema, i tuoi programmatori dovranno mettersi all'opera. Se la configurazione del data center provoca una modifica nel comportamento del codice, bisogna apportare altrettante modifiche a mano. Con il tempo e man mano che i sistemi operativi cambiano, quindi, le app diventano soluzioni legacy e bisogna fare molta attenzione per garantire il continuo e corretto funzionamento dell'app.

Le piattaforme low-code risolvono tutti questi problemi perché i componenti modulari dell'interfaccia grafica di sviluppo vengono gestiti dal back-end del provider della piattaforma, lasciando libere le aziende, che nel tempo dovranno solo apportare piccolissime modifiche, di concentrarsi sul progetto dell'app.

L'uso del low-code per sostituire la programmazione

Tutto questo fermento attorno alle piattaforme low-code le fa sembrare di gran lunga superiori alla programmazione tradizionale. Per certi versi, lo sono. In un proprio report, Software Improvement Group ha spiegato che le piattaforme low-code prendono spunto da molte idee passate volte a migliorare il processo di sviluppo e le perfezionano, trasformandole in un sistema rivoluzionario con un potenziale di tutto rispetto. Tuttavia, la flessibilità e la libertà della programmazione tradizionale non possono essere ignorate. Le aziende che valorizzano le capacità dei propri programmatori possono usare le piattaforme low-code per sfruttare al massimo le risorse di sviluppo interne, semplificando gran parte del processo di creazione delle app e lasciando i programmatori esperti liberi di arricchire il codice con le sfumature nelle quali sono specializzati.

In fin dei conti, non si tratta di una contrapposizione tra low-code e programmazione che richiede un aut aut, bensì di un'opportunità di combinare due strategie per agevolare il progresso.