Słownik Meteor'a

Pasek boczny 14.5

procent przetłumaczone

W tym rozdziale dowiesz się:

  • Przegląd niektórych terminów występujących w Meteorze.
  • W tej książce poznasz kilka nowych terminów. Znajdziesz również takie, które znasz, ale są one używane w nowy sposób w kontekście Meteora. W tym rozdziale zajmiemy się ich przedstawieniem.

    Klient

    Kiedy mówimy o Kliencie, odnosimy się do kodu, który uruchamiany jest po stronie użytkownika. Może to być tradycyjna przeglądarka jak Firefox lub Safari, lub coś bardziej skomplikowanego jak np. UIWebView dla natywnej aplikacji iPhone'a.

    Kolekcja

    Kolekcje w Meteorze są zbiorami danych automatycznie synchronizowanymi pomiędzy klientem i serwerem. Kolekcje posiadają nazwę (jak np. posty) i zazwyczaj istnieją zarówno na po stronie klienta jak i serwera. Pomimo tego, że zachowują się inaczej, mają wspólne API oparte na API bazy danych Mongo.

    Komputacja (Obliczenie)

    Komputacja jest blokiem kodu, który jest uruchamiany za każdym razem, kiedy reaktywne źródło danych, na którym jest oparta, zmieni się. Mając reaktywne źródło danych (na przykład zmienna Session) i chcąc reagować na jego zmiany, będziesz musiał ustawić komputacje dla niego.

    Kursor

    Kursor jest rezultatem wykonania zapytania na kolekcji Mongo. Po stronie klienta, kursor nie jest zwykłą tablicą wyników ale reaktywnym obiektem, na którym można obserwować dodawanie, usuwanie i aktualizowanie obiektów.

    DDP

    DDP jest w Meteorze Rozproszonym Protokołem Danych (ang. Distributed Data Protocol), który używany jest do synchronizacji kolekcji i wykonywania metod Meteora. Głównym zadaniem DDP jest zastąpienie ociężałego protopkołu HTTP protokołem czasu rzeczystistego.

    Zależności (ang. Deps)

    Zależności to część systemu reaktywności Meteora. Zależności działając pod maską zapewniają automatyczną synchronizację kodu HTML z danymi modelu.

    Dokument

    Mongo jest bazą danych opartą o dokumenty. W związku z tym obiekty wyciągane z kolekcji są nazywane “dokumentami”. Dokumenty są prostymi obiektami JavaScript (jednak nie mogą zawierać funkcji) z jedną specjalną właściwością _id, którą Meteor wykorzystuje do śledzenia właściwości obiektu w protokole DDP.

    Funkcje pomocnicze (ang. Helpers)

    Kiedy system szablon potrzebuje wyrenderować coś bardziej złożonego niż właściwość dokumentu wtedy z pomocą przychodzą funkcje pomocnicze (potocznie zwane helperami). Funkcje te ułatwiają renderowanie danych.

    Kompensacja opóźnienia

    Jest techniką, która umożliwia symulację wykonania metody po stronie klienta. Pozwala to uniknąć opóźnienia (pot. lagu) spowodowanego czekaniem na odpowiedź serwera.

    Metoda

    Metody w Meteorze są zdalnymi wywołaniami funkcji zainicjowanymi po stronie klienta, a wykonywanymi na serwerze. Są zaopatrzone w mechanizmy, które umożliwiają śledzenie zmian w kolekcjach oraz kompensację opóźnienia.

    MiniMongo

    Implementacja kolekcji po stronie klienta. Jest magazynem danych rezydującym w pamięci operacyjnej, posiadającym API na wzór Mongo. Biblioteka dostarczająca wspomniane funkcjonalności nazywana jest “MiniMongo” aby zaznaczyć, że jest okrojoną wersją bazy Mongo, która w całości działa w pamięci operacyjnej.

    Pakiet

    Pakiet w Meteorze może składać się z

    1. Kodu JavaScript działającego po stronie serwera.
    2. Kodu JavaScript działającego po stronie klienta.
    3. Instrukcji na temat sposobu przetwarzania zasobów (np. z SASS do CSS).
    4. Zasobów do przetworzenia.

    Pakiet można traktować jak bibliotekę o super mocy. Meteor posiada obszerny zestaw pakietów. Dostępne jest także repozytorium Atmosphere, które jest kolekcją pakietów pisanych przez społeczność użytkowników Meteora.

    Publikacja

    A publication is a named set of data that is customized for each user that subscribes to it. You set up a publication on the server.

    Publikacja jest opatrzonym nazwą zbiorem danych, który jest indywidualnie dostosowywany do każdego użytkownika, który tę publikację subskrybuje. Publikacja jest umieszczana na serwerze.

    Serwer

    Serwer Meteora to serwer HTTP i DDP działającymi w oparciu o node.js. Jest złożony z wszystkich bibliotek wchodzących w skład Meteor'a oraz twojego kodu JavaScript rezydującego po stronie serwera. Podczas uruchomiania serwera Meteor łączy się z bazą danych Mongo (która jest uruchomiana automatycznie w trybie deweloperskim).

    Sesja

    Sesja w Meteorze odnosi się do działającego po stronie klienta reaktywnego źródła danych, używanego przez twoją aplikację do śledzenia stanu w jakim jest użytkownik.

    Subskrybcja

    Subskrybcja jest odwołaniem do publikacji dla konkretnego klienta. Subskrybcja składa się z kodu, który uruchamiany jest w przeglądarce i komunikuje się z publikacją na serwerze, oraz zapewnia synchronizację danych.

    Szablon

    Szablony pozwalają na generowanie kodu HTML w JavaScript'cie. Meteor domyślnie wspiera bibliotekę Handlebars, bibliotekę nie opartą na funkcjach logicznych. Planowane jest wsparcie dla innych systemów szablonów w przyszłości.

    Kontekst danych szablonu

    Podczas renderowania szablonu wykorzystywany jest obiekt JavaScript, który posiada konkretne dane przeznaczone dla tego szablonu. Obiekty te zazwyczaj są prostymi obiektami JavaScript (ang. plain-old-JavaScript-objects, POJOs), często są to dokumenty z kolekcji, jednak mogą być bardziej skomplikowane i posiadać funkcje.