הכלים הטובים ביותר לפיתוח יישומים ניידים

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

טכנולוגיית J2ME (Java 2 Platform, Micro Edition) עדיין חדשה יחסית. כלי פיתוח חזקים, במיוחד IDE, יסייעו מאוד לאימוץ J2ME בקרב מפתחי יישומים אלחוטיים. במאמר זה אני סוקר ארבעה מוצרי J2ME IDE:

  • Borland JBuilder 7 Enterprise עם MobileSet 3
  • סטודיו 4 של סאן מיקרוסיסטמס, סטודיו 4 של סאן ONE (סביבת רשת פתוחה)
  • Metrowerks CodeWarrior Wireless Studio 7
  • JVise של S5 מערכות (מבוסס על טכנולוגיית Eclipse של IBM)

נוף של כלי פיתוח J2ME

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

שוק המכשירים המגוונים מביא באופן טבעי לכלי פיתוח מגוונים. לכל ספק מכשירים יש SDK משלהם, אמולטורים למכשירים וכלי ניתוח ביצועים. חלק מה- SDK מגיעים אפילו עם כלי ניהול פרוייקטים ועריכת קוד-מקור משלהם. דוגמה אחת היא ערכת הכלים האלחוטית J2ME של Sun (J2MEWTK). J2MEWTK מכיל יישום הפניה של J2ME / MIDP (פרופיל התקני מידע נייד) ויש לו מספר אמולטורי התקנים הפועלים בפלטפורמות יוניקס / לינוקס ו- Windows. ל- J2MEWTK יש גם כלי פרופיל ביצועים וצגי שימוש אמיתיים בזיכרון. ניתן לנהל את כל הכלים מלוח בקרה מרכזי בשם kToolBar. kToolBar יכול גם לבנות ולארוז תוכניות JAR / Jad מוכנות לפריסה מספריות הפיתוח. עם זאת, שליטה בכל הכלים הללו ובדיקת יישומים על כל האמולטורים עשויות להיות מייגעות.

A J2ME IDE מקל על הפיתוח על ידי שילוב SDK של ספקי התקנים עם כלים אחרים. מפתחים יכולים לקבל ממשק IDE אחיד לכל SDK הנתמכים. IDEs גם משפרים את פרודוקטיביות המפתחים ואת איכות היישומים הניתנים להשגה.

מי צריך להשתמש ב- IDE?

אני לא ממליץ על IDE למפתחים מתחילים. מפתחים כאלה חייבים ללמוד כמה דברים שונים בבת אחת: שפת Java, ממשקי API וחבילות J2ME, IDE עצמו. תכונות הנוחות של IDE יכולות לטשטש בקלות את מה שקורה באמת מתחת למכסה המנוע. בסופו של דבר אתה יכול לפתח מערך מיומנויות הקשור ל- IDE ספציפי. IDEs יכולים לעזור, עם זאת, אם אתה כבר יודע מה אתה עושה. הם יכולים לעשות תהליכים מייגעים רבים עבור מפתח מנוסה.

מדריך הקונה של J2ME IDE

הערכתי את מזהי J2ME של מאמר זה על פי ההיבטים הבאים:

  • תכונות פרודוקטיביות כלליות: הערכתי את התכונות המועילות לכל פרויקטי הפיתוח של Java, ולא לאלו הספציפיים ל- J2ME. התכונות הללו כוללות כלי עורך, מנהל פרויקטים, ניפוי באגים, מעצב אדריכלות וכלי תיעוד, בתוספת כלים לטכניקות תכנות מתקדמות (רפקטורינג, בדיקת יחידות וכו ').
  • שילוב SDK של צד שלישי: תמיכה במספר SDKs היא תכונת ליבה לכל J2ME IDE. אך ספקי IDE מתקשים במעקב ושילוב תמיכה בכל SDK בודד. המפרט Unified Emulator Interface (UEI) מפרט את ממשק התכנות בין SDK ו- IDE. מובטחים ש- SDK ו- IDE תואמי UEI יעבדו זה עם זה. בהערכה שלי, אני דן באילו SDK ה- IDE תומכים מחוץ לקופסה, האם IDEs תומכים ב- UEI, וכמה קשה לעבור בין SDK בפרויקט.
  • כלים לאחר איסוף: יישומי J2ME הם יישומים ניידים הדורשים רמת אבטחה וביצועים גבוהים. ערפול קוד יכול למנוע מאנשים לבצע הנדסה לאחור של קבצי הכיתה ולהפחית את גודל הקוד. טכניקות אופטימיזציה מיוחדות זמינות מספקי IDE ושותפיהם. יישומי J2ME ניתנים לעיבוד פוסט ואופטימיזציה למכשירי פריסה בהתבסס על המשאבים הזמינים עבור סוגי מכשירים ספציפיים. כלי עיבוד לאחר, ערפול ואופטימיזציה אלה נכללים בקטגוריה זו לאחר ההידור.
  • תמיכה בפריסה דרך האוויר (OTA): יישומי J2ME נפרסים לרוב ברשתות אלחוטיות ציבוריות. מפרטי J2ME OTA מסדירים את התהליך לגילוי, הורדה, אימות, אישור, אימות וביצוע של יישום Java נייד. מפרטי OTA דורשים קבצי מטא מעוצבים כהלכה בצד השרת ו- Java Application Manager (JAM) בצד המכשיר הנייד. השרת דורש גם תצורות מיוחדות כדי לתמוך בסוגי מטא של OTA. תהליך ה- OTA יכול להיות מורכב למדי עם המהדורה הקרובה של MIDP 2.0. IDE אמור לעזור ליצור קבצי מטא אלה באופן אוטומטי. IDE טוב צריך לשלב גם לקוחות JAM תואמי OTA כדי לבדוק את הפריסה בתוך IDE.
  • פיתוח יישומים ניידים מקצה לקצה: מכשירי J2ME אינם חזקים מספיק בכדי לעבד או לאחסן כמויות גדולות של מידע לבד; יישומי J2ME הם לעתים קרובות לקוחות עבים עבור שרתי יישומים ארגוניים אחוריים. לפיכך, IDE ממדרגה ראשונה אמור לאפשר למפתחים לבנות פרויקטים שלמים מקצה לקצה. זה ממזער עלויות למידה ומאמצי תיאום פרויקטים.
  • תיעוד והדרכות: פיתוח יישומים ניידים של Java הוא תהליך מתוחכם הכולל היבטים רבים של הנדסת תוכנה. IDEs מספקים כלים לאוטומציה של משימות רבות; עם זאת, בשל המורכבות הפנימית של תהליך הפיתוח, מתכנתים מתחילים מתקשים להשתמש בתכונות אלה בצורה נכונה. הדרכות ומחקרי מקרה מפורטים מוכיחים כי הם חיוניים לאימוץ יעיל של IDE.
  • בוני J2ME GUI (ממשק משתמש גרפי): לחלק מה- IDE יש כלי RAD (פיתוח יישומים מהיר) המאפשרים למפתחים לבנות ממשקי משתמש ניידים חזותית. כלים אלה פונים למפתחים מעולם שולחן העבודה - אלה המכירים את כלי RAD של J2SE (Java 2 Platform, Standard Edition). עם זאת, השתמש בבניית ה- GUI החזותית של J2ME בזהירות: מכיוון שמכשירים אלחוטיים שונים בגודל המסך, אותו עיצוב ממשק משתמש עשוי להופיע אחרת במכשירים שונים. לדוגמא, מחשב כף יד של כף יד יכול להציג ארבעה כפתורי פקודה ברצף. אך טלפון סלולרי עשוי לבקש ממך לבחור מתוך רשימה של ארבע פקודות כאשר תלחץ על כפתור התפריט. אז מה שאתה רואה בבונה GUI לא יכול להיות מה שאתה מקבל בסופו של דבר במכשיר מסוים.

JBuilder 7 Enterprise עם MobileSet 3

Borland JBuilder הוא Java IDE בעל שם בעל שלוש מהדורות: Personal, Standard (SE) ו- Enterprise. כל מהדורות JBuilder יכולות לפעול במספר פלטפורמות כולל Windows, Linux, Solaris ו- Mac OS X. כדי לתמוך בפיתוח J2ME ב- JBuilder, עליך להתקין מודול תוספת בשם MobileSet. נכון לעכשיו MobileSet פועל רק ב- Windows, אך מתוכננת תמיכה בפלטפורמות נוספות.

JBuilder Personal זמין ללא תשלום מאתר Borland. עלות JBuilder SE היא 99 (ספטמבר 2002), ועלות המהדורה הארגונית 999. אתה יכול להוריד רישיונות ניסיון בחינם למשך 30 יום עבור המהדורות הרגילות והן עבור המהדורות הארגוניות. אף על פי שהמהדורה האישית בחינם מציעה ערך מועט. חסרים לו כמה תכונות פרודוקטיביות בסיסיות. לדוגמא, אינך יכול אפילו לנהל את קוד המקור שלך באמצעות היררכיות חבילות, מה שמקשה על פיתוח פרויקטים גדולים עם שיעורים רבים.

לעומת זאת, JBuilder 7 Enterprise מציע מערך כלים עשיר התומך ביישומי Java (במיוחד J2EE (Java 2 Platform, Enterprise Edition) יישומים) תכנון, פיתוח, בדיקה ופריסה. הוא מצורף לשרת יישומי J2EE של בורלנד עצמו, מסד הנתונים של בורלנד InterBase SQL, ומהדורת ניסיון של Optimizeit Suite של החברה, כלי ייעול Java. התוכנה העטופה בכיווץ מגיעה עם שלושה ספרי תיעוד הדרכות. לא זו בלבד שספרים אלה מספקים מחקרי שימוש ב- JBuilder, הם משמשים גם משאבים טובים ללימוד פיתוח כללי של יישומי Java.

כדי לפתח יישומי J2ME על גבי כל מהדורת JBuilder 7, עליך להתקין את MobileSet, הורדה בחינם מאתר בורלנד. לאחר הפעלת המתקין, MobileSet מוסיף אשפים חדשים, סביבות הידור / זמן ריצה ופריטי תפריט להתקנת JBuilder הקיימת שלך. הסקירה הבאה מתמקדת ב- JBuilder 7 Enterprise.

  • תכונות פרודוקטיביות כלליות: JBuilder 7 Enterprise מציע תכונות פרודוקטיביות Java מהשורה הראשונה. יש לו עורך רב עוצמה, מהדר וניתוח באגים. תכונות מתקדמות יותר כוללות תמיכה מרובה ב- JVM ובזמן ריצה, כלי הדמיה של UML (Unified Modelling Language), כלים לעיצוב לוגיקה ביישומים (למשל, מעצבי EJB חזותיים (Enterprise JavaBean) חזותיים), תמיכה משולבת לבדיקת יחידות, כלי רפקטורציה וכלי javadoc. עבור יישומים ארגוניים, JBuilder תומך בייצור אוטומטי של ארכיוני אינטרנט וארגונים (WAR / EAR) ופריסה בכל שרתי היישומים המובילים. באמצעות JBuilder, תוכלו גם לשלב בפרויקט שלכם כלים חזקים של צד שלישי, כגון CVS (Concurrent Versioning System) לניהול קוד המקור ו- Ant לבניות מותאמות אישית.
  • שילוב SDK של צד שלישי: פלטפורמת J2ME היחידה שתומכת ב- JBuilder היא MIDP. JBuilder MobileSet תומך ב- J2MEWTK, Nokia, Siemens ו- Sprint PCS SDKs. אבל ההורדה של MobileSet עצמה מכילה רק J2MEWTK כדי להתחיל בעבודה; עליך להוריד SDK אחרים בנפרד. מכיוון ש- JBuilder תומך ב- UEI, אני מצפה שהוא יתמוך ברוב ה- SDK העתידי. הכלי מאפשר לך לעבור בין מספר JVM וסביבות זמן ריצה בפרויקט, מה שמפשט פיתוח פלטפורמות מרובות.
  • כלים לאחר איסוף: ל- JBuilder MobileSet יש תמיכה מובנית בערפול קבצים בכיתה באמצעות RetroGuard 1.1. חבילת Optimizeit הכלולה יחד ממטבת את גודל היישום וביצועיו.
  • תמיכה בפריסת OTA: עם JBuilder Enterprise, אוכל ליצור בקלות קבצי מניפסט של צנצנת וקבצי jad לפרויקט MIDP שלי. פרויקטים יכולים להתפרס על שרת מרוחק שהוגדר כראוי דרך לקוח ה- FTP המובנה של JBuilder. עם זאת, JBuilder אינו מגדיר את השרת עבורך. באפשרותך לבדוק יישומים פרוסים באמצעות קבצי JAM תומכים ב- OTA המשולבים ב- JBuilder.
  • פיתוח יישומים ניידים מקצה לקצה: ל- JBuilder 7 Enterprise יכולות מצוינות לפיתוח שרתי יישומי גב J2EE. אתה יכול לפתח יישומים מקצה לקצה לחלוטין בתוך JBuilder.
  • תיעוד והדרכות: שלושת הספרים שמגיעים עם JBuilder 7 Enterprise זמינים כולם באופן חופשי בגרסאות HTML והן ב- PDF מאתר Borland. לבורלנד יש גם ספרי הדרכה להורדת MobileSet ומסמכים רבים אחרים. תמיכת התיעוד של JBuilder מצוינת.
  • בוני J2ME GUI: ה- MobileSet מגיע עם בונה MIDP GUI; הפקת קוד GUI עם JBuilder מוכיחה שהיא קלה למדי.

Sun ONE Studio 4 מהדורה ניידת

בעבר נקרא Forte for Java, Sun ONE Studio משתמש בטכנולוגיית NetBeans כדי לשלב מודולים חיצוניים ב- IDE. סטודיו Sun ONE מגיע עם שלוש מהדורות: Community, Mobile ו- Enterprise for Java. מהדורות הקהילה והמובייל אינן בחינם; עלות Enterprise עבור Java היא 995 ויש לה תכונות פיתוח ופריסה מתוחכמות של J2EE. תוכל להשיג רישיון ניסיון למשך 60 יום בחינם עבור Enterprise עבור Java מאתר האינטרנט של Sun.

סטודיו Sun ONE מופץ באינטרנט ובתקליטור. התקליטור מכיל את כל המהדורות של Sun ONE Studio 4 בכל הפלטפורמות הנתמכות וכן ב- J2SE ו- J2EE. ההתקנה קלה.

למרות שמהדורה ניידת מוגדרת מראש עם תמיכה ב- J2ME, יש לה רק תכונות IDE מוגבלות. באפשרותך להוסיף בקלות יכולות פיתוח J2ME לקהילה ולארגון למהדורות Java על ידי התקנת מודול אלחוטי J2ME. מודול זה תואם את המפרט של NetBeans וניתן להתקין אותו בכל מהדורת Sun ONE Studio. המודול האלחוטי J2ME מספק תבניות ספציפיות ל- J2ME, אשפים, פריטי תפריט ושילוב מהדר ואמולטור ומגיע יחד עם J2MEWTK.

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

המהדורות החינמיות של סטודיו Sun ONE הרשימו אותי. Sun ONE Mobile Edition או מהדורת Community בתוספת המודול האלחוטי הם היחידים J2ME IDE בחינם שאני ממליץ עליהם. הם מספקים תכונות IDE חשובות לפרויקטים גדולים ומורכבים. מהדורת הקהילה אף מספקת תכונות בסיסיות לפיתוח אפליקציות בצד השרת; תוכל לפתח יישומי סרוולט ומסדי נתונים עם מהדורה זו. סטודיו Sun ONE הוא ה- IDE היחיד במאמר זה שיש בו תמיכה ב- J2ME בפלטפורמות שאינן חלונות. ההערות שלהלן מבוססות על הניסיון שלי עם Sun ONE Studio 4 Enterprise עבור Java בתוספת המודול האלחוטי. אך רובן חלות גם על מהדורת הקהילה החינמית.