לדלג לתוכן

Java Micro Edition

מתוך ויקיפדיה, האנציקלופדיה החופשית
גרסה מ־03:18, 25 בדצמבר 2003 מאת עדי לב (שיחה | תרומות)
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)

ב [[Java] מורצת התוכנה על מכונה וירטואלית. תכונה זו של ניתוק ממערכת ההפעלה ע"י כתיבת JVM שהיא מיני מערכת הפעלה סטנדרטית אומץ לתחום אחר והוא הטלפונים החכמים כחלק מקבוצה של EMBEDED DEVICES. גם שם ריבוי המכשירים, ריבוי מערכות ההפעלה, וסוגי מעבדים שונים נתנו יתרון לפיתוח מבוסס מכונה וירטואלית תחום זה הוא J2ME -MOBILE EDITION JAVA 2.
בתחום זה הוגדרו מספר וריאציות:

  • JAVA למכשירים חזקים כמו PDA והיא PERSONAL JAVA.
  • JAVA לטלפונים ומכשירים אחרים שבמקור היו מוגבלי זיכרון ויכולת מחשוב וזה הMIDP.
  • שווה להזכיר יש גם JAVA TV לטלוויזיה אינטרקטיבית ומשחקים הרצים על ממירים כתובים בJAVA. ששיכים לאותו הקבוצה.
  • q אפליקציות EMBEDED – למשל מערכת בקרה לרובוט שהוצגה ב-JAVA ONE האחרונה או JAVA ON A CARD.
    גם כאן הכלל "כתוב פעם הרץ בכל מקום" עוזר למפתחים. אך עדיין גם פה פרמטרים כמו: גודל מסך, מספר צבעים,תמיכה במצביע ועדכון מסך חכם, הם פרמטרים שהמתכנת צריך להתייחס אליהם.
    הואיל וJAVA רצה על מכונה וירטואלית ולכן מתאימה לטלפוניה. כך ניתן לכתוב קוד משחק JAVA פעם אחת והוא יצליח לרוץ על מגוון רב של סוגי טלפונים ששונים הן במערכת ההפעלה, במעבד או במסך.
    שני הסוגים העיקרים ב-J2ME הםMIDP וPERSONAL JAVA. כאשר נבנתה גם וריאציה מורחבת לMIDP לPDA . ביפן פותחה גרסה אחרת שנקראת IAPP ועליה בהמשך.
    כדי לפשט את התאמת וכתיבת המכונה הוירטואלית לטלפונים ומערכות קטנות חולקה המכונה הוירטואלית ( (JVM לשתי שכבות:
  • שכבה התלויה במערכת ההפעלה CDC או CLDC.
  • שכבת ממשק האפליקציה כמו טיפול בתפריט ובמסכים.
    ה-CDC היינו התשתית למערכות שהן יחסית עתירות משאבים ומשמעותו CONNECTED DEVICE CONFIGURATION כגון PDA וחלק מה- SMART PHONES וה CLDC מיועד למערכות מוגבלות משאבים: LIMITED L= כגון טלפונים שהם לרוב מוגבלי זיכרון ומהירות הCPU.
    ה MIDP הוא הגרסה שרצה ב-90% מהטלפונים /PDA תומכי JAVA – היתר מתחלקים בין PERSONAL JAVA לבין IAPP. עכשיו החדירה של טלפונים תומכי JAVA היא 25% וההערכה היא שעד 2006 כל הטלפונים יתמכו בJAVA .
    ה-MIDP רוכב מעל הרמה הבסיסית - CLDC, שהיא השכבה המוגבלת, ובהתאם מכילה תת מרחב של ממשק הAPI- הסטנדרטי. למשל לא קיים טיפול במספרים ממשיים ובפונקציות מתמטיות וגם ממשק האפליקציה מנוון ומבוסס על ספריה אחרת ומצומצמת.
    מצד שני PERSONAL JAVA (וגם-JAVA TV ) רוכב מעל שכבה CDC ובהתאם תומכים בממשק מורחב יותר, הדומה יותר לממשק הסטנדרטי, למשל PERSONAL JAVA מכיל AWT, שהוא אותו ממשק מסכים שנמצא גם בAPPLET הרץ על דפדפן EXPLORER.
    יש טלפונים חכמים POKET PC או P800 של SONY ERICCSON שמריצים את שתי הגרסאות.
    כדי לעזור לחברות יצרני הטלפונים באדפטציה של JAVA נכתבו דוגמאות מימוש כבסיס. בנוסף יש קבוצה בSUN שמספקת שירותי מימוש JAVA לטלפונים וכתיבת סביבת פיתוח כמו אמולטורים (מדמי טלפון בתוכנה), שחלק ניכר מהם מפותח בקבוצה בישראל. בניגוד לרוב השפות הקיימות על שפת JAVA יש זכויות יוצרים. הרווחים של SUN הם בין היתר מזכויות יוצרים על שימוש ב-JAVA, למשל על כל טלפון נייד תומך JAVA, אפילו אם לא השתמשו במימוש של SUN.
    האפליקציה של MIDP נקראת MIDLET על שם הממשק של התוכנית הראשית (שהוא כמו ה – MAIN של C או JAVA ולמעשה הוא ה CLASS הבסיסי ל MAIN של תוכנת טלפונים). הממשק הנ"ל תומך בפונקציות העיריות הבאות:
  • 1. הפעלה ראשונית, המתנה (בעת קבלת שיחה למשל) וסיום האפליקציה.
  • 2. קבלת אובייקט המסך כדי לשנותו על ידי אובייקט אחר שהינו או FORM (כמו בVISUAL BASIC ) שעליו ניתן לשים שדות, כפתורי ברירה תפריטים וכולי) או CANVAS לציור על ידי אלמנטים פרי מטיבים יותר (כמו קו / מעגל / תמונה)
  • 3. אפליקציה (או מספר אפליקציות) ארוזה בצורת JAR.* (שזה למעשה ZIP המורץ על ידי JAVA) ובמקביל יוצרים קובץ קצר *.JAD שזה קובץ תיאור האפליקציה כולל גודל זיכרון נדרש שמות האפליקציות בתוך ה –JAR והICON שלהם, תאור מטרת התוכניות וכתובת הJAR לטעינה.
  • 4. בשרתי טעינה תוכנה (PROVISING MIDLET) אתה יכול לטעון קובץ JAD ראשית כדי לקבל תיאור האפליקציה ולבדוק אם יש לך מספיק מקום בזיכרון ואם זה האפליקציה הנכונה ואז לאשר טעינת התוכנה.
  • 5. מערכות טעינה חכמות מגנות מטעינה חוזרת ע"י יצירת JAD דינמי ונתינת כתובת זמנית לJAR , חד פעמית, לכל טעינה.


  • האם עקרון " כתוב פעם אחת הרץ בכל מקום" עובד תמיד – לא בדיוק! בגלל גודל מסך, מספר צבעים ולחצנים שונים התנהגות התוכנה לא תמיד זהה בכל טלפון. הרבה פעמים במקום לכתוב קוד המטפל בשינויים בין המכשירים (ומגדיל את גודל ה-MIDLET) יוצרים גרסאות המותאמות לסוגים השונים. תפקיד הפורטל (שהינו או תפריטי WAP או אתר הורדות) להתאים את הגרסה הנכונה לטלפון. זה נעשה לדוגמא על ידי רישום של המספר וסוג הטלפון וזיהוי על פי מספר טלפון. (לרוב בצורה הנכונה בכל העולם, לדוגמא +97254XXXXXX)
    במקביל להתפתחות של הטלפונים באירופה ובארה"ב על ידי נוקיה, מוטורולה וסימנס התפתחה ביפן תרבות משחקי טלפון שגרמה להיווצרות דיאלקט JAVA משלהם שנקרא IAPP. בניגוד לMIDP היא הותאמה למשחקים וDoCoMo היינו המפעיל המפורסם מכולם. משחק כמו עולם וירטואלי של סמוראים הוא דוגמא לרמת התפתחות תרבות המשחק בטלפונים שם.
    בהמשך לדרישה של תמיכה חזקה יותר באפליקציות בידוריות ובמשחקים יצאו שלושה סטים של הגדרות ממשקים:
  • ממשק מולטימדיה התומך בנגנים של אודיו ווידאו וSMS/MMS והרבה טלפונים תומכים בו בימינו.
  • ממשק MIDP 2.0 שמוסיף את התמיכה במשחקים כמו SPRITES (דמויות דו ממדיות הזזות על פני המסך ויודעים לזהות התנגשות) ובאנימציה (הצגה של סדרת תמונות). בנוסף שופרו בו תוכנות התקשרות כמו בקרת גישה לרשת ואפשרות יזומה של בקשה כלפי הטלפון (OVER THE AIR ) בMIDP המקורי ברוב הפעמים הטלפון פנה בבקשת HTTP (כמו דפדפן) לשרת. פה הורחבו האפשרויות. בשלב זה רק נוקיה הכריזה על מוצר 6600 אך אחרים כבר בדרך.
  • ממשק תלת ממד, שעדיין לא נמכר צרוב בטלפון על ידי אף אחד מהחברות אך יש פעילות רבה סביבו. כולל מימוש OPEN GM (שזה הOPEN GL ל MOBILE – ממשק המחליף את שכבת הDIREC-X בטלפונים) מקורות:
  • JAVA.SUN.COM/J2ME
  • WWW.JAVA.COM
  • WIRELESS.JAVA.SUN.COM
  • www.midlet.org
  • http://www.javaworld.com/javaworld/jw-01-2001/jw-0105-midp.html
  • http://www.forum.nokia.com/main.html