Dai CMS al LowCode. FlowerJS e il futuro della programmazionest

da | Set 22, 2022

Lo sviluppo web ha subito molte rivoluzioni nell’ultimo decennio, FlowerJS è pronto ad accogliere la prossima

I trend dell’ultimo decennio

FlowerJS è solo uno degli ultimi trend del settore digital che negli ultimi 10/15 anni hanno rivoluzionato lo sviluppo web. Pochi altri settori hanno subito cambiamenti ed innovazioni tanto importanti.

L’avvento delle tecnologie mobile, i nuovi processori, i nuovi studi sulle AI, insomma, tutti i grandi cambiamenti dell’ultimo periodo hanno visto gli antichi software monolitici diventare obsoleti e vedono il sistema andare verso “micro servizi”. 

È necessario chiedersi: quale sarà il futuro della programmazione?

Guardando alla sempre più diffusa programmazione low code, a partire da CMS e builder vari, una cosa risulta evidente: il cambiamento che ha interessato il settore non sembra aver intenzione di rallentare. Ben presto (se non già adesso) si farà programmazione in tutt’un altro modo. 

Vediamo un po’ però cosa cambia. 

CMS VS BPM Engine

Le differenze tra un CMS/App builder ed un “BPM engine” o “Workflow engine” sono evidenti. Il concetto base sta nella flessibilità.

I primi (CMS) sono in genere studiati per generare processi di piccolo taglio e sono stati inventati per generare pagine web, form e poco altro. A mio parere generano anche non pochi problemi, in quanto li ho visti spesso malamente utilizzati nella creazione di progetti più ampi. 

WordPress ne è l’esempio lampante in tal senso: ha permesso a tutti di creare pagine Web. Tutt’oggi è importantissimo per alcuni processi, ma non è certamente ottimale per progetti di grandi dimensioni. 

I sistemi di App builder, un po’ più complessi, hanno permesso la generazione di App per il web. Spesso si tratta di app prefabbricate dal sistema, senza possibilità alcuna di flessibilità. Sicuramente a loro tempo un’innovazione, che però oggi non rispondono in alcun modo alle esigenze business per le evolutive. Presentano comunemente discreti problemi sui bug, drammaticamente irrisolvibili. Hanno inoltre problemi di aggiornamenti, non è possibile generare nuovi flussi, le tecnologie sono: “quelle prestabilite e basta”. 

Quali sono i vantaggi del “Low Code”?

Da qui nascono i “Low Code” engine, motori in grado, attraverso interfacce grafiche, di “generare codice”. Non più applicazioni, semplicemente codice. Perché questo è così importante? 

  • Perché spesso e volentieri le best practice insegnano che interi flussi e intere porzioni di codice (ben scritto si intende) possano essere riutilizzabili cambiando giusto la parte grafica (CSS e similari).
  • Perché attraverso diagrammi di flusso si può avere maggiore controllo del progetto che si sta portando avanti, confrontandosi con maggiore facilità con gli analyst che possono anch’essi partecipare al processo di sviluppo, monitorando e collaborando attraverso la stessa interfaccia grafica. 
  • Perché il mondo ci sta chiedendo “velocità”, i mercati ed i clienti, se già prima avevano i tempi stretti per le evolutive, oggi ne hanno sempre meno.
  • Perché un’azienda per sopravvivere alle dure leggi del mercato di oggi ha bisogno di potersi evolvere senza dover aspettare lunghi tempi di sviluppo. 

Ad oggi non esistono tantissimi sistemi Lowcode di sviluppo, nessuno di questi ha preso (alla Amazon) il dominio del mercato. Tutti però stanno studiando. Si tratta di un vero e proprio trend mondiale. 

FlowerJS, come funziona il Workflow engine di Spindox

Da queste realizzazioni, 2 anni fa, è nato di FlowerJS, il Workflow engine di casa Spindox interamente sviluppato da Stackhouse.

FlowerJS è un software, inquadrato nei BPM Engine (o workflow Engine)  per lo sviluppo di progetti di medio/grandi dimensioni, che permette di poter sviluppare codice attraverso diagrammi di flusso ordinati.

Come funziona? 

FlowerJS è stato integrato intanto come plugin per Visual Studio Code, creato ad hoc per evitare allo sviluppatore lo stress di dover utilizzare altro sistema di sviluppo. È flessibile, il che vuol dire che è possibile poter utilizzare FlowerJS per diverse tecnologie. Al momento è operativo sullo stack di ReactJS, NodeJS, ma stiamo implementando AngularJava e varie altre tecnologie.  

FlowerJS permette di sviluppare intere parti di codice attraverso UI e diagrammi di flusso, e facilita il lavoro dello sviluppatore, che a questo punto dovrà esclusivamente occuparsi del “singolo” componente e delle sue customizzazioni. 

Per i meno esperti: attraverso il mouse è possibile creare diagrammi di flusso su come funziona l’applicativo, solo che, invece di progettarlo e basta, alla “Figma”, il motore genera anche il codice, creando l’applicativo stesso. In ogni flusso è possibile inserire i componenti che servono. 

Esempio:

  • Creo il diagramma del Login.
  • Inserisco i componenti che mi servono (text-pwd etc etc).
  • Se ho necessità di componenti particolareggiati, li posso comunque sviluppare ed inserire in FlowerJS ed utilizzare anche in diverse porzioni di codice. 

Ed ecco che per sviluppare qualcosa per cui avevo una stima di un numero X di FTE ho ottimizzato i tempi. In Stackhouse, sviluppiamo a una frazione dei tempi tradizionalmente richiesti, riducendo il margine d’errore e lavorando più serenamente.

Che cosa riserva il futuro?

Ad oggi ancora troppi errori vengono commessi in fase di programmazione, ancora vedo fogli interi di codice, codici infiniti, software monolitici impossibili da evolvere. 

Mentre il futuro ormai è scritto: 

  • Micro componenti.
  • Micro servizi.
  • LowCode e BPM Engine per la loro organizzazione.
  • Sviluppatori sempre più facilitati e specializzati.
  • Meno disordini e bug.
  • Tanto codice di qualità in più.

Lo sviluppatore è il lavoro del futuro, il Lowcode aprirà le porte ad una più ampia platea di persone riducendo i problemi dovuti all’inesperienza.

Le caratteristiche di FlowerJS sono le seguenti: 

  • Plug-In VScode.
  • FlowChart System per lo sviluppo di Front-end/Back-end. 
  • Cloud Dashboard di sviluppo.
  • Codice testato,100% coverage.

L’errore più comune è quello di pensare che i sistemi lowcode sostituiranno gli sviluppatori, cosa che a mio parere non può accadere. Quello che invece succederà è che i sistemi lowcode, come FlowerJS, aiuteranno gli sviluppatori, dandogli maggiore controllo e permettendo di ottenere i risultati che si raggiungono con i metodi tradizionali in minor tempo. 

Tramite FlowerJS, con le ultime evolutive, è possibile mantenere il controllo del Front-end e del Back-end contemporaneamente. È possibile testare tutto, o parte, del software e si possono anche replicare e scalare sia componentistiche singole che interi flussi.

Lo sviluppatore ha piena libertà, nessun vincolo, ma solo opportunità. Grazie a FlowerJS si ha pieno controllo dello sviluppo, semplicità assoluta nel creare delle evolutive. 

In più grazie a FlowerJS anche i junior alle prime armi potranno comunque rendersi maggiormente utili ed imparare non solo le base del codice, ma anche le basi progettuali su come si “organizza un software” e la sua architettura. E non finisce qui: FlowerJS apre la professione dello sviluppatore anche a chi non ci si è dedicato a livello accademico. Chiunque abbia la mentalità giusta, può entrare a far parte della nostra squadra, per crescere insieme nel panorama costantemente in divenire della programmazione oggi. FlowerJs solleva i programmatori (e non) dalle parti più onerose dello sviluppo, lasciando spazio e tempo per il design di processi di qualità più elevata.

Ed ecco qual è la mia idea di futuro: non l’eliminazione dello sviluppatore, ma la sua evoluzione e soprattutto la crescita su base numerica, l’apertura della professione verso un orizzonte più multicolore. 

FlowerJS è a disposizione per tutti gli sviluppatori Spindox, che volessero semplificarsi la vita. Al momento è stato utilizzato ed operativo su diversi di software a livello industriale, l’efficacia è garantita, e la semplicità d’uso anche.

Filippo Candio
Filippo Candio
Nato nell'84 , Informatico dal 1998, software creator (giornaliera, cameriere digitale, flowerJS) e A.D. Stackhouse srl (Spindox Spa company)

Potrebbe piacerti anche