Nasce quindi l’esigenza di semplificare ed evolvere nuovamente verso un nuovo approccio di sviluppo: i framework JavaScript, i quali punti di forza sono i componenti riutilizzabili, la creazione di layer dedicati alla parte di frontend, fornendo così il risultato di applicazioni più mantenibili, testabili e scalabili.
I Framework javascript sono presenti nella moderna tecnologia di sviluppo per permettere evoluzioni come scalabilità ed accessibilità a compartimenti stagni.
Partiamo con un’immagine evocativa: domande poste su stackoverflow
https://insights.stackoverflow.com/trends
In genere stackoverflow indica un trend di satisfaction rispetto ai linguaggi di programmazione utilizzati
Ndr: banalizzando, più domande = più utenti usano quel linguaggio
Il risultato indica come il trend delle librerie javascript è andato a calare in favore dei framework.
Ma cosa fanno nel dettaglio i framework?
I framework forniscono un ambiente già pronto strutturato per le nostre applicazioni.
Ecco alcune caratteristiche:
- Definizione dell’intera struttura dell’applicazione
- Separazione dei layer applicativi: frontend vs backend
- Applicazione del concetto di scalabilità orizzontale
Perchè Architettura Microservices
Nella seguente immagine vediamo rappresentata la differenza tra Architettura Monolitica e Microservices
L’Architettura Microservices garantisce la predisposizione al concetto di scalabilità, processo fondamentale che rende disponibile le risorse all’aumentare degli users connessi alla nostra applicazione.
Prendiamo ad esempio il recente crash del sito Inps, che non ha saputo fronteggiare alle numerosissime richieste per il Bonus Covid19 destinato ai lavoratori autonomi.
Infatti lo scorso 6 aprile molti iscritti non sono riusciti ad accedere alla piattaforma: l’ipotesi potrebbe stare in un errore nella configurazione.
Se avessero utilizzato un’infrastruttura applicativa costruita in modi ben precisi coadiuvata dalla scomposizione dell’applicazione in layer ben distinti, avrebbero creato un’applicazione in grado di reggere numerose connessioni in contemporanea.
Le moderne tecnologie messe a disposizione dai Big del settore, permettono di estendere le risorse disponibili in caso di carico elevato, con console di amministrazione dedicate e con fee basate sul reale utilizzo delle risorse messe a disposizione.
Esistono software sul mercato (segnaliamo Docker), che permettono in poco tempo di automatizzare il processo di deployment delle applicazioni all’interno di container, anche in strutture in-house.
Restate sintonizzati per altri approfondimenti di Axiante Digital, tramite la nostra sezione Insights oppure sulla nostra pagina Linkedin.