-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path01-introduction.md.erb
103 lines (57 loc) · 8.57 KB
/
01-introduction.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: Wprowadzenie
slug: wprowadzenie
date: 0001/01/01
number: 1
contents: Dowiesz się co czyni Meteora wyjątkowym.|Przeczytasz o historii powstania książki.|Zapoznasz się z organizacją książki.
paragraphs: 35
---
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](http://telesc.pe), 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](http://reddit.com) lub [Hacker news](http://news.ycombinator.com)), 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.
<%= image "tom-photo.jpg", "portrait" %>
**Tom Coleman** jest członkiem [Percolate Studio](http://percolatestudio.com/), sklepu dla web developerów z nastawieniem na jakość i user experience. Jest również współtwórcą aplikacji [Meteorite](https://github.com/oortcloud/meteorite) i repozytorium pakietów [Atmosphere](http://atmosphere.meteor.com). Stoi także za wieloma projektami open-source dla Meteor'a (takimi jak [Router](https://github.com/tmeasday/meteor-router)).
<%= image "sacha-photo.jpg", "portrait" %>
**Sacha Greif** pracował z takimi startup'ami jak [Hipmunk](http://hipmunk.com) i [RubyMotion](http://rubymotion.com) jak designer webowy i produktu. Jest twórcą aplikacji [Telescope](http://telesc.pe) i [Sidebar](http://sidebar.io) (która bazuje na Telescope), jest także założycielem [Folyo](http://folyo.me).
### 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] (https://github.com/SachaG/Microscope). 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:
<%= commit "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](http://docs.meteor.com/) jest najlepszym miejscem do ropoczęcia poszukiwania.
Polecamy także serwis [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor) w razie problemów i pytań, oraz [kanał IRC](https://webchat.freenode.net/) #meteor jeśli potrzebujesz szybkiej odpowiedzi.
<% note do %>
### 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](http://nfarina.com/post/9868516270/git-is-simpler).
Jeśli jesteś początkujący użytkownikiem Git'a, polecamy również [GitHub dla Mac'a] (http://mac.github.com/), narzędzie które umożliwia klonowanie i zarządzanie repozytorium bez korzystania z linii poleceń.
<% end %>
### Kontakt
- Jeśli chciałbyś skontaktować się z nami, możesz wysłać do nas e-mail na adres [[email protected]](mailto:[email protected]).
- Ponadto, jeśli znalazłeś literówkę lub błąd w książce, daj nam znać poprzez [zamieszczenie błędu w tym repozytorium GitHub'a](https://github.com/DiscoverMeteor/book/issues).
- Jeśli masz problem z kodem aplikacji Microscope, możesz [zamieścić błąd w repozytorium Miscroscope](https://github.com/DiscoverMeteor/Microscope/issues).
- Na koniec, jeśli masz jakiekolwiek inne pytanie, możesz zostawić nam komentarz w panelu bocznym tej strony.