I vantaggi del tempo reale per qualsiasi applicazione web

I framework web in tempo reale come Meteor sono solitamente caratterizzati dalla loro capacità
per alimentare applicazioni collaborative e reattive, ma con le stesse caratteristiche
forniscono valore anche alle applicazioni tradizionali. Con Meteor in particolare,
in tempo reale è esposto allo sviluppatore come un database persistente che può essere utilizzato
in modo simile sia dal client che dal server. Questo database condiviso serve come un unico
fonte di verità che unifica lo stato dell'applicazione web tradizionalmente diffusa:
database, application server in-memory variabili, in-memory
cache, variabili javascript in-browser e DOM in-browser. La capacità di
rinunciare alla sincronizzazione manuale dello stato semplifica lo sviluppo di applicazioni CRUD anche monoutente.

La sincronizzazione dello stato tra i diversi livelli di applicazione è di solito
una fonte di calore e di microspie. Considerate il tradizionale stack di applicazioni
con le sue varie rappresentazioni e trasformazioni di dati:

  • Modello oggetto del documento del browser

    • Imperativamente sincronizzato con jQuery o declarativamente sincronizzato con strutture come Angular, React, ecc.
  • Browser JavaScript

    • Sincronizzato manualmente con gli endpoint AJAX e REST (o un protocollo più recente come WebSocket con schema personalizzato)
  • Applicazione web del server

    • Sincronizzato manualmente tramite ORM o accesso diretto al database come SQL
  • Banca dati

Il cablaggio di ogni livello richiede un codice aggiuntivo ed inoltre duplica lo stato in
varie forme: strutture dati javascript lato client, dati lato server
strutture, e la rappresentazione di database. Una certa semplificazione è possibile grazie a
utilizzando JavaScript sia per il client che per il server. I livelli di dati possono essere realizzati anche
uniforme utilizzando JSON in tutto, ad esempio MongoDB al posto di un sistema relazionale
database. Tuttavia, anche con queste standardizzazioni, lo sviluppatore dell'applicazione
deve agganciare gli strati con gli endpoint REST e spingere i dati su e giù per il
strati. Meteor semplifica questo stack con la seguente architettura:

  • Modello oggetto del documento del browser

    • Declarativamente sincronizzato con Spacebars, un framework di template basato su Handlebar.js
  • Browser JavaScript

    • Database lato client sincronizzato automaticamente (MiniMongo) con strutture dati lato server su DDP (un meccanismo di trasporto su websocket o sockjs)
  • Server JavaScript

    • Strutture dati lato server sincronizzate automaticamente con il database (MongoDB) con LiveQuery
  • MongoDB

Per alcuni aspetti, Meteor fornisce un modello di programmazione che assomiglia al primo
generazione di applicazioni web dinamiche: la vista HTML può essere modellata direttamente
dal database. Questo modello di programmazione semplificata riduce le parti mobili
e opportunità di bug in qualsiasi applicazione.

Informazioni su ShareThis

ShareThis ha sbloccato il potere del comportamento digitale globale sintetizzando i dati di condivisione sociale, interesse e intenzione dal 2007. Alimentato dal comportamento dei consumatori su oltre tre milioni di domini globali, ShareThis osserva le azioni in tempo reale di persone reali su destinazioni digitali reali.

Iscriviti alla nostra newsletter

Ricevete le ultime notizie, i suggerimenti e gli aggiornamenti

Iscriviti

Contenuto correlato