Blog (old)

 
     

Perché NON programmare in “low-code” o “no-code”

ott 08

Stanno diventando il trend del momento, ma cosa si intende con sviluppare tramite piattaforme "low-code" o "no-code"?

La differenza è veramente sottile perché entrambe le soluzioni di “sviluppo” prevedono un supporto (a livello di codice di programmazione) nella creazione del proprio progetto: nel primo caso, seppure minime, sono però richieste delle competenze di programmazione per integrare tra di esse le funzioni e poter sviluppare componenti dedicati. Nello sviluppo “no-code” invece, il 100% del progetto verrà generato dagli algoritmi e l’utente non dovrà avere alcuna competenza informatica; infatti, tramite funzioni drag and drop o point and click, potrà “disegnare” il prodotto finale e attendere l’elaborazione della “piattaforma no-code” scelta. È chiaro che progetti più complessi non saranno idonei allo sviluppo “no-code”, ma lo scopo finale di entrambe le soluzioni è quello di fornire dei prodotti finali funzionali, di veloce sviluppo e a basso costo.

Ora che i concetti sono stati chiariti, ti mostreremo il nostro punto di vista in merito: abbiamo analizzato sette elementi cardini mostrandone, per ciascuno, i pro e i contro.

Velocità

Pro. L’obiettivo è chiaro: creare rapidamente nuovi software. Con pochi clic, gli utenti possono mettere insieme alcuni moduli e visualizzazioni e generare così un’App.

Contro. È bello che gli strumenti siano veloci, ma può essere un errore accelerare lo sviluppo del software. Man mano che la codifica diventa più facile, la vera sfida è definire l’applicazione e immaginare il suo ruolo nella vita dei clienti. Il team dedicato potrebbe aver ignorato blocchi concettuali e pieghe “filosofiche” che, prima o poi, devono essere affrontati. La vera sfida non è creare ciò che si vuole, è sapere innanzitutto cosa si vuole.

 

Stabilità

Pro. Gli strumenti low-code ammortizzano i costi di supporto in tutte le installazioni. Quando viene rilasciata una nuova versione del sistema operativo o una nuova norma sull’archiviazione dei dati, i fornitori di strumenti low-code la implementeranno per tutti.

Contro. Delegare il supporto all’azienda che ha creato la piattaforma low-code non è garanzia di stabilità. Non tutte le aziende sono ben gestite. Qualsiasi cambio di rotta potrebbe far affondare la tua piattaforma: la società che l’ha creata potrebbe fallire, decidere di non svilupparla più, dedicarsi ad altre attività. Qualsiasi problema del mondo “No Code” può minare la stabilità del vostro prodotto.

 

Potenziamento del personale

Pro. Data la mancanza di necessità di conoscenze informatiche e quindi di sviluppatori, i grafici potranno testare autonomamente le proprie idee.

Contro. Le funzionalità low-code possono essere miracolose, ma non possono trasformare un non programmatore in uno sviluppatore con esperienza. Gli utenti devono comunque avere un’idea di base su come funzionano i linguaggi di programmazione, i componenti e possedere un buon metodo di lavoro.

 

Coerenza, omogeneità e personalizzazione

Pro. Sono state sviluppate soluzioni standard, con una raccolta di widget sull’interfaccia utente. Il codice sarà relativamente standard, perché utilizza gli stessi strumenti degli altri.

Contro. Il tuo prodotto non sarà unico e potrebbe essere una copia di qualche altro progetto o avere funzionalità identiche alla concorrenza. Questi strumenti sono si efficaci ma le scelte, seppur si trovino ormai tantissime e variegate tipologie di personalizzazione, saranno sempre limitate all’immaginazione di chi le ha programmate. Non avrai mai quello che tu hai sognato da zero, ma sempre un qualcosa che ci avvicinerà, sempre un adattamento. Vuoi confonderti tra la folla?

 

Sicurezza

Pro. Il grande vantaggio di lavorare con un framework condiviso è che hanno gestito le sfide comuni, quindi non dovete preoccuparvene.

Contro. È altamente probabile che gli sviluppatori delle piattaforme “low-code/no-code” abbiamo sviluppato componenti e moduli, comuni a tutti, con delle proprie particolarità e restrizioni. Questi sono problemi che possono ostacolare il tuo sviluppo e comportare dei costi aggiuntivi per superarle.

 

Semplicità

Pro. Gli strumenti low-code sono progettati per essere semplici. Mentre voi vi preoccupate per la vostra azienda, gli sviluppatori di piattaforme low-code si sono preoccupati del modo migliore per creare una serie di strumenti facili da adottare ed estendere. Il lavoro di programmazione l’hanno già fatto loro.

Contro. Il low-code può creare più confusione che scrivere qualcosa da zero? Sì, quando ci si avvicina ai limiti dello strumento e ci si imbatte in problemi tecnici, bug o incongruenze. Gli strumenti low-code non espongono questo lato all’utente, ma se improvvisamente qualcosa non funziona e l’unico modo per capire cosa sta succedendo è scavare nelle strutture dei dati, qui emerge il problema. L’utente non può entrare in questi dettagli perché non ha il controllo dello strumento.


Una rete di partner

Pro. Alcune aziende incoraggiano lo sviluppo di una rete di partner fidati che contribuiscono con esperienza e stabilità. Affidarsi a un kit di strumenti low-code aggiunge un’altra connessione alla rete di partner di fiducia.

Contro. L’approccio opposto consiste nello sviluppare competenze interne perché questa profondità di conoscenza ripaga. Il low code può dare una spinta in termini di tempo, ma solo un codice solido e ben strutturato sviluppato da un team dedicato crea qualcosa di valore a lungo termine.

 

Il bilancio tra pro e contro

Il codice è necessario per gestire importanti flussi di lavoro e contribuisce direttamente al risultato finale, è più utile investire nel talento necessario per creare qualcosa di affidabile nel tempo e di livello enterprise piuttosto che sviluppare soluzioni identiche e prive di efficienza. In conclusione, lo sviluppo "low-code/no-code" può essere una soluzione estemporanea, ma quando si fa sul serio, è meglio rivolgersi a chi il codice lo mastica davvero, allora si che si potrà contare su di una struttura potente, affidabile e personalizzata al 100%.