
מאת עופר זליג, מתכנת FullStack. בזמנו הפנוי מייעץ לחברות בתחומי Modern Web, Redis, Performance ועוד.
לפני כשנה החלטתי שזהו, אני מתחיל ללמוד AngularJS. הרצון ישב אצלי בראש ב-To Do מספר חודשים, ואז הגיע הפרויקט שנתן לי את הדחיפה לעשות את הצעדים הממשיים הראשונים. בפוסט זה אני רוצה לרכז מקבץ של המקורות שאני חושב שהם הכי מומלצים להתחיל ללמוד AngularJS.
היום, כשנה אחרי, אני נמצא בערך כאן בגרף המפורסם שמתאר את עקומת הלימוד האופיינית של AngularJS, ואני לומד דברים חדשים מדי יום ביומו:
צעדים ראשונים
למרות שישנם snippets בכל מקום אפשרי, אני בהחלט חושב שהדרך הרצויה ביותר ללמוד AngularJS היא דרך ספר מקיף, או קורס מקיף, רגיל או וידאו, שמלמד את AngularJS מההתחלה ועד הסוף (סוף הוא לאו דווקא הדברים המתקדמים ביותר ב-Internals של AngularJS, למרות שגם זה קיים. הכוונה יותר לכיסוי מתודי מהבסיס ועד ליישומים הנפוצים היותר מתקדמים שניתן לעשות ב-AngularJS).
פוסטים נקודתיים עושים עבודה מצוינת של drill-down לפיצ'רים מסוימים או להתגברות על מלכודות שכיחות יותר או פחות ב-AngularJS, אולם חשוב לדעתי כשמתחילים ללמוד AngularJS, לפנות לגישה המובנית יותר מבחינה מתודית, שבה לומדים מהבסיס ועד לחלקים המתקדמים.
ולמרות זאת, כדאי מאוד למי שמתחיל דרכו ב-AngularJS, או בכלל רוצה לראות מהו הקסם שכולם מתלהבים ממנו (ואם אתם באים מאחת מסביבות ה-Client MVC האחרות – כיצד נראים ההבדלים בין AngularJS לסביבה האחרת שאתם רגילים אליה) לצפות במספר Quickstarts והדגמות שיספקו טעימה לא רעה של AngularJS ו"ימפו לכם בראש" את תכולת הפריימוורק הזה לפני שאתם צוללים פנימה.
שבו בנחת, בבית או בעבודה, שימו אוזניות, נתקו עצמכם מהעולם לשעה (70 דקות ליתר דיוק) וצפו בוידאו הכל כך ברור ומקסים וקל להבנה הזה, שמספק הדגמה חיה ל-AngularJS. הוידאו הזה לבדו ייתן לכם תיאבון לרצות ללמוד AngularJS ומסמך ה-PDF המלווה/משלים אותו (התחיל כהעלאה על הכתב של הוידאו, ע"י Ian Smith) אשר מספק זוויות נוספות על החומר המוצג בוידאו ומומלץ לקרוא אותו בנוסף.
הוידאו המפורסם והאגדי של Dan Wahlin:
דף הבית של פרויקט AngularJS המציג הדגמות חיות של השימוש והיכולות של AngularJS, ברמת קושי עולה. אני ממליץ בתור התחלה להסתכל וללמוד רק את 2 הדוגמאות הראשונות מכיוון שאחריהן הדוגמאות הופכות כבר למורכבות מדי להבנה ללא לימוד מתודי כפי שתיארתי בתחילת הפוסט. אפשרי יהיה להבין אותן, אבל ה-"Reverse Engineering" שתעשו בראש עלול לבלבל יותר מדי. לכן, היצמדו רק ל-2 הדוגמאות הראשונות. תוכלו בכל זאת לרפרף על הדוגמאות הבאות בתור, רק כדי לקבל המחשה כמה נקי, קל וברור הקוד שכותבים ב-AngularJS, וכמה אלגנטי ה-Separation of concerns שלו (קוד, נתונים, תצוגה), אולם אל תנסו לראות בהן תחליף לתהליך לימוד מסודר יותר.
קורסי וידאו
ישנם כיום כנראה עשרות קורסים המלמדים AngularJS, אם לא יותר. כשאני התחלתי ללמוד AngularJS, צפיתי ב-2 הקורסים הבאים ב-PluralSight, עליהם אני ממליץ מאוד:
- AngularJS: Get Started
- למפתחי Dot Net ספציפית: AngularJS for .NET Developers
מאז שצפיתי בקורסים הללו (שהיו למיטב זכרוני היחידים ב-PluralSight בזמנו) PluralSight הרחיבו את אוצר הקורסים שלהם וכיום הוא מכיל הרבה יותר קורסים בנושא AngularJS. אני ממליץ שתראו את רשימת קורסי AngularJS של PluralSight ותתרשמו בעצמכם. כל קורסי PluralSight שלקחתי עד היום, במגוון נושאים, מעולים מבחינת הרמה, העריכה וההגשה.
ערוץ היוטיוב הרשמי של AngularJS, אשר מלא בתכני וידאו לרמות מתחילים ומתקדמים. באמת משובח. לא סתם חומר רשמי שזרקו שם רק כי "צריך שיהיה משהו" בערוץ הרשמי, אלא באמת תכנים טובים.
אתר לימוד נוסף המוקדש ל-AngularJS הוא egghead.io. תכני וידאו קצרים וממוקדים המקיפים נושאים שונים ב-AngularJS. כל אחד מהם באורך ממוצע של כ-5 דקות. כדי לצפות בכולם יש להצטרף כמנוי חודשי או שנתי, אולם רבים מהם זמינים לצפיה חינם.
גילוי נאות: אישית לא צפיתי בהם, פשוט כי בתהליך הלימוד שלי לא הזדמן לי להיתקל באתר זה, אולם אני בהחלט מתכוון לצפות בחומרים נקודתיים שנמצאים בו.
שוב – רבים מהתכנים זמינים גם ללא הצטרפות כמנוי, ובפרט אחד התכנים המומלצים ביותר באתר הנ"ל הוא הדף New to AngularJS? Start learning here - פוסט עשיר, מלא וסדור המכיל מראי מקום לתכני וידאו קצרים וקלים להבנה על כל הדברים הבסיסיים פלוס ב-AngularJS.
ספרים
Pro AngularJS – הספר המומלץ ביותר באמזון ע"י הקוראים נכון לכתיבת שורות אלו. אכן משובח.
Mastering Web Application Development with AngularJS – ספר שהיה מדורג במקום הראשון באמאזון בקטגוריית AngularJS כאשר קניתי אותו. מדובר בספר ברמה גבוהה מאוד, שאין ספק שנכתב ע"י מחבר בעל ידע מעמיק מאוד ב-AngularJS. מקיף בעיקרון הכל ב-AngularJS (הכל עד רמה גבוהה מסוימת של AngularJS כולל internals ונכון לגירסת AngularJS הזמינה בה הוא נכתב). אני עדיין ממליץ עליו בחום על אף הזמן שעבר, אולם ישנם מספר דברים שחשוב לזכור במידה ובוחרים בו:
הספר פורסם באוגוסט 2013 ולא עודכן מאז, נכון לזמן כתיבת שורות אלו. הרבה דברים התפתחו ב-AngularJS מאז.
בפרט, התעלמו מכל החלקים המדברים על ngRoute כיוון שמדובר במודול שיצא משימוש שוטף והוחלף ע"י מודול הרבה יותר מוצלח וחזק – ui-router.
כל נושא הטפסים (Forms) השתכלל מאוד, בפרט בגירסה 1.3. לימדו אותו מהספר כיוון שכל אבני הבניין המוצגים בו עדיין תקפים, אולם הקדישו לאחר מכן זמן ללימוד ההרחבות של Forms שהוצגו ב-Angular 1.3.
הסיבה שאני עדיין ממליץ על הספר הנ"ל למרות כל הסייגים היא שהוא מספק הבנה מעמיקה כיצד AngularJS פועלת מאחורי הקלעים. זוהי הבנה חשובה כיוון שלעתים קרובות היא תעזור לכם להימנע ממלכודות או להבין יותר טוב מדוע AngluarJS מתנהגת בצורה לא צפויה לעתים, ולגרום לכם לכתוב קוד יותר טוב.
האנשים שהכי כדאי לעקוב אחריהם בעולם ה-AngularJS
John Papa – ה-פרסונה בה"א הידיעה לכל מה שקשור ל-AngularJS. יש לו נוכחות חזקה ברשת במגוון נושאים בתחום AngularJS. הוא פירסם את ה-AngularJS Style Guide (שלאחר מכן קמו לו אלטרנטיבות), משתתף קבוע בהקלטות הפודקאסט Adventures in Angular (ר' בהמשך), פעיל בקהילת AngularJS כולל contributions לקוד של AngularJS עצמו ומרצה בחסד בכנסים. בעל בלוג המכיל מידע איכותי רב על AngularJS. אחת ההתמחויות שלו (אם כי לא הבלעדית) הינה פיתוח AngularJS על פלטפורמת Dot Net. הרצאה זו מכילה אוסף פנינים לגבי האספקטים היותר מעניינים/חשובים של פיתוח AngularJS עם Dot Net ואני ממליץ עליה בחום (צפיתי בה 3 פעמים!).
Dan Wahlin – מי שפירסם את וידאו ה-60-ish המפורסם שהזכרתי למעלה. בנוסף יצר קורס מעולה: AngularJS JumpStart (אני מקווה שהלינק עדיין יעבוד כשתקראו פוסט זה כיוון שהוא מאפשר לרכוש את הקורס ב-$40 במקום $160) ומתחזק בלוג בעל חלק נכבד המוקדש ל-AngularJS.
אייל ורדי – האושיה הישראלית בסצנת ה-AngularJS – מתמחה ב-AngularJS בשנתיים האחרונות לערך, מעביר קורסים למתחילים ולמתקדמים (בעברית – יתרון לשוק המקומי), מעלה מצגות מעניינות על AngularJS באופן תכוף כולל על נושאים מתקדמים מאוד ב-AngularJS. כדאי מאוד לעבור על האתר ng-course שאייל בנה, הנלווה לקורס שלו (אך זמין לצפיה והתנסות חופשית) המציג אספקטים שונים של AngularJS – בצורה חיה המאפשרת התנסות ישירה עם הקוד.
Newsletters ופודקאסטים
Adventures in Angular – ה-פודקאסט ל-AngularJS. נקודה.
ng-newsletter – ניוזלטר שבועי המכיל מקבץ של תכני AngularJS הכי טובים מרחבי הרשת.
נקודה אחרונה חביבה וחשובה:
התיעוד הרשמי של AngularJS פשוט מצוין. לא חייבים לגגל או לחפש פתרונות ב-Stack Overflow. בדרך כלל התיעוד הרשמי ייתן מענה ישיר, ברור וטוב. הוא מעודכן כל הזמן עד לגירסה הרשמית האחרונה, בניגוד למקורות אחרים שמתיישנים עם הזמן.
בהצלחה!
פוסט זה הוא תרגום לעברית של הפוסט Beginning AngularJS: Best Paths to Take, Recommended People & Resources to Follow שפורסם לראשונה בבלוג של עופר זליג.