האוגר הכי לוהט בעיר: למה התאהבתי ב-Ember [פיתוח]

החיזור, הרומן ומערכת היחסים המוצלחת שלי עם Ember

מאת ניר אלבז

כבר שנים שאני מפלרטט עם Ember, מציץ בבלוג מדי פעם כדי להתעדכן בחידושים, מנסה ללמוד כל פעם חלק אחר של ה-framework בעזרת הדוקומנטציה שבאתר ואפילו כתבתי איזו אפליקציה קטנה או שתיים, אבל זה אף פעם לא המריא מעבר לכך. הסיבות לכך היו מגוונות: הדוקומנטציה שהייתה בעבר לא ברורה ולא ידידותית למשתמש, גישת הפיתוח ה-״Ember-ית״ השונה ממה שהכרתי ועבדתי עד לאותו שלב, ואולי מעל לכל – העובדה שהפרויקטים בחברות שעבדתי בהן, היו כבר מגובשים מבחינת ארכיטקטורה ולא היה צורך, או נכונות, לעשות מהפיכה ולהטמיע framework חדש.

אלא שלפני מספר חודשים כל זה השתנה כשהצטרפתי לסטארטאפ בתחום התיירות בשם Splitty, שרק החל את דרכו והמוצר טרם פותח. כמפתח, אני יכול להעיד שזה אחד השלבים המאתגרים והמספקים ביותר במחזור החיים של חברת מוצר, בייחוד כשעושים את הדרך עם צוות חזק; הריק הטכנולוגי מאפשר מרחב פעולה אדיר, אפשרויות המימוש הן כמעט בלתי מוגבלות, הרבה בזכות העובדה שלא קיימת תלות במורשת טכנולוגית, כמו שקורה פעמים רבות כשעובדים על מוצר קיים.

כחלק משלב תכנון ארכיטקטורת המערכת, גיבשנו רשימת כלים, ספריות ו-frameworks לצד שרת ולקוח, בהם נרצה להשתמש לטובת הפיתוח. ה-frameworks/libraries עבור צד הלקוח אשר עלו לשלב הגמר היו: Angular, React, Vue ו-Ember. עם Angular (גרסה 1) עבדתי לא מעט בשנים קודמות, צברתי קילומטרז' נאה בפיתוח והתמודדתי עם אתגרים שאילצו אותי לצלול לקרביים של framework זה. הסיבה למה React נכנסה לרשימה די ברורה; כל מפתח תוכנה שחי על כדור הארץ בשנים האחרונות בוודאי נחשף לספריה הזו. כל פינה שתזרקו אליה אבן, סביר להניח שתפגעו בכמה FEDs באמצע meetup על React, בעיניי – לא מעט מפני שגם היא, כמו Angular, זוכה ליחסי ציבור חסרי תקדים מתוקף ״הייחוס המשפחתי״ (צריך להודות שיש משהו מרגיע פסיכולוגית בעובדה שמשתמשים באותם הכלים שנוצרו ע״י חברת תוכנה עולמית עם צבא של מפתחי תוכנה). הניסיון שלי עם React לא היה מקיף כמו עם Angular והסתכם בכמה פרויקטים לשימוש עצמי בעיקר, אבל דרך הפרויקטים האלה נחשפתי לעקרונות המרכזיים של הספרייה.

Vue היא שחקנית חדשה יחסית, לפחות הייתה באותה תקופה מדוברת, שהפופולריות וההתקדמות המרשימה שעשתה עד כה, מעידות מבחינתי שה-Framework נכנס לרשימה בזכות ולא בחסד. עם Vue יצא לי לפתח לא מעט, אבל בעיקר פרויקטים קטנים עבור hybrid mobile apps, chrome extensions ו- web apps לשם השעשוע ושימוש עצמי. כמי שהתנסה ב-Angular ומעט ב-React, תחילת העבודה עם Vue הייתה ממש כמו הליכה בפארק (תרגום גרוע, אני יודע). נראה כי המפתח של ה-framework הושפע מהן מאוד כשתכנן ויצר אותו. אני חייב להודות ש-Vue היא עדיין בחירת ברירת המחדל שלי בכל פעם שאני מתחיל לעבוד על מיני-פרויקט חדש.

ויש את Ember.

כדי שאוכל לבחור בצורה מושכלת את המועמד המוביל שלי עבור mv* framework צד לקוח ל-Splitty, הקדשתי זמן מחקר להשלמת פערים ולימוד מעמיק יותר של Ember, שבגרסה 2 שלה התפתחה והשתנתה מאוד ממה שהכרתי קודם. קראתי את הדוקומנטציה שהשתפרה בצורה משמעותית, עברתי על המדריך למשתמש מספר פעמים וחפרתי קצת ב-Source Code, כדי להבין טוב יותר נושאים בהם הדוקומנטציה לא הייתה ברורה מספיק או חסרה (במאמר מוסגר אציין שהמקור הטוב ביותר ללימוד Angular, מבחינתי לפחות, היה ה-source code שלה ולא אף אחד ממאות ה-tutorials שנתקלתי בהם ברשת).

אמ;לק – בתום שלב המחקר, היה לי ברור שזהו ה-framework בו ארצה להשתמש בפרויקט הנוכחי, ולמי שמעוניין בגרסה המלאה – בחלק הבא אפרט את הסיבות העיקריות שהובילו אותי למסקנה זו (הסדר רנדומלי).

פרודוקטיביות

חלק מה-setup של כל פרויקט בקנה מידה גדול (״שאפתני״ לפי Ember) הוא שלב הבחירה וההגדרה של ה-ecosystem: כלי linting, bundling, deployment ועוד. אומנם לכל framework אפשר לשדך ecosystem מלא ומכובד, אבל בייחוד בסטארטאפ, פקטור הזמן הינו קריטי, ומבחינתי – ההתעסקות במשימה זו היא בגדר רוטינה שואבת זמן ונוגדת עיקרון DRY. יתרונה של Ember הוא בכך שהיא מגיעה עם כל הכלים הדרושים לפרויקט בקנה מידה שכזה out-of-the-box, מאלה שציינתי בפסקה הקודמת דרך מנוע תבניות, שרת פיתוח עם live reload מובנה ועד לסביבת בדיקות מלאה, כשכל החלקים מנגנים יחד בצורה מושלמת.

Ember הייתה הראשונה מבין ה-frameworks צד לקוח להציע CLI, המאפשר באמצעות פקודות Terminal פשוטות לפרוס שלד עבור אפליקציה חדשה, להריץ שרת פיתוח מקומי, לארוז את הפרויקט לפני התקנה ואפילו generators של תבניות קוד מוכנות עבור routes, components, services ועוד אבני בניין מרכזיות, ובכך חוסכת למפתח זמן יקר שמתועל לעיקר – לפיתוח.

ביצועים

זהו סעיף מעט ״טריקי״, מכיוון שעל כל benchmark שתמצאו ברשת המשווה ביצועים בין frameworks שונים, תמצאו אחד אחר שמראה תוצאות הפוכות. לרוב גם מדובר בהשוואות נאיביות שבודקות מימוש בסיסי ולא מכלול שלם של פעילות אתר. אז איך כן בודקים ביצועים?

  • קודם כל – עושים נסיעת מבחן לצורך התרשמות. ממש ככה. מממשים דף לדוגמה המכיל את כל האלמנטים העיקריים בדף web סטנדרטי: משיכת מידע מ-API, מניפולציה על המידע, data binding וכו', ובודקים האם זמני הביצוע מספקים וטעינה של דף לא חורג מכ-2 שניות.
  • מעבר לכך, התעמקות והבנה של איך עובד ה- framework מתחת למכסה המנוע, יספקו גם הם רמזים לביצועים בפועל. דוגמה אחת לכך הייתה בדיקה שעשיתי לגבי כיצד מתבצעים עדכוני ערכים ב- ViewModel, זאת מתוך ההיכרות שלי Angular, שם אחד הנושאים הכואבים שפגעו בביצועים היה מנגנון ה-dirty checking. ב- Ember, המנגנון עובד בגישת key-value observing, המיידע אובייקטים שנרשמו על שינויים שבוצעו בערכים. המחיר של הגישה הזו הוא זיכרון, בניגון ל- Angular, שם המנגנון נשען על ה- CPU ולכן הפגיעה בביצועים לרוב מורגשת. ואפרופו זיכרון, דוגמה נוספת הייתה המחקר כיצד מתבצע cleanup של אובייקטים ומאזינים שכבר לא בשימוש, נושא חשוב בכלל ובאפליקציות SPA בפרט. מעבר לעובדה ש- Ember מטפלת באופן אוטומטי בניהול הזיכרון של כל הרכיבים המובנים, כל רכיב חושף hooks שחלקם יכולים לשמש את המפתח לטובת cleanup עצמאי לרכיבי 3rd party בפרויקט.
  • אחד הקונספטים המעניינים ב-React הוא ה-Virtual DOM, המשפר ביצועים על ידי ניהול שינויים ב- DOM בסביבה אלטרנטיבית, לפני rendering של התוצאה הסופית בדפדפן. Ember משלבת מנגנון דומה תחת השם Glimmer, ששיפר את הביצועים בסדר גודל של פי 10 מגרסאות ישנות בהן המנגנון לא היה קיים. Glimmer 2 שולב לאחרונה בגרסת Alpha ויש טענה שהביצועים אף טובים יותר מאלה של React.
  • בהמשך לסעיף קודם, עוד פיצ׳ר ראוי שקיים ב- React הוא ה-Server Side Rendering, אשר במקום לשלוח לדפדפן תבנית ורק לאחר מכן לטעון לתוכה נתונים בקריאת AJAX נוספת, מאפשר לשלוח את הדף במלואו, ולאחר ממכן להמשיך לטעון תבניות ומידע במוד SPA סטנדרטי, ובכך לקצר את זמן ההמתנה (ועל הדרך גם את ה- SEO של האתר, כביכול. למה כביכול? מכיוון שמנגנוני הסריקה של גוגל יודעים היום גם להתמודד עם אתרי מבוססי AJAX). גם ל-Ember יש יכולת דומה שכרגע זמינה כ-addon בשם FastBoot, אם כי יש לציין שהוא עדיין לא בגדר של plug & play ודורש מעט שינויים בקוד.

דוקומנטציה

אפשר למצוא לא מעט tutorials ברשת, חלקם ממש טובים, שנכתבו על-ידי מפתחים. אבל לדוקומנטציה יש משקל אחר, ומבחינתי היא מעין חוזה עבודה ביני לבין ה- framework, דרכו אני יודע מה אפשר ומה אי אפשר לעשות באמצעותו ואיך. כפי שכבר ציינתי, הדוקומנטציה של Ember עשתה קפיצת מדרגה בגרסאות האחרונות, ומעבר לדפי ההסבר של ה-API המסודרים לפי תתי-פרויקטים ומחלקות לכל גרסה בנפרד, מציעה גם מדריך למשתמש הסוקר את כל אבני הבניין של השפה והאספקטים המרכזיים בה בצורה מובנית וברורה. שני אלה בלבד מספיקים כדי לתת למפתח את ההבנה הדרושה לתחילת עבודה, לצלול לפרויקט קיים ולהתחיל לתת תפוקות.

יציבות וניהול גרסאות

ניהול הגרסאות ב-Ember מבוסס על סכמת SemVer, מה שעוזר למפתח להבחין לפי מספר הגרסה בלבד בין שדרוג גרסה ״קל״ ל- ״כבד״ – כזה שיגרום לפרויקט "להישבר" ויחייב שינויים בקוד. גרסה חדשה (minor) משוחררת כל 6 שבועות, כאשר החל מגרסה 2.4, Ember החלה לשחרר גרסת LTS כל גרסה חמישית, למי שמעדיף יציבות ומינימום שדרוגים. תהליך הפצה סדור שכזה מעיד על בשלות ומחויבות להמשך פיתוח, לקידום והעשרה של יכולות ה- framework ומאפשרות למפתח לתכנן את לו״ז השדרוגים מראש.

לו״ז שחרורי גרסאות לדוגמה (קרדיט: http://emberjs.com)

תמיכה בדפדפנים

כשעובדים על מוצר לקהל הרחב, קשת הדפדפנים בהם יש לתמוך צריכה להיות רחבה ככל האפשר, כדי לא לאבד לקוחות פוטנציאליים. Ember תומכת בכל הדפדפנים הפופולריים וב- IE מגרסה 9 ומעלה (ארגונים המחפשים תמיכה ב- IE 8, יאלצו לעבוד עם גרסה 1.13).

חפיפה מהירה

לעובד חדש שמצטרף לצוות הפיתוח הראשוני בסטארט-אפ, לא קיימת לרוב הפריבילגיה לתהליך חפיפה ארוך, והוא נדרש לצלול לתוך הקוד ולתת תפוקות באופן מיידי. אחד היתרונות הגדולים של Ember לעומת frameworks אחרים, הוא בכך שהיא מאוד opinionated, וכן – זהו יתרון גדול, בטח בהקשר לסעיף זה, שכן כש- framework חד וברור מספיק מבחינת ההנחיות של כיצד דברים צריכים להיעשות, זה מצמצם את האינטרפרטציה האישית במימוש של כל מפתח ומפתח, מה שבד"כ מוביל לכך שדפים שונים בפרויקט המתוחזק ע״י צוות של מפתחים, נראים כאילו נכתבו בשפות או בכלים שונים, דבר המקשה על כניסה של מפתח לקוד שנכתב ע״י מפתח אחר. חוויתי את התופעה הזו עם Angular במקום העבודה הקודם שלי, שם כל FED שגויס עם ניסיון ב- Angular, היה צריך לעבור הכשרה באושב״ע (Angular שבעל-פה), למרות הידע הקיים. עם Ember, כל מפתח בעל היכרות עם ה- framework יוכל להיכנס בקלות ובמהירות לקוד של פרויקט אחר, בזכות העובדה שמבנה הפרויקט ותפקידי אבניי הבניין בו הם קבועים וברורים. אפשר ללמוד לא מעט מכלים הנתפסים כ- opinionated, ואני ממליץ בחום לא לפסול אותם מראש רק בגלל שהם כאלה, אלא לבחון אותם ואת האנשים שעיצבו אותם בעין מקצועית.

הרחבות

framework טוב אמור לספק תשתית בסיסית לפיתוח ובנוסף – לחשוף API המאפשר הרחבת התשתית בהתאם לצרכים מיוחדים שעולים בכל פרויקט. Ember מספקת תשתית הרחבות הנקראת Ember Addons, המאפשרת לארוז פונקציונליות לטובת שימוש חוזר בפרויקטים אחרים. ה- addons הם למעשה npm packages שניתנים להתקנה ע״י פקודת ה- CLI: ember install, המשלבים קטעי קוד, blueprints ומניפולציות של רשימת התלויות של הפרויקט. סוגי ה- addons מגוונים ונעים מרכיבי UI כגון רכיבי טפסים, גרפים וגלריות דרך הוספת תמיכה ב- SASS ועד לרכיבים תשתיתיים כגון auth, deployment לניהול sessions ועוד. יש כמה אתרים המשמשים כ- repos עבור אותם addons, המספקים מידע כללי ודירוג אובייקטיבי. אחד הפופולריים בהם הוא Ember Observer.

חדשנות ואימוץ סטנדרטים

על אף היתרונות הברורים בכך, עבודה אינטנסיבית עם framework עלולה לגבות מחיר יקר בגין ניתוק מ- ״שפת האם״, במקרה שלנו JavaScript, וזאת כתוצאה מהיצמדות ל-DSL של אותו framework. רמת ידע נאותה ושליטה ב-vanilla JavaScript הכרחית, גם מכיוון שככל הנראה לא לנצח נעבוד עם אותו framework, גם ליכולת להיות וורסטיליים ולתמוך בפרויקטים הממומשים באמצעות כלים שונים ולא פחות חשוב – כדי לדעת לנתח קוד ולהבין כיצד אותם frameworks עובדים מתחת למכסה המנוע. לכן, היה חשוב לי שהפערים בין ה- syntax של ה- framework לזה של vanilla JavaScript יהיו מינימליים ככל האפשר. לשמחתי, Ember לא עיוותה את JavaScript כשגיבשה לעצמה DSL, להיפך; כתיבת קוד ב- Ember מרגישה מאוד טבעית למפתחי JavaScript. יתרה מזו – Ember תומכת בפיצ׳רים רבים מתוך ES6/ES2015 הודות לשילוב Babel כ-addon מובנה ב-framework, ואבני הבניין בה הם JavaScript modules לכל דבר.

Ember הייתה גם בין הראשונות לאמץ סטנדרטים רבים, כגון promises ,web components ועוד, הרבה בזכות העובדה שהאבות המייסדים שלה חברים פעילים בוועדות תקינה הקובעות את עתידן של טכנולוגיות הפיתוח באינטרנט. בנוסף, צוות הפיתוח של Ember משלב כל הזמן פיצ׳רים, חלקם לפי בקשת הקהילה, שנועדו לקידום ה-framework מבחינת יכולות, ביצועים ונוחות פיתוח, כמו למשל ה-Server Side Rendering עליו פירטתי בסעיף ביצועים.

ותק

רשמית, Ember (או Amber, כפי שכונתה לשבוע בלבד) הושקה בדצמבר 2011 כ-fork מתוך framework אחר בשם SproutCore, שנוצר עוד ב-2007 ונהנה מתמיכתה של אפל, אשר עשתה בו שימוש נרחב בפרויקטי web רבים שלה. ותק של כמעט עשור יכול להעיד על בגרות ויציבות.

דף מתוך האתר של ספליטי אשר נבנה עם Ember. האתר מציע עסקאות מוזלות של מלונות ומתוכנן לתמוך בעשרות אלפי כניסות של משתמשים מכל העולם

היום, כמה חודשים אחרי שהתחלנו לפתח את המוצר, אני יכול להגיד בביטחון מלא שהבחירה ב-Ember הייתה טובה ונכונה לנו. ה-framework תרם רבות לפיתוח אתר מורכב בזמן קצר יחסית, תוך שמירה על מבנה, יציבות וביצועים ואף לשדך לו מערכת back-office תוך שלושה ימים בלבד בזכות code reuse של כ-80% מתוך האתר הראשי. בנוסף, הוא סייע לאנשי ה-backend שבינינו להתמצא בקוד ולבצע משימות frontend די בקלות. אני באופן אישי נהנה מאוד לפתח באמצעותו ולומד לא מעט מה-source code ומהארכיטקטורה של ה-framework. אבל האם זהו ה-framework האולטימטיבי? התשובה היא לא בהכרח.

בסופו של דבר זהו עוד כלי שימושי בארגז הכלים שלנו כמפתחים, וכמו כל כלי – יש דברים שהוא עושה יותר טוב מאחרים ויש דברים שפחות. החכמה היא לדעת לבחור את הכלי הנכון והמתאים למשימה בהינתן הפרמטרים המכתיבים, כגון: גודל הצוות ורמת המקצועיות שלו, אופי הפרויקט, לוחות הזמנים, קהל היעד של הפרויקט ועוד. מעבר לפרמטרים האמפיריים, במקרים של ״תיקו״ בהשוואה בין כלי פיתוח, לפעמים זה אפילו יכול להיות עניין של ״קליק״ שיש עם אחת האופציות כדי להכריע את הכף. ״אם יוצאים מגיעים למקומות נפלאים״ כתב ד״ר סוס, ובהשאלה – תור הזהב של תכנות צד לקוח הביא לעושר אדיר של כלי פיתוח; במקום להתקבע על המוכר או ללכת אחרי העדר באופן עיוור, כדאי להעז ולצאת מאזור הנוחות, לאתגר את עצמנו ולשאוף להעשיר את ארגז הכלים שלנו, מה שיהפוך אותנו בסופו של דבר לאנשי מקצוע טובים יותר.

הכותב הינו ארכיטקט Client בחברת Splitty Travel

כתב אורח

אנחנו מארחים מפעם לפעם כותבים טכנולוגים אורחים, המפרסמים כתבות בתחומי התמחות שלהם. במידה ואתם מעוניינים לפרסם פוסט בשמכם, פנו אלינו באמצעות טופס יצירת קשר באתר.

הגב

27 Comments on "האוגר הכי לוהט בעיר: למה התאהבתי ב-Ember [פיתוח]"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
אלעד
Guest

כתבה טובה מאוד. עשתה לי חשק לנסות אותו.
תיקון קל לגבי SEO – למרות שלגוגל מנוע שיודע להריץ javascript. האתר יקבל ניקוד יותר גבוה אם ידע לשרת גם דפדפנים שלא יודעים להריץ javascript. (בפועל גוגל מריצה שני מנועים על האתר שלך האחד שמושך בצורה סטטית והשני שמריץ javascript ובודקת שהתוכן זהה בניהם)

ניר
Guest

תודה אלעד, בהחלט שווה ניסיון!
תודה גם על ההערה.

מגיב
Guest

Aurelia. אין מה לחפש דבר אחר.

David Weinberg
Guest

כל כך נכון. משתמש ונהנה.

ניר
Guest

אין ספק ש Aurelia מעניינת :) אבל היא בגדר של bleeding edge מבחינתי, מה שפחות מתאים לפרויקט של חברה בתחילת הדרך שחייבת למזער "רעשים" וסיכונים כדי להגיע ליעד בהקדם. לעומת זאת, לפרויקט האישי הבא שלי אשמח להתנסות גם בה.

Yury
Guest

ניר תודה רבה על הסקירה המקיפה,
על פניו אכן נשמע פריימוורק ראוי ששווה סיבוב =)

ניר
Guest

תודה יורי!

Alon
Guest

Vue.js 2 נותנת את כל מה שתיארת ואף יותר. כמו כן מוסיפים את nuxt.js ויש לך רנדור ראשוני בצד שרת ללא כל מאמץ.

ניר
Guest

שלום אלון,
כפי שכתבתי, אני בעצמי מעריץ נלהב של Vue ועטשה בה שימוש. אולם בתקופה המדוברת הרבה יכולות שתוארו כאן היו חסרות ב Vue. כמו כן, ל- Ember יש יתרון מובהק בותק ובצוות הפיתוח, שיקול חשוב כשמנסים למזער סיכונים.

ליעד
Guest

כתבה מעמיקה ומעניינת. בתור מפתח צעיר בJS, שנה וקצת, עוד לא יצא לי לעבוד עם Vue/Ember. אבל זה בהחלט הולך להשתנות בזמן הקרוב!

ניר
Guest

שלום ליעד,
מצוין, אני חושב שכמפתח בתחילת הדרך, Ember יכולה להקנות לך הרגלי פיתוח טובים וקפיצת מדרגה בידע ובהבנה של ארכיטקטורה של Framework.
בהצלחה!

יוני
Guest

Ember הפריימוורק האהוב עלי.
בעבר היה מאבק בין אנגולר1 לאמבר1.
אמבר היום בגרסא 2 המעולה, והשדרוג היה פשוט ומיידי.
לעומת זאת כל מי שרוצה לעבור לאנגולר2 דיי אכל אותה.
לדעתי זה אחד הדברים החשובים בבחירת פריימוורק, שידע להתפתח עם הזמן תוך התחשבות בקהילה שלו.

ניר
Guest

מסכים בהחלט, יוני.
גם אני חוויתי את התחושה הזו כשרק התחילו לדבר על Angular 2 (למרות שנראה שהם הפיקו לקחים וממשיכים לגבש הליך שדרוג שפוי יחסית למשתמשי Angular 2). לא יצא לי להתקל עדיין ב Framework שהמשתמשים שלו הם בעלי מניות ודעה לכל דבר ועניין כמו ב- Ember.

Tom
Guest

פריימוורק מדהים נוח ואינטואטיבי
ככל שמתקדם הפיתוח על פפרויקט בעם סנייה נכונה נוצר מצב שעם reuse של קוד דפים ואשיות חדשות נוצרות בזריזות.
חוץ מזה גם הסביבה מגיעה עם סביבה נוחה לכתיבת טסטים

ניר
Guest

מסכים :) כמו שכתבתי – אנחנו בנינו את ה backoffice של האתר בימים ספורים בלבד, בזכות ה reuse הכל כך נוח ש Ember מציעה – drag & drop של קובץ והפונקציונליות זמינה לך בפרויקט החדש.

שאול מזור
Guest

יתכן וכל הנאמר נכון, אבל כוחות השוק הם הקובעים וכרגע (וזה לא ישתנה בעתיד הקרוב) ישנה העדפה ברורה לטובת אנגולר. רק מטעם זה לא הייתי קופץ על העגלה הזאת

Anton Sko
Guest

כתבה מצויינת של מפתח ומנהל מוכשר, ניר עשית לי חשק לכתוב משהו ב-JavaScript
בהצלחה ל-Splitty!

ניר
Guest

תודה רבה אנטון!
לך על זה וספר לי איך הלך במפגש הבא על רוטשילד ;)

דביר
Guest
מאמר מעולה! באמת עשית לי חשק לחרוש את ember. בכל אופן לא ברור לי אם כדאי להתחיל לעבוד ישר עם ember2 או לנסות את 1 גם כן. בתור אחד שעבד המון עם angular1 וקפץ ל react השינוי היה גדול.אני מניח שגם ember די דומה לארכיטקטורות של ה frameworks המובילים. לגבי seo עולה הרבה פעמים השאלה מה הכי כדאי לעשות… בכל אופן למרות הטענות שגוגל מריץ js אני עדיין נתקל בתוצאות חיפוש של אתרים שנבנו ב angular1 שהתוכן שלהם מכיל הרבה מה source code וזה נראה גרוע. אז אני חושב שחובה להשתמש ב render נכון לכרגע. מה שמוזר לי שבטוויטר אני… Read more »
ניר
Guest
תודה רבה, דביר! אין ספק שלמי שמעוניין להתחיל לעבוד ולהכיר את Ember, גרסה 2 היא הבחירה הנכונה. מעבר לעובדה שאתה מתיישר עם הגרסה הרישמית, רוב ה- tutorials והמאמרים שתתקל בהם מבוססים על גרסה 2, פיצ׳רים מתקדמים ומותאמים לסטנדרטים כיום בעולם הפיתוח ועוד.ֿ לגבי SEO – אני יכול להגיד לך שגוגל סורקת בדיוק מקסימלי את האתר הנוכחי שלנו, https://www.splittytravel.com שהוא כאמור SPA שנבנה עם Ember וללא SSR בינתיים. אלעד, המגיב הראשון, חידד ואמר שגוגל נותנת דירוג גבוה לאתרים אשר העובדים גם על דפדפנים בהם JS מנוטרל (2% מכלל הגולשים בעולם), אבל בשורה התחתונה – תוצאות החיפוש שלך יופיעו במנוע החיפוש. אתה… Read more »
ניקו
Guest

אני אהבתי את הכתבה מאוד, אוהב את ember ו vue. אשמח לדעת אם יש לך בלוג או משהו ? אשמח לעקוב בפידלי 😊

ניר
Guest

שלום ניקו, תודה רבה!
החזקתי בעבר הרחוק בלוג, אבל לצערי אני לא מצליח לתחזק אותו באופן תדיר.
יש לי מיקרו בלוג ב- Tumbler, שם מדי פעם אני מעלה איזה cheat sheet או טיפ קצרצר. הכתובת היא: http://nirelbaz.tumblr.com/

יקי
Guest

פוסט מדהים, חיוני לא רק למי שמתכנן לפתח עם Ember – אלא לכל מפתח פרונט שמגבש לעצמו תכמון ודרך לבניית אפליקציה. ניר נוא אחד האנשים המיוחדים והמוכשרים בתחום, שהכרתי ושיצא לי לעבוד איתם בעבר.

יקי
Guest

*הוא

ניר
Guest

איש יקר, תודה רבה על התגובה!
שמח שאהבת :)

Ziv
Guest

כתוב היטב! תודה

ניר
Guest

תודה, זיו!

wpDiscuz

תגיות לכתבה: