Le User Interface parte 2 – i framework javascript component based

framework-javascript

Nell’articolo precedente ( te lo sei perso? Clicca qui per leggerlo subito) avevamo parlato dell’utilizzo delle librerie di componenti per il rinnovamento delle User Interface. Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based. In auge al momento si possono citare i seguenti famosi tre:

  • Angular , nato nel 2010 e supportato da Google
  • React , rilasciato nel 2013 e supportato da Facebook
  • Vue , nato nel 2014, sviluppato e supportato da ex dipendenti di Google

Essi sono tutti distribuiti in maniera gratuita e con licenza MIT.

Altra caratteristica comune è quella di essere component based. Un componente è un insieme di funzionalità con una ben definita interfaccia (o API). E’ solo tramite l’API che si può interagire con il componente, mentre l’implementazione interna è inaccessibile. Questa definizione generica di componente vale anche per i componenti dei framework javascript di cui stiamo parlando. Ogni componente UI è responsabile solo dei suoi dati e della sua visualizzazione, lancia eventi verso altri componenti che li ascoltano e chiede dati a servizi. Al suo interno è costruito con della logica e dei template grafici non accessibili agli altri componenti. In questo modo il componente è una parte del sistema che può essere riutilizzata e può essere riscritta, senza creare problemi al resto dell’applicazione. Esempi di componenti possono essere una tabella, un singolo bottone o anche una form con più campi e bottoni.

Questa caratteristica di essere component based dei framework javascript moderni rispecchia pienamente il modello adottato da Sme.UP ERP, per il quale ogni schermata grafica è ripartita tra diversi componenti (schede, matrici, alberi, input panel…). Ogni componente reperisce i propri dati da servizi (chiamando delle FUN) e invia eventi che altri componenti ascoltano.

Ciascuno dei framework javascript citati è attualmente una valida scelta tecnologica, in quanto ciascuno possiede elevata popolarità e seguito. Ma il mondo javascript è sempre in fermento e gli equilibri cambiano velocemente. Ad esempio l’utilizzo di Vue.js dal 2016 in poi è aumentato pressochè esponenzialmente, a discapito della popolarità degli altri framework.

Si consideri che una volta effettuata una scelta verso il framework javascript A non è immediato migrare verso il framework B, perchè il codice sviluppato per un framework andrebbe riscritto per adattarlo all’altro. Un componente Angular infatti non funziona (a meno di particolari artefici di ricompilazione in javascript puro) all’interno di un’applicazione Vue o di un’applicazione scritta in javascript puro.

Quale soluzione scegliere allora? Esiste un’alternativa che permetta di non legarsi ad un particolare framework javascript?

Lo vedremo nella prossima puntata! Stay tuned.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *