بما أني بدأت تعلم برمجة الجوالات بإستخدام J2ME ولقلة المصادر العربية بهذه التقنية فأردت أن أكتب ما أتعلمه ولا أضمن أن أستمر بالكتابة في هذه السلسلة فلربما أتوقف فجأة .*ملاحظة:هذا المقال نظري فلذلك أنصح بقرائتة قرائة سريعة ولاتقلق إذا لم تفهم ، وعاود قرائته بالأخير .
J2ME هي جافا مخصصة للأجهزه الصغيرة micro كالجوالات وأجهزة PDA وغيرها من الأجهزة الصغيرة.
وطبعا لإختلاف الأجهزة الصغير من حيث قوة المعالج والذاكرة قسمت J2ME إلى :
1- Configuration (تشكيلات) :
أ- Connected Device Configuration – CDC :
وهذه للأجهزة ذات المواصفات شبه عالية كأجهزة PDA المتطورة أو تلفيزيونات الإنترنت.
وتكون ذات المواصفا التالية :
- على الأقل 512ك.ب روم و 265ك.ب رام وصولا إلى 2.5 ميقا روم و 2 ميقا رام.
- أن يكون الجهاز يتصل بشبكة ما .
- تدعم JVM الأساسية كاملة كما في الأجهزة الشخصية العادية.JSR 36
ب-Connected Limited Device Configuration – CLDC :
وهذه للأجهزة المحدودة Limited مثل أجهزة الجوال أو الPagers .وهي لاتدعم الجافا الإفتراضية العادية بل لها جافا خاصة بها هي KVM نسبة إلى الكيلو بايت.
و KVM لا تحتوي على كل المكتبات الموجودة في JVM بل إن بها مكتبات محدودة للغاية .
وهنا ك إصدارين مختلفين من CLDC هما CLDC1.0 و CLDC1.1 و بصراحة لا أعرف معظم الفروق بينهما سوى القليل منها كإضافة float و Double و Reference و WeakReference في الإصدارة CLDC1.1 حيث لم تكن بالإصدارة الأولى .
JSR 30 : CLDC 1.0
JSR 139 : CLDC 1.1

2- Profiles (توصيفات) :
وهي تقسم آخر يقسم كل Configuration إلى عدة Profiles .
التشكيلCLDC مقسم إلى عدة أنواع منها:
أ-Personal Digital Assistant Profile PDAP : وهي بروفايلز PDA صمت للبيئات الصغيرة ك أجهزة البالم PALM ووضعت مخصصة لوحدها لأن اجهزة ال PDA أكبر من أجهزة الجوالات العادية وهي ذات ذاكرة ليست أقل من 512 ك.ب(رام+روم) و ليست أعلى من 16 ميقا وهي MIDlet عادية مضاف إليها جزء من مكتبات AWT .
JSR 75 : PDAP
ب- :Mobile Information Device Profile - MIDP :
وهي البروفايلز للجوالات العادية أو أجهزة البي دي إي الصغيرة (وهذه هي التي سوف نعمل عليها)
مكتبات MIDP 1.0 :
java.io
java.util
java.lang
javax.microedition.io
javax.microedition.rms
javax.microedition.lcdui
javax.microedition.midlet
المكتبات المضافة في MIDP 2.0 :
javax.microedition.pki
javax.microedition.media
javax.microedition.media.control
javax.microedition.lcdui.game
JSR 37 : MIDP1.0
JSR 118 : MIDP2.0
وهناك عدة بروفيلز أخرى كـ:
Personal Profile
Foundation Profile
RMI Profile
وهي لا تهمنا في الوقت الحالي ولكن للإستزادة تجدون شرح مبسط عنها في:
http://developers.sun.com/mobility/getstart/articles/intro
الخلاصة :
سوف يكون عملنا كله حكراً على التشكيل (CLDC : (Configuration
و التوصيف (MIDP : (Profiles
وأنت ستختار ما يناسب الجوال الذي تريد أن يعمل البرنامج عليه فأنت ستختار بين CLDC 1.0 و CLDC 1.1 حسب ما يدعمه جهازك و حسب حاجتك فإذا كنت تريد إستخدام float و كان جهازك يدعم CLDC 1.1 فبإمكانك إختيارها أما إذا كان جهازك لايدعمها فليس بإمكانك بأي حال من الأحوال إستخدامها .
وأيضا نفس الكلام بالنسبة لـ MIDP ستختار بين MIDP 1.0 و MIDP 2.0 حسب حاجتك وقريبا MIDP 3.0 ولكن لن نتطرق لها في الوقت الحالي .
مصنف في
السلام عليكم
شكرا جزيلا يا اخ ماجد هذا التوضيح فادني كثيرا ارجوا الاستمرار
اتمنى لك الموفقيه والنجاح