J2ME برای توسعه دهندگان برنامه های موبایل

J2ME برای توسعه دهندگان برنامه های موبایل

Java 2 Micro Edition یا به اختصار J2ME یکی از سه تکنولوژی اصلی شرکت سان میکرو سیستمز بود که این تکنولوژی برای برنامه نویسی درگوشی های موبایل یا سایر دستگاه های بدون سیم استفاده می شود. زبان جاوا از پروژه شکست خورده ای به نام Green سربر آورد. هدف این پروژه ایجاد یک زبان برنامه نویسی برای انواع دستگاه های الکترونیکی مخصوصاً تلویزیون ها و کنترل های از راه دور آنها بود. قرار بود این پروژه بر روی همه انواع این دستگاه ها پیاده‌سازی شود و مزیت آن این باشد که بعد از یکبار نوشتن کد آنرا در هر وسیله ای بتوان اجرا کرد. به دلایلی این پروژه شکست خورد و به مرحله اجرا نرسید.

بعد از ظهور وب و اتصال انواع و اقسام پلت فرم های سخت افزاری و نرم-افزاری به آن، نیاز به وجود یک زبان پیدا شد که خروجی آن بر روی صفحات وب قادر به اجرا بر روی تمامی پلت فرم ها باشد. برای مثال یک برنامه را فقط با یک بار کد نویسی و بدون تغییر در آن بتوان در انواع سیستم عامل های نظیر ویندوز، لینوکس و مکینتاش اجرا نمود. این شد که دوباره پروژه گرین به روی کار آمد و با تغییر نام و به همراه داشتن قابلیت «یکبار بنویس و در همه جا اجرا کن» به جهان عرضه شد. جاوا متولد شد و دنیای وب را تغییر داد!

شما هرگز نمی توانید این قابلیت «یکبار بنویس و در همه جا اجرا کن» را در هیچ زبان برنامه نویسی دیگری پیدا کنید. به این خاصیت در اصطلاح فنی Portable یا قابل حمل گفته می شود. بعد از ظهور تکنولوژی بی سیم و به خصوص به روی کار آمدن موبایل احساس شد که می توان برای دستگاه های کوچک نیز برنامه نوشت. اینجا بود که بازهم زبان جاوا با همان قابلیت مذکور قد علم کرد.

قبل از اینکه فراموش شود باید خاطر نشان کرد که این خاصیت توسط “ماشین مجازی جاوا” یا JVM فراهم می‌شود. یعنی برای هر پلت فرمی یک ماشین مجازی جاوای مخصوص نوشته شده که کدهای تبدیل شده را برای آن پلتفرم مخصوص ترجمه می کند. تذکر این نکته بسیار مهم است که کدهای JavaScript هیچ شباهتی به زبان برنامه نویسی جاوا ندارد و هیچ ریطی هم به آن ندارد!

بررسی ساختارJava ME

تکنولوژی Java ME در اصل برای ایجاد امکان برنامه نویسی در دستگاه-های کوچک بوجود آمد. به همین منظور Sun مجموعه ای از حداقل امکانات مورد نیاز برای تولید برنامه های کاربردی برای دستگاه هایی با حافظه محدود، باطری با ظرفیت پایین، صفحه نمایش ضعیف و … فراهم نمود.

تکنولوژی Java ME بر مبنای سه جز اصلی بنا شده است:

  • Configuration : این بخش شامل مجموعه ای از کتابخانه ها و امکانات پایه ای ماشین مجازی جاوا بوده که به کمک آن، طیف وسیعی از تجهیزات «مانند موبایل،Tablet و …» توانایی اجرای برنامه های جاوای نوشته شده برای این نوع از تجهیزات را پیدا می کنند.
  • Profile: علاوه برای کتابخانه های موجود در Configuration، هر گروه از تجهیزات که معمولاً توسط یک تولیدکننده ساخته می شوند، به مجموعه ای از API ها که خاص آن گروه از تجهیزات می باشد نیاز دارند. این APIها در یک Profile قرار می گیرند.
  • Optional Package: مجموعه ای از APIهای اختیاری است که امکانات اضافه ای را در اختیار برنامه نویسی قرار می دهد و برنامه نویسی بنابر صلاحدید و نیاز سیستم از آنها استفاده می کند.

بطور کلی ‍Configurationها به دو دسته اصلی تقسیم می شوند. دسته اول مربوط به تجهیزات قابل حمل کوچک مانند موبایل های معمولی و دسته دوم مربوط به تجهیزات قابل حمل با ظرفیت و قدرت بالاتر «مانند Smart Phone » می باشد.

گروه اول که مربوط به تجهیزات ضعیف تر است،
Connected) Limited Device Configuration) CLDC
نام دارد و گروه دوم ( Connected Device Profile) CDC نام دارد.

تکنولوژی ME Java و نحوه ارتباط آن با سایر تکنولوژی های جاوا

J2ME

محیط Configuration مربوط به تجهیزات قابل حمل ضیعف تر یا CLDC

J2ME

همانطور که گفته شد این پیکربندی یا Configuration مربوط به تجهیزاتی با پردازنده، حافظه، گرافیک و باطری محدود و ضعیف مورد استفاده قرار می گیرد. نکته ای که در تصویر فوق قابل مشاهده می باشد آن است که Profile ها روی Configurationها قرار می گیرند و امکانات اضافه تری را به آن اضافه می نمایند.

در تصویر Profile با نام Mobile Information Device(MIDP) Profile

مورد استفاده قرار گرفته است. که پروفایل استاندارد تعریف شده توسط Sun می باشد. شرکت Sun برای راحتی کار برنامه نویسان و به خاطر اینکه آن ها با طیف گسترده ای از Profile ها مواجه نشوند، یک Profile استاندارد تعریف نمود که قابلیت کار در اکثر تجهیزات این گروه را دارد و از بیشتر امکانات این تجهیزات پشتیبانی می کند.

بطور کلی اگر CLDC و MIDP موجود باشند می توان برنامه های مورد نیاز جهت اجرا بر روی تجهیزات قابل حمل مانند گوشی موبایل را ایجاد نمود. به برنامه هایی که بر مبنای این دو عنصر فوق ساخته می شوند، MIDlet می گویند. همانند سایر برنامه های جاوا، یک MIDlet نیز یکبار نوشته شده و در هر محیطی که دارای دو مجموعه فوق باشد قابل اجرا می باشد.

محیط Configurationمربوط به تجهیزات قابل حمل قوی تر یا CDC

J2ME

این پیکربندی در تجهیزات قابل حمل قوی تر مانند PDA، Smart Phone، set-top box و … بکار می رود.
CDC نسبت به CLDC از امکانات بیشتری از ماشین مجازی جاوا برخوردار بوده و ابزارهای توسعه در این پیکربندی بر مبنای تکنولوژی استاندارد جاوا یا Java SE می باشد.

در ادامه برخی از مزایای مهم CDC را مشاهده می نمایید:

  • ۱٫ امکان برقراری ارتباط با برنامه های کاربردی تحت شبکه را فراهم می کند. این ویژگی مهم سبب می شود تا کاربران، مشتریان و … بتوانند بوسیله تجهیزات قابل حمل خود به برنامه کاربردی دسترسی یافته و از داده های آن استفاده نمایند.
  • ۲٫ کاربران و برنامه نویسان از قابلیت ها و توانایی ها و امنیت موجود در تکنولوژی جاوا، در برنامه های کاربردی تحت تجهیزات قابل حمل خود سود خواهند برد. «استفاده از مزایای اصلی زبان جاوا»

در CDC سه نوع Profile وجود دارد:

  • ۱٫ The Foundation Profile (JSR 219)
  • ۲٫ The Personal Basis Profile (JSR 217)
  • ۳٫ The Personal Basis Profile (JSR 217)

با توجه به مطالب قبل می توان گفت که محیط یا به عبارت دبگر تکنولوژی Java ME تمامی تجهیزات کوچک قابل حمل را تحت پوشش خود قرار می دهد. از طرفی این محیط قادر است تا با تکنولوژی های دیگر نیز ارتباط برقرار نموده و همچنین بطور پیش فرض از قابلیت های ذاتی جاوا «مانند امنیت، قابلیت حمل برنامه و استقلال از محیط» نیز تبعیت می کند. نکته مهم دیگر آن است که سرویس های ارائه شده توسط محیط Java ME بین تمام Configurationها و Profile ها قابل انتقال و استفاده می باشند. این امر به این معناست که تجیهزات مختلف با Profileها و Configurationهای متفاوت قادر به برقراری ارتباط با یکدیگر می باشند.

چرا از Java ME استفاده کنیم؟

بدرستی می توان گفت که محیط جاوا راه حل مناسبی برای ایجاد برنامه های کابردی قابل حمل برای تجهیزات بی سیم قابل حمل می باشد. این محیط مجموعه غنی از کامپوننت های مورد نیاز برای تولید برنامه-های کاربردی قابل حمل را در اختیار برنامه نویس قرار می دهد. این کامپوننت ها توسط کمیته ای متشکل از مهندسین و متخصصین علوم کامپیوتر و ارتباطات با عنوان Java Community Process تولید شده اند.

منابع:

با ما باشید