Vocabolario Meteor

Approfondimento 14.5

Percentuale Tradotta

In questo capitolo imparerai:

  • Approfondimento della terminologia più comune in Meteor.
  • In questo libro leggerete alcune parole che potrebbero sembrarvi nuove, o almeno usate in maniera differente se riferite a Meteor. Useremo questo capitolo per definirle.

    Client

    Quando parliamo di Client, ci riferiamo al codice eseguito nel browser dell'utente, sia che si tratti di un browser tradizionale come Firefox o Safari, o qualcosa di più complesso, come una UIWebView di un'applicazione nativa per iPhone.

    Collezione

    In Meteor una collezione è un contenitore di dati che si sincronizzano automaticamente tra client e server. Le collezioni hanno un nome (ad esempio ‘articoli’), e in generale sono presenti sia sul client che sul server. Anche se si comportano in maniera differente, hanno un API comune basata sull'API di Mongo.

    Computazione

    Una computazione è un blocco di codice che viene eseguito ogni volta che una delle fonti di dati reattivi dalle quali dipende subisce un cambiamento. Se avete un sorgente di dati reattivi (ad esempio, una variabile di sessione), e volete rispondere in maniera reattiva, dove predisporre su di essa una computazione.

    Cursore

    Un cursore è il risultato di effettuare una query su una collezione di Mongo. Lato client, un cursore non è solamente un'array di risultati, ma un oggetto reattivo che può essere rilevato quando vengono aggiunti, eliminati e modificati gli oggetti nella collezione.

    DDP

    DDP è il Protocollo di Dati Distribuiti di Meteor, il protocollo di rete usato per sincronizzare le collezioni ed eseguire chiamate ai metodi. DDP va inteso come un protocollo generico, che prende il posto dell'HTTP per applicazioni in tempo reale che fanno uso intensivo di dati.

    Deps

    Deps è il sistema di reattività di Meteor. Deps è usato dietro le quinte per tenere l'HTML automaticamente sincronizzato con il sottostante modello di dati.

    Documento

    Mongo è un database che si basa sui documenti, ogni oggetto che fa parte di una collezioni si chiama infatti “documento”. Sono semplici oggetti Javascript (anche se non possono contenere funzioni) con una speciale proprietà, l’_id, che Meteor utilizza per tener traccia delle loro proprietà attraverso il protocollo DDP.

    Helpers

    Quando un template deve renderizzare qualcosa di più complesso della proprietà di un documento può chiamare un helper (aiutante), cioè una funzione che può aiutare nella renderizzazione.

    Compensazione di Latenza

    È la tecnica che permette la simulazione delle chiamate dei metodi lato client per evitare ritardi in attesa che il server risponda.

    Method

    Un metodo di Meteor è le chiamata ad una procedura remota dal client al server, con un po’ di logica speciale per tener traccia dei cambiamenti delle collezioni e permettere la compensazione di latenza.

    MiniMongo

    La collezione lato client è un archivio dati in memoria che offre un API simile a quella di Mongo. La libreria che permette questo comportamento si chiama “MinoMongo”, per indicare che è una versione ridotta di Mongo che viene eseguita interamente in memoria.

    Pacchetti

    Un pacchetto di Meteor può essere 1. Codice Javascript eseguito sul server. 2. Codice Javascript eseguito sul client. 3. Istruzioni su come processare le risorse (come SASS in CSS). 4. Risorse che devono essere processate.

    Un pacchetto è come una libreria super potenziata. Meteor include già una larga serie di pacchetti di base. È disponibile anche Atmosphere, che è una raccolta di pacchetti di terze parti gestita dalla comunità.

    Pubblicazione

    Una pubblicazione è un insieme di dati con un nome specifico, personalizzato per ogni utente che vi fa una sottoscrizione. Le pubblicazioni sono impostate sul server.

    Server

    Il server di Meteor è un server HTTP e DDP che funziona tramite node.js. Consiste in tutte le librerie di Meteor e nel vostro codice Javascript lato server. Quando avviate il server di Meteor, esso si connette a un database Mongo (che si auto avvia in fase di sviluppo).

    Sessione

    La Sessione in Meteor si riferisce alla fonte di dati reattivi presente sul client che l'applicazione utilizza per tenere traccia dello stato in cui si trova l'utente.

    Sottoscrizione

    Una sottoscrizione è una connessione ad una pubblicazione per uno specifico client. La sottoscrizione è il codice che viene eseguito nel browser che comunica con una pubblicazione sul server e mantiene sincronizzati i dati.

    Template

    Un template è un modo per generare HTML tramite Javascript. Per impostazione predefinita, Meteor supporta Spacebars, un sistema di templating logic-less, cioè privo di istruzioni if o cicli for, anche se si prevede di supportarne altri in futuro.

    Contesto dei dati di un Template

    Quando un template viene renderizzato, fa riferimento ad un oggetto Javascript che fornisce dati specifici per quella particolare renderizzazione. Nella maggior parte dei casi si tratta di semplici oggetti Javascript (POJOs, plain-old-JavaScript-objects), di solito documenti da una collezione, ma a volte possono essere anche più complessi e contenere all'interno delle funzioni.