Wprowadzenie

1

procent przetłumaczone

W tym rozdziale dowiesz się:

  • Dowiesz się co czyni Meteora wyjątkowym.
  • Przeczytasz o historii powstania książki.
  • Zapoznasz się z organizacją książki.
  • Wyobraź sobie otwarcie tego samego folderu w dwóch oknach na twoim komputerze.

    Teraz kliknij wewnątrz jednego z okien i usuń plik. Czy plik zniknął także w drugim oknie?

    Nie musisz w zasadzie wykonywać tych kroków żeby wiedzieć, że plik został usunięty. Kiedy modyfikujemy lokalny system plików, zmiana jest wykonywana wszędzie bez potrzeby odświeżania czy wykonywania funkcji zwrotnej (ang. callback). To po prostu działa.

    Teraz wyobraź sobie jak ten sam scenariusz zadziałałby w środowisku web'owym. Dla przykładu, powiedzmy, że otworzyłeś to samo okno administracyjnej WordPress'a w dwóch oknach przeglądarki i dodałeś nowych wpis w jednym z nich. W przeciwieństwie do folderów, nie ważne jak długo będziesz czekał, drugie okno nie odzwierciedli zmian dopóki go nie odświeżysz.

    Przez lata przyzwyczailiśmy się do myśli, że strona internetowa jest czymś, z czym można komunikować się tylko w krótkich, odrębnych seriach.

    Jednak Meteor jest częścią nowej fali framework'ów i technologii, które zamierzają stawić czoła status quo, sprawiając, że strony internetowe staną się reaktywne i będą działały w czasie rzeczywistym.

    Czym jest Meteor?

    Meteor jest platformą zbudowaną na bazie Node.js służącą do tworzenia internetowych aplikacji działających w czasie rzeczywistym. Jest tym co znajduje się pomiędzy bazą danych twojej aplikacji a interface'em użytkownika i zapewnia ich synchronizację.

    Jako, że Meteor oparty jest na Node.js, używa on JavaScript'u zarówno po stronie klienta jak i serwera. Ponad to, Meteor umożliwia także współdzielenie kodu pomiędzy obydwoma środowiskami.

    Otrzymujemy w ten sposób potężną platformę, która jest jednocześnie bardzo prosta w użyciu dzięki odseparowaniu programisty od wielu częstych problemów i zagrożeń wynikających z tworzenia aplikacji internetowych.

    Dlaczego Meteor?

    Zatem dlaczego powinieneś spędzić czas na nauce Meteor'a zamiast innego framework'a webowego? Zostawiając na boku przeróżne cechy Meteor'a, wszystko sprowadza się do jednej rzeczy: Meteor jest łatwy do opanowania.

    Meteor umożliwia, łatwiej niż jakikolwiek inny framework, stworzenie aplikacji internetowej czasu rzeczywistego i uruchomienie jej w ciągu kilku godzin. A jeśli kiedykolwiek zajmowałeś się programowaniem front-end'owym, to zaznajomiony jesteś już z JavaScript'em, a pracując w Meteor'ze nie będziesz potrzebował uczyć się żadnego innego języka.

    Meteor może ale nie musi być idealnym framework'iem dla ciebie. Ale skoro można zapoznać się z nim w ciągu kilku wieczorów lub przez weekend to czemu nie spróbować i przekonać się na własnej skórze?

    Dlaczego ta książka?

    Przez ostatnie 6 miesięcy, pracowaliśmy nad Telescope, open-source'ową applikacją napisaną w Meteor'ze, która umożliwia każdemu stworzenie własnego serwisu społecznościowego z aktualnościami (na podobę Reddit'a lub Hacker news), gdzie ludzie mogą zamieszczać linki i głosować na nie.

    Wiele się nauczyliśmy budując tę aplikację, jednak nie zawsze łatwo było znaleźć odpowiedź na nasze pytania. Musieliśmy szukać rozwiązań w wielu różnych miejscach, a w wielu przypadkach wymyślać własne. Dlatego też w tej książce chcemy podzielić się zdobytą wiedzą i stworzyć prostą instrukcję jak krok po kroku, od zera zbudować pełno prawną aplikację w Meteor'ze.

    Aplikacja, która będziemy budować jest nieznacznie uproszczoną wersją Telescope, którą nazwaliśmy Microscope. Podczas pisania aplikacji, poruszymy wiele różnych kwestii składających się na tworzenie aplikacji w Meteor'ze, takich jak konta użytkowników, kolekcje, trasowanie (ang. Routing) i wiele innych.

    Jeśli po przeczytaniu książki będziesz chciał dalej zgłębiać wiedzę, będziesz w stanie z łatwością zrozumieć kod Telescope, gdyż została napisana zgodnie z tym samym schematem.

    O autorach

    Jeśli jesteś ciekaw kim jesteśmy i dlaczego możesz nam zaufać, poniżej znajduje się krótka informacja o naszej działalności.

    Tom Coleman jest członkiem Percolate Studio, sklepu dla web developerów z nastawieniem na jakość i user experience. Jest również współtwórcą aplikacji Meteorite i repozytorium pakietów Atmosphere. Stoi także za wieloma projektami open-source dla Meteor'a (takimi jak Router).

    Sacha Greif pracował z takimi startup'ami jak Hipmunk i RubyMotion jak designer webowy i produktu. Jest twórcą aplikacji Telescope i Sidebar (która bazuje na Telescope), jest także założycielem Folyo.

    Rozdziały i sekcja uzupełniająca

    Chcieliśmy aby ta książka była przydatna zarówno dla początkującego użytkownika Meteor'a jak i dla zaawansowanego programisty. Dlatego rozdziały zostały podzielone na dwie kategorie: zwykłe rozdziały (ponumerowane od 1 do 14) i rozdziały poboczne (numer połówkowe .5).

    Zwykłe rozdziały poprowadzą cię przez proces budowania aplikacji , abyś jak najszybciej mógł sam rozpocząć pisanie aplikacji, wyjaśniając najważniejsze kwestie bez zaprzątania ci głowy zbytnimi szczegółami.

    Z drugiej strony, rozdziały poboczne zgłębiać będą zawiłości Meteor'a i pomogą ci lepiej zrozumieć co tak naprawdę dzieje się pod maską.

    Więc jeśli jesteś początkujący, możesz spokojnie pominąć rozdziały poboczne przy pierwszym czytaniu książki i powrócić do nich później gdy zaznajomisz się już trochę z Meteor'em.

    Commits (pot. komity) i działające przykłady

    Nie ma nic gorszego, niż kiedy czytając książkę o programowaniu nagle uświadomimy sobie, że nasz kod nie jest zgodny z tym z przykładów i nic nie działa tak jak powinno.

    Aby tego uniknąć, musimy pobrać repozytorium Microscope z GitHub'a. Będziemy zamieszczać także bezpośrednie linki do komitów po każdych kilku zmianach w kodzie. Ponadto, przy każdym komicie zamieszczamy link do działającej instancji aplikacji dla danego komita, abyś mógł(a) porównać go ze swoją lokalną wersją. Oto przykład:

    Zatwierdź 11-2

    Display notifications in the header.

    Pamiętaj jednak, że nie powinieneś przechodzić od jednego do drugiego git checkout tylko dlatego, że zamieściliśmy odwołania do komitów. Nauczysz się o wiele więcej, jeśli poświęcisz trochę czasu na ręczne napisanie kodu swojej aplikacji.

    Kilka dodatkowych zasobów

    Gdy kiedykolwiek będziesz potrzebować więcej informacji o konkretnej funkcji Meteor'a, oficjalna dokumentacja jest najlepszym miejscem do ropoczęcia poszukiwania.

    Polecamy także serwis Stack Overflow w razie problemów i pytań, oraz kanał IRC #meteor jeśli potrzebujesz szybkiej odpowiedzi.

    Czy potrzebuję Git'a?

    Pomimo, że wiedza na temat działania systemu kontroli wersji Git nie jest wymagana aby podążać za przykładami w książce, jest jednak zalecana.

    Jeśli chcesz szybko opanować Git'a, polecamy artykuł Nick'a Farina Git Is Simpler Than You Think.

    Jeśli jesteś początkujący użytkownikiem Git'a, polecamy również GitHub dla Mac'a, narzędzie które umożliwia klonowanie i zarządzanie repozytorium bez korzystania z linii poleceń.

    Kontakt