למה בכלל להשתמש ב-TypeScript





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

היתרונות של TypeScript

קוד מסודר וברור - קוד שכתוב ב-TypeScript הוא קוד מסודר וברור יותר מ-JavaScript, כיון שב-TypeScript מציינים את סוג המשתנים וכך ברור יותר מה תפקיד המשתנה. כמו כן מציינים את סוג החזרה של הפונקציות וכך ברור יותר מה תפקידה של הפונקציה. בנוסף יש תמיכה מלאה במחלקות (class) וממשקים (interface), וניתן לכתוב קוד שהוא object oriented בצורה קלאסית וברורה.
דבר נוסף שתורם לסדר זה שב-TypeScript מגדירים משתנים בעיקר בעזרת let (ולא ע"י var). השימוש ב-let יותר אינטואיטיבי מבחינת ה-scoping של המשתנה (ניתן לקרוא על let יותר לעומק פה).
ויש עוד כללים שתורמים לסדר, כמו זה שלא ניתן להשתמש במשתנה לפני שהגדרנו אותו. אלא קודם מגדירים משתנה ורק אחר כל משתמשים בו. ועוד ועוד...

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

השאלה הראשונה שעולה למפתחי JavaScript כשהם מתחילים ללמוד TypeScript היא - שעד שיש שפה כל כך דינמית כמו JavaScript, שמאפשרת שכל משתנה יכול לקבל מידע מכל סוג שהוא ומאפשרת הרבה חופש בלי להציק עם כל מיני הודעות שגיאה בשפה לא אנושית, למה בכלל לעבור ל-TypeScript ולהגביל את עצמי??? 
התשובה על הטענה הזו היא - שאתה בכלל לא מגביל את עצמך, אתה עדיין יכול להנות מהחופש שאתה רגיל אליו ע"י שימוש במשתנה מסוג any. אבל, וזה הערך המוסף, אם יש לך משתנה (וכנראה שרוב המשתנים שלך עונים על ההגדרה הזו) שאתה יודע מאיזה סוג הוא הולך להיות, למה לא לתת למחשב לעשות לך את העבודה, ולמצוא לך את השגיאות בלי שאתה תצטרך לשבור את הראש בניסיון להבין למה הקוד לא עושה מה שביקשת ממנו כל כך יפה לעשות? 
פשוט תודיע למחשב מראש את סוג המשתנה והוא כבר ידאג לך מפה.

בנוסף, אם משתמשים ב-editor שתומך ב-intellisense ל-TypeScript, אז תוך כדי כתיבת הקוד מקבלים חיווי אם הקוד בסדר או שיש בו איזושהי בעיה. נכון להיום יש כבר הרבה editors שניתן להתקין בהם plugin שמספק intellisense ל-TypeScript, אבל ה-editor המומלץ ל-TypeScript הוא Visual Studio Code. ה-editor הזה גם הוא של מייקרוסופט אבל הוא open source וכמובן חינמי. ויש בו המון פיצ'רים באמת טובים. מומלץ לנסות להשתמש. אני עבדתי עד עכשיו עם Sublime ועברתי ל-Visual Studio Code ואני מאוד מרוצה מהשינוי הזה.

תמיכה ב-es6 - שפת TypeScript מאמצת במהירות פיצ'רים חדשים של es6 ותומכת בהם. ולכן כשמשתמשים ב-TypeScript ניתן להשתמש ביכולות החדשות של es6 והקומפיילר של TypeScript יתרגם אותם ל-JavaScript סטנדרטי של es3 או es5 כפי שנגדיר לו. וכך הקוד שלנו ירוץ בצורה טובה על כל הדפדפנים למרות שהם עדיין לא תומכים ב-es6 באופן מלא.

סינטקס דומה ל-JavaScript - הסינטקס של TypeScript דומה מאוד ל-JavaScript, כך שהמעבר מ-JS ל-TS לא קשה במיוחד. אם ניקח פרויקט קיים שכתוב ב-JS ונשנה את סיומת הקבצים שלו מ-js ל-ts יש סיכוי טוב שזה יתקמפל בהצלחה כבר בהתחלה. ואם יהיו בעיות, האדיטור יסמן לנו את כל המקומות הבעייתיים ונוכל לתקן את הקוד יחסית מהר.

תמיכה - ל-TypeScript יש תמיכה רצינית כיון שמאחורי הפיתוח שלה עומדת מיקרוסופט. הדבר הזה יכול להבטיח תמיכה לאורך זמן. בשונה משפות אחרות שמתקמפלות ל-JavaScript ומתוחזקות ע"י קהילת המפתחים בלבד, ל-TypeScript יש גם את קהילת המפתחים וגם את מיקרוספט. ניתן גם להתרשם מרמת התחזוקה של השפה ע"י התבוננות באתר הרישמי של TypeScript שם ניתן לראות תיעוד מסודר ורציני של השפה ודברים נוספים שמעידים על ההשקעה בפיתוח השפה.
רוב האדיטורים הנפוצים ביותר כיום תומכים ב-TypeScript. ביניהם כל משפחת Visual Studio כמובן, וגם Sublime, Atom, WebStorm, Eclipse, Emacs, Vim.

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


צמיחה מהירה - אם נשתמש ב-Google Trends להשוואה של TypeScript מול שפות מתחרות כמו CoffeeScript ו-Dart נקבל את הגרף הבא:



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



כפי שרואים, TypeScript מובילה באופן משמעותי מול השפות המתחרות.

לסיכום

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

לכן, גם אם לא תשתמשו ב-TypeScript בפרויקט שלכם, עדיין מומלץ מאוד להכיר אותה.

בהצלחה.

אין תגובות:

הוסף רשומת תגובה