-
Notifications
You must be signed in to change notification settings - Fork 2
/
01-introduction.md.erb
135 lines (86 loc) · 10.7 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
title: הקדמה
slug: introduction
date: 0001/01/01
number: 1
points: 1
photoUrl: http://www.flickr.com/photos/62303607@N00/7779436538/
photoAuthor: Richard
contents: נלמד מה מייחד את Meteor. |נקרא את הסיפור של ספר זה. |נלמד כיצד ספר זה מאורגן.
paragraphs: 35
---
עשו ניסוי מנטלי קטן בשבילי. <br>
דמיינו שאתם פותחים את אותה תיקייה בשני חלונות שונים במחשב שלכם.
עכשיו, הקליקו באחד משני החלונות ומחקו קובץ אחד.<br>
האם הקובץ נעלם גם מהחלון השני?
אתם לא באמת צריכים לעשות צעדים אלה כדי לדעת שזה קורה.<br>
כאשר אנו משנים משהו בספריית הקבצים במחשב שלנו,<br>
השינוי מיושם בכל מקום ללא צורך בעדכון או קריאות בחזרה. זה פשוט קורה.
אולם, בוא נחשוב איך אותו תהליך היה מתבצע באינטרנט.<br>
למשל, בוא נאמר שפתחנו את אותו אתר WordPress, בתור מנהל האתר,<br>
בשני חלונות דפדפן שונים, ואז יצרנו פרסום חדש באחד מחלונות אלו.<br>
להבדיל ממה שקורה במחשב שלנו, לא משנה כמה נחכה, החלון השני לא יישקף את השינוי שעשינו אלא אם כן נרענן אותו.
במהלך השנים, התרגלנו לרעיון שאתר הוא משהו שאנו מתקשרים איתו בפרצים קצרים ונפרדים.
אולם Meteor היא חלק מגל חדש של תשתיות וטכנולוגיות שבאות לאתגר את המצב הקיים באמצעות הפיכת האינטרנט לדבר המגיב בזמן אמת.
### מה זה Meteor?
Meteor היא פלטפורמה שבנויה מעל Node.js ומיועדת לבניה של אפליקציות זמן אמת באינטרנט.<br>
היא מה שיושב בין מאגר הנתונים של האפליקציה שלך וממשק המשתמש, ומוודאה ששניהם מסונכרנים.
מאחר שהיא בנויה מעל Meteor, Node.js משתמשת ב- JavaScript הן בצד הלקוח והן בצד השרת.
יתרה מזאת, Meteor אף מסוגלת לשתף קוד בין שתי סביבות אלה.
התוצאה של כל זה היא פלטפורמה שמצליחה להיות מאוד חזקה ומאוד פשוטה באמצעות הפשטה של רבים מהמכשולים וההצקות הרגילים של פיתוח אפליקציות אינטרנט.
### למה Meteor?
אז למה לנו להשקיע זמן בללמוד את Meteor במקום תשתית פיתוח אחרת לאינטרנט?<br>
גם אם נשאיר בצד את כל היכולות הנרחבות של Meteor,<br>אנחנו מאמינים שזה מסתכם בדבר אחד: Meteor קלה ללמידה.
יותר מכל תשתית אחרת, Meteor מאפשרת לייצר ולהריץ אפליקציית זמן אמת באינטרנט בתוך עניין של שעות אחדות,
ואם פיתחתם קוד צד לקוח בעבר,<br>אתם כבר מכירים JavaScript ואפילו לא תצטרכו ללמוד שפה חדשה.
Meteor עשויה להיות התשתית האידאלית לצרכים שלכם, או שלא.<br>
אבל מכיון שאתם יכולים להתחיל תוך כמה ערבים או סוף שבוע, למה לא תנסו ותגלו בעצמכם?
### מדוע ספר זה?
במהלך ששת החודשים האחרונים, עבדנו על [Telescope](http://telesc.pe), אפליקציית Meteor בקוד פתוח שמאפשרת לכל אחד לייצר לעצמו אתר חדשות חברתיות (כדוגמת [Reddit](http://reddit.com) או [Hacker news](http://news.ycombinator.com)),<br>
מקום שבו אנשים יכולים להוסיף קישורים ולהצביע עבורם.
למדנו המון תוך כדי בניית האפליקציה, אבל זה לא תמיד היה פשוט למצוא תשובות לשאלות שלנו.
היינו צריכים לאסוף יחד פיסות מידע ממקורות שונים רבים, ובמקרים רבים אפילו להמציא פתרונות משל עצמנו.<br>
בספר זה, רצינו לשתף בכל מה שלמדנו, וליצור מדריך צעד-אחר-צעד פשוט, שילווה אתכם בדרך לבניית אפליקציה שלמה, מאפס.
האפליקציה שאנו בונים היא גרסה מעט מופשטת של Telescope, אותה אנו מכנים Microscope. <br>
בזמן שנבנה אותה, נתייחס לכל המרכיבים השונים שנכנסים לתוך בניית אפליקציית Meteor, כגון חשבונות משתמשים, Meteor collections (אוספים), routing (ניתוב), ועוד.
וכאשר תסיימו לקרוא את הספר, אם תרצו להמשיך הלאה, תהייו מסוגלים להבין בקלות את הקוד של Telescope, מאחר והוא מיישם את אותם דפוסים.
### למי ספר זה מיועד?
אחת המטרות שלנו בזמן כתיבת הספר היתה לשמור על הדברים נגישים וקלים להבנה,
כך שתהיו מסוגלים לעקוב אפילו אם אין לכם כל נסיון עם Node.js , Meteor , תשתיות MVC, או אפילו תכנות צד שרת כללי.
מצד שני, אנו כן מניחים שיש לכם הכרות עם מושגים בסיסיים ותחביר בסיסי של JavaScript. <br>
בכל מקרה, אם יצא לכם להתעסק קצת עם jQuery או לשחק קצת עם כלי הפיתוח של הדפדפן, אתם אמורים להיות בסדר.
### על המחברים
במידה ותהיתם מי אנחנו ולמה כדאי לכם לתתן בנו אמון, הנה קצת רקע נוסף על כל אחד מאיתנו.
<%= image "tom-photo.jpg", "portrait" %>
**טום קולמן** הוא חלק אחד של [Percolate Studio](http://percolatestudio.com/), חברת פיתוח ווב עם פוקוס על איכות וחווית משתמש. הוא אחד מהתורמים ל [Atmosphere](http://atmosphere.meteor.com), מאגר התוספים הקודם של Meteor, והוא גם אחד מהמוחות מאחורי הרבה פרויקטים נוספים של קוד פתוח ב-Meteor (כגון [Iron Router](https://github.com/EventedMind/iron-router)).
<%= image "sacha-photo.jpg", "portrait" %>
**סצה גרייף** עבד עם סטארטאפים כגון [Hipmunk](http://hipmunk.com) ו- [RubyMotion](http://rubymotion.com) בתור מעצב מוצר ו-ווב. הוא היוצר של [Telescope](http://telesc.pe) ו- [Sidebar](http://sidebar.io) (אשר מבוסס על Telescope), והוא גם המייסד של [Folyo](http://folyo.me).
### פרקים ותפריטי צד
רצינו שספר זה יהיה שימושי גם למשתמשי Meteor מתחילים וגם למתכנתים מנוסים, אז פיצלנו את הפרקים לשתי קטגוריות: <br>פרקים רגילים (ממוספרים מ- 1 עד 14) ותפריטי צד (ממוספרים בחצאי מספרים 5.).
הפרקים הרגילים יובילו אתכם דרך בניית האפליקציה, וינסו להביא אתכם למצב פעיל בהקדם האפשרי על ידי הסבר של השלבים הכי חשובים, בלי להעמיס עליכם יותר מדיי מידע.
מצד שני, תפריטי הצד יעמיקו לתוך המורכבויות של Meteor, ויעזרו לכם להבין טוב יותר מה באמת קורה מאחורי הקלעים.
אז אם אתם מתחילים, תרגישו חופשי לדלג על תפריטי הצד בקריאה הראשונה, ותחזרו אליהם מאוחר יותר לאחר ששיחקתם קצת עם Meteor.
### גרסאות קוד
אין דבר גרוע יותר מלעקוב אחר ספר תכנות ואז לגלות פתאום שהקוד שלכם יצא מסנכרון עם הדוגמאות וששום דבר כבר לא עובד כמו שצריך.
כדי למנוע זאת, הקמנו [מאגר GitHub עבור Microscope](https://github.com/DiscoverMeteor/Microscope), וגם נספק קישורים ישירים ל- git commits בכל כמה שינויי קוד.<br>
בנוסף, כל commit גם מקשר למופע חי של האפליקציה בנקודה ספציפית זאת כך שתוכלו להשוות אותה לגרסה המקומית שלכם.<br>
הנה דוגמא לאיך שזה ייראה:
<%= commit "11-2", "הצגת התראות בכותרת." %>
שימו לב: רק בגלל שאנחנו מספקים commit-ים אלה, זה לא אומר שאתם אמורים לקפוץ<br>
מ- `git checkout` אחד לשני.<br>
תלמדו הרבה יותר אם תקדישו את הזמן להקליד בעצמכם את הקוד של האפליקציה שלכם!
### מקורות נוספים
אם אי פעם תרצו ללמוד יותר על היבט מסוים של Meteor, ה- [תיעוד הרשמי של Meteor](http://docs.meteor.com/) הוא המקום הטוב ביותר להתחיל.
אנחנו ממליצים גם על [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor) לבעיות ושאלות, וה- [IRC channel](https://webchat.freenode.net/) #meteor אם אתם צריכים עזרה מקוונת.
<% note do %>
### האם אני צריך Git?
בעוד שהכרות עם ניהול גרסאות של Git אינה חובה על מנת לעקוב אחר ספר זה, אנו ממליצים על כך מאוד.
אם אתם רוצים להשלים מהר את החסר בנושא זה, אנו ממליצים על המאמר של Nick Farina<br>
[Git פשוט יותר ממה שאתם חושבים](http://nfarina.com/post/9868516270/git-is-simpler).
אם אתם מתחילים ב- Git, אנחנו גם ממליצים על אפליקציית [GitHub ל- Mac](http://mac.github.com/), אשר מאפשרת לכם לשכפל ולנהל את המאגרים שלכם באמצעות שימוש בשורת הפקודה.
<% end %>
### יצירת קשר
- אם אתם רוצים ליצור איתנו קשר, אתם יכולים לשלוח לנו מייל (באנגלית) ל- [[email protected]](mailto:[email protected]).
- בנוסף, אם אתם מוצאים שגיאת כתיב או כל שגיאה אחרת בתוכן של הספר, אתם יכולים [לפתוח תקלה במאגר GitHub זה](https://github.com/DiscoverMeteor/book/issues).
- אם יש לכם בעיה עם הקוד של Microscope, אתם יכולים [לפתוח תקלה במאגר של Microscope](https://github.com/DiscoverMeteor/Microscope/issues).
- לסיום, לכל שאלה אחרת, אתם יכולים גם להשאיר לנו הערה בתפריט הצד באתר זה.