RSS

TypeScript vs. ECMAScript 6.0

15 מרץ

 

אחרי ההכרזה של גוגל ומיקרוספט שאנגולר 2.0 יכתב ב- TypeScript השאלה הכי שכיחה ששואלים אותי האם לכתוב אפלקציות באנגולר ב-TS ?

שאלה נוספת שצריך לשאול למה גוגל רוצים לכתוב את הקוד שלהם ב-TS ולא מסתפקים ב- ES6 ?

ע"פ דעתי זה בגלל הטכנולוגיה שגוגל מנסה לקדם בשם Dart והיא לא כל כך מתרוממת ראו גרף.
clip_image002[4]

גוגל לא מוכנים לוותר ולכן הם מחויבים שאנגולר גם יכתב ב-DART. אף אחד בגוגל לא רוצה לכתוב שני גרסאות של אנגולר, האחת ב-JS ואחת ב- DART. בגלל ש-DART תומך ב-TYPES צריך כלי שיעשה את הגשר בין ה-JS ל-DART. כאן נכנס לסיפור ה-TS וה- AtScript. בכנס האחרון של גוגל (ng-conf) הכריזו מיקרוסופט וגוגל שיתוף פעולה וגירסת TS 1.5 תאחד את שני הגרסאות. במילים פשוטות TS 1.5 יתמוך גם ב- Annotations, כלומר בזמן ריצה נוכל לתחקר את הטיפוסים.

מסקנה שלי בלבד !!!

לא בטוח שהאינטרסים של גוגל דומים לשלי.
אני צריך לבחון את השימוש ב-
TS מול ES6 ואז להחליט במי לבחור.

TypeScript vs. ECMAScript 6

1.     ע"פ דעתי אחרי שמסתכלים על רשימת היכולות ש- ES6 הולך להביא, מבינים שהיתרון העיקר שנשאר ל-TS זה התמיכה ב-Types.

2.     אם TS מוביל בעיקר בזכות התמיכה שלו ב- Types אז אנחנו צריכים לשאול את השאלות הבאות:

a.     האם התמיכה ב-Types היא כל כך הכרחית לווב?

b.     האם היא מקצרת את הפיתוח?

c.     האם מקלת על התחזוקה?

 

ע"פ דעתי התשובה על השאלות אלו היא לא חד משמעית, תלוי את מי שואלים. אם ישאלו איש דו-נט או Java סביר להניח שהם ירצו לעבוד עם TS. אם תשאלו איש ווב שכל חייו עבד ב-JS ככל הנראה הוא יבחר להמשיך לעבוד ב-JS. אני מאמין שהקבוצה השניה של JS היא יותר גדולה.

3.     ע"פ דעתי כדי שטכנולוגיה תצליח היא חייבת לכבוש את לב הקהילה. ע"פ מסקנה זו אנחנו צריכים לשאול את עצמינו האם הקהילה תאמץ את TS? או  בניסוח אחר האם רוב רוב הפרויקטים בקהילה יכתבו ב-JS או TS? צריך לקחת כאן בחשבון גם את צד השרת כלומר Node.js. אף אחד לא יודע כרגע את התשובה, אבל אם משווים את זה לפתרונות דומים כמו DART, CoffeeScript , Script#, GWT וכ"ו, כל הטכנולוגיות האלו ניסו לשפר את הדרך הכתיבה של JS וכולם נכשלו ע"פ דעתי.
הפעם עומדים כאן שני חברות ענק שיש להם אינטרס משותף ולכן השאלה היא יותר קשה מבעבר
.

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

4.     מה ללמוד ES6 או TS?
השאלה הזו מנסה לחזות מה יעדיפו המפתחים ללמוד. אני מאמין שאם כל הכבוד לאנגולר ויש הרבה כבוד הוא לא מיציג את רוב מפתחי הווב. הקבוצה של מפתחי ווב שלא מפתחים באנגולר תעדיף ללמוד
ES6 בגלל שכבר היום הספריות הפופלריות עוברות קודם ל-ES6 ואולי אחרי זה ל-TS. אני מאמין שמיקרוסופט וגוגל מבנים את הבעיה הזאת והם ינסו לשכנע את כל שאר הספריות לעשות את המעבר ל-TS למשל Ember,React וכ"ו. אם הם יצליחו אז זה יכול לשנות לחיוב רב את הפופולריות לטובת TS
.

5.     מה יעשו חברות הפקדים והכלים?
אני מאמין שכאן יש אינטרס דומה לחברות הפקדים והכלים לגוגל. הם רוצים לכתוב קוד פעם אחת שאפשר לקבל אותו ב-
JS וגם בשפות אחרות. השאלה שוב איך יקבל את זה המשתמשים של החברות האלו. מצד שני אני לא בטוח שהחברות רוצות להיות תלויות במיקרוסופט ולכן אני מאמין שהם יציעו את הקוד גם ב-ES6. לסיכום אני מאמין שלפחות בתקופה הקרובה הם ישבו על הגדר ולכן יהיה יתרון ל-ES6 בהתחלה כי הוא יוצא לשוק ראשון.

סיכום:

אני מאמין שיותר חשוב שמפתח ווב ישלוט ב-ES6  מאשר TS. יש דמיון רב ב-syntax ולכן המעבר מ-ES6 ל-TS (גירסה עתידית שתיתמוך ב-ES6) לא יהיה "יום לימודים ארוך". התחלת פיתוח ב-ES6 תאפשר לנו לחכות על הגדר לפחות שנה עד שאנגולר 2 יצא לשוק ובתקופה זו לנתח את הפופולריות של TS לעומת ES6. אני מאמין שבגלל שהתשובה לא חד משמעית עדיף לחכות וללכת "עקב בצד אגודל" ולהתחיל עם ES6.

מאמרים בנושא:

ü     Why TypeScript Isn't the Answer

ü     Statically typed JavaScript via TypeScript, Facebook Flow and AtScript

ü     TypeScript roadmap

ü     מאמר מתי להשתמש ב-Types.

 

 

אזהרה:

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

כל אחד צריך לקחת את הנקודות שאני מעלה פה ולראות למה הוא מאמין וע"פ זה לקבל את החלטה.

 

אשמח לקבל פידבקים J.

 

 

 

מודעות פרסומת
 
14 תגובות

פורסם ע"י ב- מרץ 15, 2015 ב- Uncategorized

 

14 תגובות ל-“TypeScript vs. ECMAScript 6.0

  1. יאיר שיבק

    מרץ 16, 2015 at 5:17 am

    ניתוח מרענן, פתוח, ומעורר מחשבה. יישר כוח.

     
  2. weinbergdavid

    מרץ 16, 2015 at 6:00 pm

    מענין

     
  3. Lee Elenbaas

    מרץ 23, 2015 at 8:35 am

    ניתוח מדוייק. ואכן חשוב יותר להכיר את ES6 מאשר את TS
    לדעתי ל TS יש יתרון נוסף והוא המחוייבות של תהליך תרגום מ-TS ל-ES לפני הריצה, צעד המוצא שגיאות טריביאליות רבות, ולדעתי מייעל את הפיתוח. גם בעולם ה-ES הנקי מוסיפים הרבה פעמים את הצעד הזה ע"י הוספת lint

    נושא נוסף שהיה לו מענה ב-AtScript ועדיין אין ב-TS זה בדיקת תאימות טיפוסים בזמן ריצה, נושא שחשוב מאוד לתהליך מציאת שגיאות תקשורת המבוססת JSON

     
  4. Miky Petrescu

    אפריל 12, 2015 at 2:52 am

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

     
  5. ארז א' קורן

    יולי 20, 2015 at 4:57 am

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

     
  6. erezak

    יולי 22, 2015 at 1:26 am

    אוסיף גם שבניגוד לרוב השפות האחרות, אתה מקבל את התאימות ל ES6 כחלק מהשפה. אבל זה לא מספיק. כבר היום מתחילה גם התמיכה ב ES7. ראה https://goo.gl/abErXE

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

     
    • eyal.vardi

      יולי 22, 2015 at 3:49 pm

      הי,
      תודה על הפידבקים. ימים יגידו האם TS תיהיה הצלחה או SilverLight הבא. אני רק למדתי שתמיד כדי לעבוד ע"פ התקן ולא לרוץ יותר מדי מהר…

       
  7. Alex Choroshin

    ספטמבר 24, 2015 at 8:19 am

    היי אייל, חצי שנה לאחר כתיבת הפוסט הזה, האם אתה רואה שינוי מגמה לטובת ה- TS? או הקהילה\הלקוחות שלך טרם החליטו.

     
    • eyal.vardi

      ספטמבר 25, 2015 at 2:24 am

      אני לא רואה שום שינוי כרגע. עדין הרבה מפתחים שעוברים #C רוצים להתחיל עם TS, אך למעשה זה בגלל שהם לא מבינים בכלל את השפה JS. אני חושב שעד שאנגולר 2 לא יכנס לשוק המגמה לא תשתנה. צריך לזכור דבר אחד TS הוא זמני וחיי המדף שלו יהיו עד JS תסגור את הפערים.נשאלת השאלה מתי?

       
      • erezak

        ספטמבר 25, 2015 at 5:31 am

        יתכן שמנהל המוצר של TS יחלוק על האמירה שהיא שפה זמנית. כבר היום השפה מתחילה לתמוך במאפיינים של ES7. אין תכנית לסיים את השפה, ההיפך הוא הנכון – יש לה roadmap ארוך וברור. אני ממליץ לך לקרוא את הפרסומים של מייקרוסופט וגוגל בנושא.
        ישנן אפילו אמירות שהשפה תוכל לשמש כ superset של שפות דינמיות נוספות.

         
  8. eyal.vardi

    ספטמבר 25, 2015 at 11:41 am

    ארז שיהיה להם הרבה בהצלחה. מהנסיון הקצר שלי התקן תמיד מנצח בסוף. ימים יגידו.

     
  9. ישי

    מאי 14, 2016 at 7:14 pm

    שלום אייל ,

    חשוב להדגיש שיש ב TYPE SCRIPT תמיכה ב INTERFACES ו ב GENERICS , מה שהופך אותה למתקדמת יותר כשפה ממה שנתמך ב ES6 JS מהקופסא.

    אני חושב ש TYPE SCRIPT עדיפה בהקשר זה בהרבה , ועד ש ES7 יצא , כבר יתכן מאוד ונהיה ב WEB ASSEMBLY ואז זה לא ישנה כלום .

    TYPE SCRIPT עושה ל JS , מה ש SCALA עושה ל JAVA ו/או מה ש LINUX MINT עושים ל UBUNTU , וכל הכבוד ש MS זיהו את זה בזמן .
    הם תמיד יוכלו להוסיף עוד LIBRARIES שלהם OUT OF THE BOX ועוד DATA STRUCTURES וכלי סטודיו מתקדמים יותר , כי בסך הכל , JS כרגע נמצאת 5 עד 7 שנים לפחות מאוחרי שפות עלית אחרות.
    כולם אמרו שגם SCALA תהיה לא רלוונטית כש JAVA 8 יצא , והנה, עדין JAVA היא VERBOSIT עד שכואבות לך האצבעות ללא CLASS PROPERTIES לעומת SCALA.

     
    • eyal.vardi

      מאי 15, 2016 at 12:12 pm

      הי שי,
      היום אחרי שעברו הרבה מים בנהר ו-TS מאוד התקדם…אפשר אפילו תאר את jQuery ב-TS בצורה מדוייקת.
      אני עובד יותר ויותר עם TS. עם זאת אסור לשכוח את הכוח שיש ל-JS נקי ואת היופי שלו :-).

       
      • Eli

        אוגוסט 31, 2016 at 3:25 pm

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

         

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s

 
%d בלוגרים אהבו את זה: