ירי IDE בענן: AWS Cloud9 לעומת Eclipse Che לעומת Eclipse Theia

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

נושא זה הוא אחד המניעים למקומות עבודה למפתחים מבוססי אינטרנט. מניע נוסף הוא שמכונות לפיתוח מקומי זקוקות למשאבי CPU ו- RAM משמעותיים, המעלים את עלות החומרה; משאבים אלה מאפשרים למפתח לבנות את הפרויקט במהירות. מחשבים לגישה לשטחי עבודה מבוססי אינטרנט יכולים לברוח עם חומרה נמוכה יותר מאשר מחשבים לפיתוח מקומי.

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

במאמר זה אדון בשלושה IDEs בענן המספקים מקומות עבודה למפתחים מבוססי אינטרנט. שניים מהם - Eclipse Theia ו- Eclipse Che - הם פרויקטים קודמים למדי של קוד פתוח בחסות קרן Eclipse. השלישי - AWS Cloud9 - הוא מוצר ישן יותר שנמצא בבעלות ומשולב עם שירותי האינטרנט של אמזון.

ליקוי חמה תאיה

Eclipse Theia הוא פרויקט קוד פתוח המספק חווית פיתוח קוד Visual Studio בדפדפן; זה יכול לרוץ גם על שולחן העבודה במעטפת האלקטרונים. תיאיה מסתמכת על פרוטוקול שרת השפות של Visual Studio כדי לספק השלמת קוד ספציפית לשפה ואת התכונות האחרות להן אנו מצפים בעורך קוד מודרני.

מכיוון שהיא יכולה לנצל את שרתי השפה שנכתבו עבור קוד Visual Studio, ל- Theia יש גישה ליותר מ -60 שרתי שפה זמינים כולל JavaScript, Java, Python ו- TypeScript. תיאיה תומכת גם בפרוטוקול מתאם הבאגים.

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

ישנן שלוש דרכים עיקריות לנסות את תיאיה. האחת היא להריץ אותה ב- Docker:

docker run -it -p 3000: 3000 -v "$ (pwd): / home / project: cached" theiaide / theia: הבא

השנייה היא להריץ אותו ב- Gitpod (ראה סרגל צד ומסך צילום למטה). השלישי הוא הפעלת Eclipse Che גרסה 7 ואילך (ראו הסעיף הבא), המשתמשת ב- Theia כמשק המשתמש שלה במקום בממשק המשתמש של Java המשמש בגרסאות ישנות יותר של Che.

פרויקט Eclipse Theia כולל תרומות של TypeFox, Ericsson, Red Hat, IBM, Google ו- ARM. מפת הדרכים של הפרויקט כוללת מערכת פלאגין לתמיכה בהרחבות קוד VS (מעבר לשרתי שפה), שילוב עם מסגרות בדיקה ושיפורים אחרים.

TypeFox Gitpod

Gitpod היא סביבה מתארחת מסחרית (ראה צילום מסך למעלה) המיועדת לפתיחת מאגרי GitHub באזורי עבודה. ה- IDE של Gitpod הוא קוד פתוח ומבוסס על Eclipse Theia. כרגע בשלב בדיקת בטא בחינם, Gitpod תמיד יהיה בחינם לפרויקטים של קוד פתוח, אך בסופו של דבר ידרוש מנוי לפתיחת מאגרים פרטיים ושימוש בו יותר מ -100 שעות בחודש.

הענן Gitpod.io פועל כיום במספר אשכולות Kubernetes שמתארחים בתשתית Google Cloud בשלושה אזורים שונים ברחבי העולם. המוצר Gitpod זמין גם לאירוח פרטי.

ליקוי חמה

Eclipse Che הוא שרת מרחבי עבודה למפתחים קוד פתוח ו- IDE בענן המיועד לצוותים וארגונים. גרסת צ'ה 7, הנמצאת כיום בגרסת בטא, משתמשת באקליפס תיאיה כבסיס ה- IDE שלה. גרסאות ישנות יותר של צ'ה משתמשות ב- IDE מבוסס GWT. חללי עבודה של Che פועלים במכולות ב- Docker, OpenShift או Kubernetes.

אתה יכול להריץ את Che בענן הציבורי, בענן פרטי, או להתקין אותו בכל מערכת הפעלה. צ'ה נבדק ב- Ubuntu, Linux, MacOS ו- Windows. תוכל גם להריץ את צ'ה בסביבת עבודה בשירות עצמי המתארח בכתובת //che.openshift.io/, שעבורו תצטרך או ליצור כניסה חופשית ל- OpenShift או Red Hat.

בנוסף, Eclipse Che מהווה את הליבה של Red Hat CodeReady Workspaces, סביבת הפיתוח החדשה של OpenShift. בנוסף לתמיכה על ידי Red Hat, ל- CodeReady Workspaces יש ערימות שנבנו מראש עם טכנולוגיות Red Hat הנתמכות וכוללות SSO Red Hat לטיפול באימות ובאבטחה בין צוותי המפתחים.

פרויקט Eclipse Che כולל תרומות של יותר מ -20 חברות כולל CodeEnvy (היזם המקורי של Che), Docker, IBM, Red Hat ו- TypeFox. מפת הדרכים של צ'ה כוללת סיום שילוב תיאיה ומערכות התוסף עבור תיאיה וצ'ה.

AWS Cloud9

ה- Cloud9 IDE, שהזכרתי כ- GO IDE בשנת 2017, שייך כעת לשירותי האינטרנט של אמזון. בנוסף להיותו בעל עורך קוד מבוסס דפדפן ורב-שפות, ניפוי שגיאות למספר שפות ומסוף המאושר מראש לשירותי AWS, Cloud9 מאפשר כעת קידוד שיתופי.

ניתן להריץ סביבות פיתוח של Cloud9 במופעים מנוהלים של אמזון EC2 או בכל שרתי לינוקס התומכים ב- SSH. Cloud9 כולל כלים לעד 40 שפות תכנות, אם כי רק לחמישה יש באגים, לשבע יש מוך, ול 12 יש השלמת קוד.

אם אתה מריץ את Cloud9 ב- EC2, מופע ה- EC2 ייפסק אוטומטית לאחר סגירת Cloud9, כברירת מחדל לאחר 30 דקות, והקוד שלך יימשך באחסון EBS של אמזון. אם אתה מפעיל את Cloud9 בשרת Linux שלך, הקוד יימשך באחסון המקומי. אם תפעיל מחדש את Cloud9 לאחר שהמופע הבסיסי שלו הופסק, Cloud9 יפעיל מחדש את המופע באופן אוטומטי וישחזר את הפעלת העריכה שלך בה הפסקת.

אתה יכול לאכלס בקלות מופע Cloud9 ממאגר או מקבצים מקומיים. בצילום המסך למטה השתמשתי ב- Git משורת הפקודה Cloud9 כדי לבדוק את מאגר GitHub עבור Keras. אם אתה עורך פרוייקט המבוסס על מאגר שעבורו אתה מתחייב, אתה יכול לעדכן את ה- repo ולמשוך שינויים לפי הצורך משורת הפקודה. ל- Cloud9 אין תמיכה גרפית לבקרת גרסאות.

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

AWS Cloud9 משולב עם Amazon Lightsail, AWS CodeStar, פונקציות AWS Lambda ו- AWS CodePipeline. נראה שהאינטגרציה של למבה טובה במיוחד.

איזה ענן IDE?

Eclipse Theia, Eclipse Che ו- AWS Cloud9 מאפשרים לך לערוך ולפתור באגים בקוד במספר שפות תכנות מדפדפן. יש הבדלים בפריסה ובפונקציונליות, אך לא מספיק כדי לחשוב אלא אם כן ברצונך להשיג משהו מתקדם למדי, כגון refactoring.

Cloud9 היא בחירה טובה במיוחד אם אתה עובד על פרויקטים של AWS, ו- Che היא בחירה טובה במיוחד (כמו CodeReady) אם אתה עובד על קוד למערכות Red Hat. תיאיה מספקת את סביבת העריכה הנחמדה ביותר מבין השלושה, אך ברגע שצ'ה 7 תצא מגרסת הבטא תהיה לה גם תיאיה IDE.