JavaRush /בלוג Java /Random-HE /Eclipse, NetBeans או IntelliJ IDEA? בחירת IDE לפיתוח Java...
Bender
רָמָה
Маунтин-Вью

Eclipse, NetBeans או IntelliJ IDEA? בחירת IDE לפיתוח Java

פורסם בקבוצה
Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 1אנו מציגים לתשומת לבכם עיבוד למאמר מאת מרטין הלר, מתכנת ועורך משאב JavaWorld. בטח כבר שמעתם על שלושת ה-IDEs הפופולריים ביותר לפיתוח Java. 90 אחוז מהמתכנתים התעשייתיים משתמשים ב-Eclipse, NetBeans או IntelliJ IDEA, ולכל אחד מה-IDEs הללו יש יתרונות וחסרונות משלו. במאמר זה ננסה לתאר אותם כדי שתבינו איזה מהם מתאים לכם. אם כי, כמובן, עדיף לנסות את שלושתם בעבודה ולגלות מה הכי מתאים לכם. שום ביקורת לא יכולה להחליף את זה.

מהי סביבת פיתוח?

התשובה הקצרה מאוד היא שסביבת פיתוח היא תוכנית או תוכניות מרובות שבהן אתה משתמש כדי ליצור תוכניות. תהליך זה כולל למעשה כתיבת הקוד, איתור באגים, השקתו ושילובו עם מערכות בקרת גרסאות. אם מפתחים קודמים השתמשו לעתים קרובות בעורך טקסט פשוט (לפעמים אפילו ללא הדגשת תחביר), כגון פנקס רשימות ושורת הפקודה, כיום הם משתמשים לרוב במעבדי All-in-One, סביבות פיתוח משולבות או IDEs.

מה זה IDE?

סביבת פיתוח משולבת או באנגלית סביבת פיתוח משולבת - IDE - היא תוכנה המכילה כלים לפיתוח תוכנה. בדרך כלל, סביבת פיתוח מודרנית כוללת:
  • עורך טקסט עם הדגשת קוד;
  • מהדר או מתורגמן;
  • דפדפן מחלקה, מפקח אובייקטים ותרשים היררכיית מחלקה;
  • כלי אוטומציה להרכבה;
  • מנפה;
  • כלים לשילוב עם מערכות בקרת גרסאות (Git);
  • כלים לפשט את העיצוב של ממשק משתמש גרפי.
עבדתי עם ה-IDEs האלה בעבר, אבל לצורך המחקר הזה התקנתי את IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE ו-NetBeans 8.1 Java EE במחשב נייד MacBook Pro. בדקתי את ה-IDE בכמה פרויקטי Java בקוד פתוח.

למה לצפות מ-IDE

IDE מודרני עבור "מפתח ג'אווה בריא" אמור לתמוך ב-Java 8, Scala, Groovy, כמו גם בשפות מחשב וירטואליות אחרות של Java שבהן הוא משתמש בקביעות. תמיכה בשרתי היישומים הראשיים ובמסגרות האינטרנט הפופולריות ביותר, כולל Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails ו- Vaadin, תהיה גם שימושית. ה-IDE חייב להיות תואם לכל בניית מערכת בקרת גרסאות, כגון Ant, Maven או Gradle, יחד עם Git, SVN, CVS, Mercurial או Bazaar. בנוסף, עבור סביבת הפיתוח חשוב להיות מסוגל לעבוד עם מסדי נתונים ושכבת הלקוח של המחסנית שלך, לקבל תמיכה ב-JavaScript מובנה, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, כמו גם Java Persistence. ממשק API. לבסוף, הגיוני לקוות שה-IDE יאפשר לכם לערוך, ליצור, לנפות באגים ולבדוק מערכות ללא לחץ מיותר. באופן אידיאלי, סביבת הפיתוח תומכת לא רק בהשלמת קוד אינטליגנטית, אלא גם בשחזור אינטליגנטי ובמדדי קוד. במקרים רבים, זה יהיה שימושי לתמוך במסגרות בדיקה ובתלים. אם הצוות שלך משתמש במערכת כרטיסים ו-CI/CD, אתה צריך את ה-IDE כדי להיות מסוגל להתחבר אליהם. ולהחליט אם אתה צריך פריסה וניפוי באגים בקונטיינרים ובעננים. רשמנו רק את הציפיות הבסיסיות (אולי יש לך מה להוסיף), ועכשיו בואו נסתכל מקרוב על המתחרים שלנו.

IntelliJ IDEA

Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 2מבחינת תכונות ומחיר, IntelliJ IDEA מגיע בשתי גרסאות: מהדורת הקהילה החינמית, ומהדורת Ultimate בתשלום עם פונקציונליות מורחבת. מהדורת הקהילה מיועדת לפיתוח JVM ו-Android. הגרסה החינמית תומכת ב-Java, Kotlin, Groovy ו-Scala; דְמוּי אָדָם; Maven, Gradle ו-SBT; עובד עם מערכות בקרת גרסאות Git, SVN, Mercurial ו-CVS. Ultimate Edition מתאימה לפיתוח אתרים וארגונים. גרסה זו של ה-IDE עובדת לא רק עם Git, SVN, Mercurial ו-CVS, אלא גם עם Perforce, ClearCase ו-TFS; בו אתה יכול לכתוב ב-JavaScript וב-TypeScript; באופן טבעי, יש תמיכה עבור Java EE, Spring, GWT, Vaadin, Play, Grails ועוד מספר מסגרות. וכמובן, לא יכולנו בלי SQL וכלים לעבודה עם מסדי נתונים. הרעיון שמנחה את מפתחי ה-IDE הזה בגיבוש מדיניות תמחור הוא שהגרסה המסחרית שלו (Ultimate) תתפוס את מקומה במחשבים של אנשי מקצוע, עקב כך תגדל הפרודוקטיביות שלהם. אם מתכנת ג'אווה מרוויח 50 אלף דולר בשנה (או אפילו יותר), ההחזר על ההשקעה שהושקע ב-IDE IntelliJ IDEA בתשלום (500 דולר למנוי שנתי) יקרה מהר מאוד אפילו בגלל האצה קלה של עבודתו. בשנים שלאחר מכן המחיר לעסקים יורד, לסטארטאפים ולפרילנסרים הוא נמוך משמעותית, ולסטודנטים, מורים, אלופי ג'אווה ומפתחי קוד פתוח זה לגמרי בחינם. IntelliJ IDEA מרשים עם הבנת הקוד העמוקה, הארגונומיה החכמה, תכונות הפיתוח המובנות ותמיכה מרובת שפות. Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 3
איור 1. IntelliJ IDEA מציג את מספר האזהרות והניחושים המבוססים על ניתוח סטטיסטי של קוד Java. ניתן ללמוד את ההנחות ביתר פירוט על ידי לחיצה עליהן, כפי שמוצג בתמונה; במקרים רבים תקבל רשימה עם אפשרויות ואפשרויות תיקון.

הבנה עמוקה של קוד

הדגשת תחביר והשלמת קוד פשוטה הם דבר שבשגרה עבור כל עורכי Java מודרניים. IDEA הרחיקה לכת והציעה "השלמה אוטומטית חכמה". מונח זה אומר שסביבת הפיתוח מציגה רשימה של הסמלים הרלוונטיים ביותר שישים בהקשר נתון. רשימת הסמלים תלויה לא רק בהקשר ככזה, "המקובל בדרך כלל", אלא בסגנון התכנות של המפתח, בתדירות שבה הוא משתמש באופרטורים מסוימים. "השלמת שרשרת" אפילו מציגה רשימה של סמלים ישימים המותרים באמצעות שיטות או משברים בהקשר הנוכחי. בנוסף, עבור חברים סטטיים או קבועים, IDEA מוסיף אוטומטית את כל הצהרות הייבוא ​​הנחוצות. בכל המקרים של השלמה אוטומטית, IDEA מנסה לנחש את סוג הסמל בזמן ריצה, לחדד את בחירתו, ואפילו להחיל cast type במידת הצורך. קוד Java כולל לעתים קרובות קטעים משפות אחרות כמחרוזות. IDEA יכול להחדיר קוד SQL, XPath, HTML, CSS או JavaScript לתוך מילולי מחרוזת Java. במובן זה, ה-IDE יכול לשחזר קוד במספר שפות. לדוגמה, אם תשנה שם מחלקה במיפוי JPA, IDEA תעדכן את הישות ואת מחלקת הביטוי המתאימים של JPA. כאשר משחזרים קטע קוד, למפתח יש רצון אחד (די טבעי): שכל הכפילויות של הקוד הזה יעברו גם הם מחדש. IDEA Ultimate מוצא כפילויות ושברים דומים ומחיל עליהם ריפקטור גם. IntelliJ IDEA מנתח קוד בעת הטעינה וישר תוך כדי הזנתו. הוא מצביע על בעיות חשודות (כמו בתמונה שלנו למעלה) ומציע אופציונלי רשימה של תיקונים מהירים סבירים לבעיות שנמצאו.

ארגונומיה

Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 4IntelliJ IDEA תוכנן כדי לא להפיל מפתח ממצב פרודוקטיביות זורם ברגע שהוא או היא כבר נמצאים בו. חלון הפרויקט, המוצג בתמונה הראשונה משמאל, נעלם בלחיצת עכבר פשוטה כדי שהמתכנת יוכל להתמקד בחלון עורך הקוד. עבור כל הפעולות הדרושות בזמן כתיבת קוד, ישנם שילובי מקשים לקריאה מהירה אליהם, כולל הגדרת סמלים בחלונות קופצים. בהתחלה קשה לזכור את כל השילובים האלה, אבל בהדרגה מתרגלים אליהם ומשתמשים רק בהם. עם זאת, גם אם המתכנת אינו משתמש בקיצורי מקלדת, כפי שמראה בפועל, הוא מתרגל לעבוד ב-IDEA בקלות ובמהירות. ברצוני לציין במיוחד את ניפוי הבאגים של IDEA: ערכי משתנים מוצגים ישירות בחלון העורך, ליד קוד המקור המתאים. כאשר המצב של משתנה משתנה, גם צבע ההדגשה משתנה.

כלים מובנים

IntelliJ IDEA מספקת ממשק יחיד לאינטראקציה עם רוב מערכות בקרת הגרסאות, כולל Git, SVN, Mercurial, CVS, Perforce ו-TFS. אתה יכול לנהל שינויים ישירות ב-IDE, וזה מאוד נוח. כשבדקתי את IDEA, היה לי רצון שהשינוי האחרון בקוד המקור יופיע בחלון העורך כהערה (כמו שקורה, למשל, ב-Visual Studio). כפי שמתברר, ל-IDEA יש תוסף מיוחד לכך. IDEA מגיע גם עם כלי בנייה, זמן ריצה לבדיקה, כלי כיסוי וחלון מסוף מובנה. ל-IntelliJ אין פרופילים משלה, אך ניתן לחבר אליו צד שלישי באמצעות תוספים. לדוגמה, YourKit, שנוצרה על ידי מפתח מוביל לשעבר של JetBrains, או VisualVM (שהיא גרסה ארוזה מחדש של הפרופיל של NetBeans). איתור באגים בג'אווה יכול להיות כאב כאשר כל מיני דברים מסתוריים קורים לשיעורים שאין לך את המקור עבורם. IDEA כולל מפרק למקרים כאלה. תכנות בצד השרת ב-Java דורש אינטראקציה תכופה עם מסדי נתונים, ולכן מתכנתי IDEA Ultimate יעריכו את הנוחות של הכלים לעבודה עם SQL ומסדי נתונים. אבל אם היכולות שלהם לא מספיקות למישהו, אתה יכול לרכוש את גרסת IDEA Ultimate עם SQL IDE (DataGrip) מובנה. עם זאת, זה יהיה מעט יותר יקר מהמנוי הרגיל של IDEA Ultimate. IntelliJ IDEA תומך בכל שרתי היישומים הגדולים של JVM, ומאפשר לך לפרוס וניפוי באגים בשרתים אלו, מה שמבטל את הקשיים המוכרים לכל מתכנתי Java Enterprise. IDEA תומך גם ב-Docker (דרך תוסף שמוסיף חלון כלי מיוחד של Docker לסביבת הפיתוח. אגב, ל-IDEA יש המון תוספים.  

פוליגלוט אמיתי

IDEA הרחיבה את תמיכת הקוד עבור Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS ועוד. בטח שמתם לב שלא כולם ספציפיים ל-Java. IDEA "מבין" שפות אחרות ישירות מהקופסה - Groovy, Kotlin, Scala, JavaScript, TypeScript ו-SQL. אם אינך רואה את השפה שאתה מחפש ברשימה זו, ישנם כרגע 19 תוספים לשפת IntelliJ, התומכים במיוחד ב-R, Elm ו-D.

Eclipse IDE

Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 5 לפני כ-10 שנים, כשנשאל על ה-IDE הטוב ביותר, מפתח Java ענה בביטחון: Eclipse. במשך שנים רבות, סביבת הפיתוח הזו החזיקה בביטחון את כף היד בין רכיבי Java IDE. סביבה זו היא חינמית לחלוטין, קוד פתוח, כתובה בעיקר ב-Java. עם זאת, הארכיטקטורה המודולרית שלו מאפשרת להשתמש ב-Eclipse עם שפות אחרות. פרויקט Eclipse, שיזם IBM, הופיע ב-2001. הם רצו להחליף את משפחת סביבות הפיתוח של IBM Visual Age המבוססת על Smalltalk. ובכן, המטרה העיקרית, כפי שאפילו השם מרמז, הייתה להעלות על Microsoft Visual Studio (ליקוי באנגלית פירושו ליקוי). הניידות של Java עוזרת ל-Eclipse להיות סביבה חוצת פלטפורמות: IDE זה פועל על לינוקס, Mac OS X, Solaris ו-Windows. לטוב ולרע, ערכת הכלים של Java Standard Widget (SWT) אחראית לפחות חלקית למראה והתחושה של Eclipse. Eclipse חייבת את הביצועים שלה (או, כפי שאומרים כמה מיטיבי לכת, היעדרם) ל-JVM. Eclipse עובד די לאט, מכיוון שהוא מושרש בחומרה ישנה למדי ובגרסאות עתיקות של ה-JVM. גם היום זה נראה איטי, במיוחד אם אתה מצרף לזה הרבה תוספים. חלק מתקורת המשאבים של Eclipse ניתן לייחס למהדר המצטבר המובנה שלו, שפועל בכל פעם שקובץ נטען או קוד מתעדכן. זה דבר שימושי; הוא תופס שגיאות בעת הזנת טקסט. ללא קשר למבנה, פרויקט Eclipse שומר על מודל תוכן המכיל מידע על ההיררכיה של סוגים, הפניות והצהרות של רכיבי Java. הגרסה הנוכחית של Eclipse נקראת Neon (4.6.0). התקנתי Eclipse Java EE IDE עבור מפתחי אתרים (זו לא האפשרות היחידה, אתה יכול לבחור משהו אחר). הוא מכיל Eclipse SDK מינימלי ותוספים תוספים לפי דרישה. אגב, עבודה עם תוספים ב-IDE הזה היא לא לבעלי לב חלש. תוספים של צד שלישי לרוב מתנגשים זה עם זה, אם כי המפרט הרשמי שלהם אינו אומר דבר על כך. Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 6
איור 2. משמאל לימין, ישנם ארבעה סרגלי כלים של Eclipse: סייר חבילות, עורך Java, מבנה מחלקות של Java ורשימת משימות. הפרויקט שנטען לתוך Eclipse באיור זה הוא מסגרת הבדיקה של JUnit. ניתן להחליף את הפאנלים בקלות.

תמיכה בפלאגין

המערכת האקולוגית של הפלאגין של Eclipse היא גם הכוח של ה-IDE וגם אחת הבעיות העיקריות שלו. זה בגלל חוסר ההתאמה של תוספים שלפעמים מכלולים שלמים קורסים, ומתכנתים צריכים להתחיל לעבוד מחדש. יש כרגע למעלה מ-1,700 תוספים שנכתבו עבור Eclipse, רשמיים ולא רשמיים, שאולי יעבדו מצוין ואולי לא. תוספים של Eclipse תומכים ביותר מ-100 שפות תכנות וכמעט 200 מסגרות לפיתוח אפליקציות. רוב שרתי Java נתמכים גם: אם תגדיר חיבור שרת חדש מ-Eclipse, תועבר לרשימה של תיקיות ספקים שבהן תמצא כ-30 שרתי יישומים. יהיו עד תשע גרסאות של Apache Tomcat לבד. ספקים מסחריים נוטים לאגד את הפתרונות שלהם יחד: למשל, יש רק פריט אחד של Red Hat JBoss Middleware, ובתוכו תמצאו כלי שרתי WildFly ו-EAP, כמו גם JBoss AS.

עריכה, שחזור וניפוי באגים

הניסיון הראשון שלך עם Eclipse יכול להיות מבלבל ואפילו מבלבל. הצעד הראשון הוא להגדיר את Eclipse ולהתרגל לארכיטקטורה הרעיונית של חללי עבודה, תצוגות ותצוגות. כל זה נקבע לפי התוספים שהתקנת. לפיתוח Java בצד השרת, סביר להניח שתשתמש בתצוגות הגלישה של Java, Java EE ו-Java, תצוגת סייר החבילות, תצוגת ניפוי באגים, תצוגת סנכרון פקודות של כלי אינטרנט, תצוגת פיתוח מסד נתונים ותצוגת ניפוי באגים של מסד נתונים. בפועל, הכל הגיוני כשאתה פותח את החלונות שאתה צריך. Eclipse כמעט תמיד מציע כמה דרכים לפתור בעיה מסוימת. לדוגמה, אתה יכול להציג קוד באמצעות פרספקטיבה של הגלישה של Java. מה לבחור זה עניין של טעם ובחירה. חיפוש Java מיוחד מאפשר לך למצוא הצהרות, הפניות והתרחשויות של חבילות Java, סוגים, שיטות, שדות. אתה יכול גם להשתמש בגישה מהירה לחיפוש ובתצוגה מקדימה. ניתן ליצור תבניות קוד נפוצות מתבניות קוד. Java Refactoring ב-Eclipse תומך ב-23 פעולות, החל מפעולות שינוי שמות נפוצות ועד טרנספורמציות פחות ברורות (כמו בספרו של מרטין פאולר). Eclipse תומך באיתור באגים מקומי ומרוחק, בתנאי שאתה משתמש ב-JVM שתומך בניפוי באגים מרחוק. איתור באגים הוא די סטנדרטי: אתה מגדיר נקודות עצירה ואז מציג את המשתנים בלשונית איתור באגים. כמובן, אתה יכול לעבור בקוד שלך ולהעריך ביטויים. לאקליפס יש מסד נתונים עצום של תיעוד בגילאים, ערכים ושימושיות משתנים. לרוע המזל, מציאת תמונה בהוראות שאינה תואמת את הגרסה הנוכחית, למשל, עם ממשק ופריסה מיושן של כפתורים, היא תופעה שכיחה עבור IDE זה. למרבה הצער, הבעיה של עדכוני תיעוד מאוחרים נפוצה מאוד עבור כל פרויקט קוד מקור.

NetBeans

Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 7NetBeans החלה כפרויקט סטודנטים באוניברסיטה בפראג ב-1996. ב-1997, ה-IDE הפך למוצר מסחרי, וב-1999 הוא נקנה על ידי Sun Microsystems (ההורים של Java) ובשנה שלאחר מכן הציג מהדורת קוד פתוח. הגרסה הנוכחית 8.1 פועלת על מחשבים המריצים Windows, Mac OS X, Linux ו- Solaris. ובכן, ניתן להפעיל את החבילה הניידת בכל מערכת שעבורה קיימת מכונת Java. הורדתי לעצמי את חבילת Java EE, זו אחת משש חבילות הורדה אפשריות. החבילה הזו תומכת ב-JavaScript ו-HTML, GlassFish ו-Tomcat, אך אינה תומכת ב-PHP, C/C++/Fortran, Groovy ו-Grails: ניתן להשיג אותם בחבילת "הכל כלול" (או פשוט "הכל"). עם זאת, אם ארצה, אני יכול להוריד תמיכה עבור השפות הנ"ל בכל עת על ידי בחירה בתוסף המתאים (או כל אחר). ל-NetBeans יש פחות מהם מאשר Eclipse, אבל הם בדרך כלל לא מתנגשים זה עם זה. בסתיו הקרוב החליטה אורקל (שרכשה את NetBeans לאחר רכישת Sun Microsystems) להעביר את סביבת הפיתוח הזו תחת הכנף של קרן Apache Software, יחד עם כל הזכויות, קוד המקור, הסימן המסחרי, הדומיין "netbeans.org" ועוד מספר תשתיות נוספות אלמנטים. לכן, עתיד הפרויקט עדיין מעורפל, למרות שלמערכת היו בעבר הרשאות מסוימות קשורות. לפיכך, NetBeans הייתה זו שקיבלה תמיכה ב-Java 8 כמעט מיד לאחר יציאת הפלטפורמה המעודכנת, ונקראה "ה-IDE הרשמי עבור Java 8". עם זאת, חודש לאחר שחרורו, היתרון הזה אבד: זה היה אז שגם IDEs אחרים קיבלו תמיכה ב-Java 8. עם זאת, אני רוצה לציין שהתמיכה ב-Java 8 של NetBeans ממש טובה, וה-IDE מצויין לשזירת טריקים של Java 8 בקוד "ישן". העורכים, מנתחי הקוד והממירים שלו יסייעו למתכנת לשדרג את הקוד באמצעות מבנים אופייניים ל-Java 8 - ביטויי למבדה, אופרטורים פונקציונליים והפניות למתודה. התוספים של JavaScript ב-NetBeans 8 עושים עבודה נהדרת בתמיכה ב-Node.js ובכלי JavaScript העדכניים ביותר כמו Gulp ו-Mocha, כמו גם תמיכה במתורגמן של Nashorn JavaScript. Eclipse, NetBeans או IntelliJ IDEA?  בחירת IDE לפיתוח Java - 8
איור 3. כאן NetBeans מפעילה את אותו פרויקט מבוסס Maven ש-IntelliJ IDEA נפתח באיור 1. שימו לב לפונקציונליות המשופרת בתפריט ההקשר ובתפריט המשנה לשינוי מחדש

עריכה ושחזור

NetBeans Editor תומך בשפות, מזהה שגיאות בזמן ההקלדה, ועוזר לך עם עצות כלים והשלמת קוד חכמה. לפי התחושה הסובייקטיבית, ה-IDE מתמודד עם המשימה הזו מהר יותר מ-Eclipse, אבל קצת יותר איטי מ-IntelliJ IDEA. בנוסף, ל-NetBeans יש מגוון שלם של כלים ל-refactoring (כפי שמוצג באיור 3) המאפשרים למתכנת לבנות מחדש קוד מבלי לשבור אותו, לבצע ניתוח מקור, וכן מציע מגוון רחב של רמזים לתיקונים מהירים או הרחבות קוד. NetBeans כולל את כלי העיצוב של Swing GUI, שנקרא בעבר "Project Matisse". מפתחים מעריכים מאוד את כלי ה-refactoring האוטומטי Inspect & Transform, שהוצג ב-NetBeans 7.1. זה מאפשר לך לנתח את קוד הפרויקט ולבצע שיפורים מוצעים. למרות שבאופן אישי, אני מעדיף לבדוק תחילה את כל הקוד שלי עם בדיקות יחידה, ורק אחר כך להפעיל כלים שיכולים לעשות שינויים קיצוניים. סבלתי שוב ושוב מכל מיני תיקונים אוטומטיים שהובילו לתוצאות בלתי הפיכות.

בנייה, איתור באגים ופרופילים

ל-NetBeans יש תמיכה מובנית מעולה עבור Maven ו-Ant, כמו גם תוסף עבור Gradle. שמחתי מאוד כשגיליתי שהמערכת התייחסה לפרויקטים של מייבן כאל "מקוריים". המשמעות היא שניתן פשוט לפתוח אותם ולא לייבא אותם. NetBeans מכילה גם תצוגה גרפית אטרקטיבית (ושימושית) עבור תלויות Maven. מאתר הבאגים של NetBeans Java לא רע, אבל הוא מגיע עם כמה אזהרות. ניפוי באגים חזותי נפרד מאפשר למתכנת לצלם צילומי מסך של הממשק הגרפי של המשתמש ולחקור את הממשקים של יישומים שנעשו באמצעות JavaFX ו- Swing. הפרופיל של NetBeans מבהיר יותר כיצד נעשה שימוש במעבד ובזיכרון ויש לו כלים מצוינים לאיתור דליפות זיכרון.

איזה Java IDE עדיף? השוואה בין שלישיית הענקים

השתמשתי בכל שלושת ה-IDE, Eclipse, NetBeans ו-IntelliJ IDEA, לאורך השנים בסדר הכרונולוגי הרשום. בכל פעם שעברתי ל-IDE אחר, הרגשתי שהפרודוקטיביות שלי גדלה. אבל גם כשהייתי משוכנע בתוקף ש-IDEA הוא הבחירה הסופית שלי, לפעמים הייתי צריך לחזור לאחד משני ה-IDEs שנותרו. זה היה המקרה, למשל, בתקופה שבה Eclipse היה הכלי היחיד שתמך בפיתוח אנדרואיד (היום יש Android Studio, ה-IDE הרשמי הנוכחי לאנדרואיד, הוא מבוסס על IntelliJ IDEA). כמובן שלכל שלושת ה-IDE יש את המעריצים והמתנגדים שלהם. אני מכיר הרבה מפתחי Java שאוהבים את IntelliJ IDEA, כמו גם מעריצי Visual Studio C++ ו-C# נאמנים. לא פעם, אנשים אלה מרוצים מהעובדה שהפרודוקטיביות שלהם גדלה, ועלות המנוי השנתי מוחזרת לאחר מספר שבועות בלבד של שימוש בגרסה בתשלום של IDEA. עם זאת, גם משתמשי NetBeans ו-Eclipse מחוברים לרוב לכלים שלהם ותוהים מדוע מתכנתים אחרים מוכנים לשלם כסף עבור IDEA. הייתי ממליץ למפתחי Java חדשים להתרחק מ-Eclipse. למרות העובדה שזה עדיין ה-IDE הפופולרי ביותר עבור Java, קשה למתחילים: קל ללכת לאיבוד בטבע הפראי של Eclipse, הן במהלך פריסת המערכת והן במהלך העבודה היומיומית. ל-Eclipse יש את המערכת האקולוגית הנרחבת ביותר של הפלאגין מכל ה-IDE, והיא גם בעלת הסיכוי הגבוה ביותר לקרוס עקב התקנת סט לא תואם של אותם תוספים. לרוע המזל, בזמן השימוש ב-Eclipse, נאלצתי שוב ושוב להסיר מכלול מקולקל נוסף של ה-IDE הזה ולהתקין צרור "נקי". NetBeans טובה לרוב המפתחים, יש לה פרופילר נהדר, ואני משתמש בו לפעמים. עם זאת, אני מעדיף לשלם עבור IntelliJ IDEA Ultimate. והעתיד של NetBeans עדיין לא ברור. למפתחי Java חדשים שאין להם עדיין תקציב לקנות כלים, אני ממליץ להשתמש ב-NetBeans או IntelliJ IDEA Community Edition בהתאם לצרכים שלהם. את הראשון כדאי לבחור למי שמקודד שרתי Java, אבל רק אם אתה לא נכנס לקטגוריה של אלה שיכולים לקבל את IntelliJ IDEA Ultimate בחינם או בהנחה ענקית (סטודנטים או אותם מתכנתים שמפתחים קוד פתוח פּרוֹיֶקט).

Java IDE "קל".

כיום, רוב מפתחי Java משתמשים ב-IDEA, NetBeans או Eclipse, אך לפעמים יש צורך בסביבות פיתוח קלות יותר או אפילו עורכי קוד כמו Sublime Text, emacs או vim התומכים בתוספים של Java. רשמתי להלן אפשרויות סבירות למי שמחפש משהו קצת יותר קל:
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузor уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор codeа, панель взаимодействия для оценки codeа applications, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, How NetBeans or Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная version Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная version (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

Выбор Java IDE в зависимости от проекта

ניסיתי לתאר את היתרונות החשובים של כל אחד משלושת ה-Java IDEs המשמעותיים ביותר והזכרתי בקצרה את יריביהם הקטנים והשימושיים. כדי לבחור את סביבת הפיתוח הנכונה של Java, עליך לשקול את היתרונות והחסרונות ולהתאים אותם לצרכים שלך ולצרכים של הפרויקטים שלך. אם אתה מצטרף לצוות, מומלץ להשתמש באותו IDE כמו מפתחים אחרים, למרות שזה לא חובה. אם הצוות שלך מארח מקורות ב-GitHub, כמובן שיהיה נוח יותר אם ה-IDE שלך תומך ב-GitHub. כן, אתה יכול לטפל בהעברת קוד ללא IDE באמצעות לקוח GitHub או שורת הפקודה git. אבל עד כמה קפיצות כאלה יהיו אפקטיביות בין מערכות שונות? חשוב גם שה-IDE יתמוך במערכת הבנייה. לדוגמה, אם זה Maven, לא סביר שתרצה לבנות מחדש את המערכת ב-Ant לבדיקה מקומית. למרבה המזל, כל שלושת ה-Java IDEs הגדולים תומכים ב-Ant, Maven ו-Gradle, או מחוץ לקופסה או עם תוסף. אבל עבור IDEs "קטנים" זה אולי לא נכון. זהו רצון טבעי שסביבת הפיתוח תתמוך בגרסה של ה-JRE המשמשת בפרויקט. אם הגרסאות אינן תואמות, יש סבירות גבוהה לקבל הרבה באגים נוספים, שיופיעו, למשל, אצלך, אבל לא אצל חברי צוות אחרים. לא סביר שלמצב כזה תהיה השפעה טובה על הקארמה שלכם. למען האמת, סבירות גבוהה יותר להתרחש חוסר עקביות ב-JRE בגלל שגיאות תצורה מאשר בגלל היעדר תמיכה ב-IDE, אלא אם ה-IDE עדיין לא עודכן לגרסה חדשה של Java. רק תאמין שאם ה-IDE שלך תומך באופן מלא במסגרות ובטכנולוגיות המשמשות בפרויקט, זה באמת עוזר להאיץ את העבודה. סביר להניח שתסתדרו עם זה בכל מקרה. אבל, אם ה-IDE מבין איך הצהרות JPA קשורות לשיעורי ישות וביטוי של JPA (כמו IntelliJ), תבזבז הרבה פחות זמן על קוד הקשור ל-JPA מאשר אם תבין לחלוטין לא נכון. ובכן, אם ה-IDE תומך במסגרת הבדיקה ובמבצע הקוד המשמש לפרויקט, אתה יכול להריץ בדיקות מבלי לשנות את סביבת העבודה. זה גם יאיץ את תהליך הפיתוח. לבסוף, העבודה הולכת מהר יותר אם ה-IDE תואם למערכת מעקב אחר באגים וכרטיסים של הפרויקט. שוב, אתה יכול להשתמש בלקוח עצמאי או אינטרנט, נניח JIRA, אבל קשה לא להסכים שבדיקת כרטיסים היא הרבה יותר מהירה מבלי לשנות את החלון, תוך הישארות ישירות ב-IDE.

חינם או בתשלום?

לאחר בדיקת IntelliJ IDEA Ultimate, הרגשתי שיש לי את סביבת הפיתוח הנכונה. מעין קאדילק של עולם ה-IDE. אני לא אגיד חד משמעית ש-IDEA הוא ה-IDE הטוב ביותר לג'אווה, אבל בשבילי זה המצב. שוב, למרות שזה לא בחינם, אני חושב שרווחי הפרודוקטיביות מהשימוש בו שווים את המנוי השנתי. למתחילים שאינם יכולים להרשות לעצמם מנוי שנתי של IntelliJ IDEA Ultimate, אני ממליץ להשתמש ב-NetBeans ולא ב-Eclipse. כמובן שהמערכת האקולוגית של התוספים של Eclipse היום הרבה יותר מפותחת מזו של כל IDE אחר, אבל היא מאוד מגודלת ולא מטופחת: מפתח מתחיל מסתכן להיתקע בג'ונגל של IDE, Java וההתעמקות בעבודה תימוג ברקע . נגע גם בחלופות "קלות משקל", שתיים מהן פותחו במיוחד למטרות חינוכיות. ובכן, אם אתה רק מתחיל ללמוד שפות ואתה מעדיף סביבה מינימליסטית - למה לא?
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION