مقدمه
طبق آمار سایت Global Videogame Market سهم 7 میلیون دلاری بازی های همراه از بازار 28 میلیارد دلاری بازی های رایانه در سال 2001 ( که تقریباً معادل 025/0درصد است) به سهم 6/3میلیارد دلاری از بازار 30 میلیارد دلاری بازی های رایانه ای در سال 2006 افزایش یافته است. یعنی تنها در عرض 6 سال این بازار رشدی 500 درصدی داشته است. ارقام وقتی حیرت آورتر می شود که پیش بینی کاربران بازی های همراه را هم با یکدیگر مقایسه کنیم. در سال 2002 تنها 7 میلیون کاربر تلفن همراه از بازی های همراه استقبال می کرده اند. IDC پیش بینی کرده است که این آمار در سال 2007 به 2/71 میلیون کاربر بالغ خواهد شد. یعنی تعداد علاقه مندان به این بازی ها در عرض ای مدت ده برابر شده است.
اکنون میکرو سافت نسخه Windows CE خودش را که بسیار شبیه به Windows XP را ارائه کرده است. RedHat هم لینوکس کوچولوی خود را ارائه داده است. و البته همه و همه اینها برای تلفن های همراه پیشرفته تر است. آنهایی که به سری 60 به بالا معروف هستند از چنین سیستم عامل هایی سود می برند. برای دستگاههای همراه کوچکتر هر سازنده ای سیستم عامل خاص خودش را دارد که الزاماً نرم افزارهای آزادی هم نیستند.
برای نوشتن نرم افزار برای این دستگاه های کوچک و جیبی هم مناقشه ها بسیار است. سان جعبه ابزار بی سیم خودش را دارد که بسیار هم به آن می نازد. یک عیب کوچک هم دارد و آن اینکه IDE مناسبی ندارد و شما باید از دیگر ویرایشگرهای جاوا سود ببرید که با نصب ابزارهایی برای نوشتن MIDlet مجهز می شوند. میکروسافت هم در نسخ جدید Visual Studio خود هم امکان را عرضه داشته است. اولی را رایگان و تحت لیسانس کاربری عمومی سان[1]می توانید از اینترنت بگیرید و دومی را قفل شکسته به هر قیمتی که خواستید در گیشه هر بقالی در هر کجا یافته می شود.
جنگ IDE ها هم بسیار است. Eclipse , Net Beans هر دو به اصطلاح نرم افزارهای آزاد هستند و رقبای سرسخت. بورلند هم از قافله عقب نیفتاده است و میکروسافت می کوشد بازار از دست رفته را مثل همه جای دیگر دوباره قبضه کند. اما در میان همه اینها هستند کسانی که با لذت و شعف از Programmers Notepad تعریف می کنند. ابزارهایی را به این نرم افزار کوچولوی آزاد می افزایند و آن را تبدیل به سریع ترین IDE می کنند.
Linux
آدرس سایت: http:// www. Linux. Org/
یکی از قویی ترین سیستم عامل ها، لینوکس است این سیستم عامل نهضت نرم افزارهای باز[2] را هدایت می کند و سکوپی قوی را برای سرورها،کامپیوترهای رومیزی و اخیراً کامپیوترهای جیبی فراهم کرده است. لینوکس به طور گسترده ای توسط سانده های سخت افزارها و کمپانی های نرم افزاری بزرگ مانند ( IBM, Novell, HP….) پشتیبانی می شود. البته این سیستم عامل به طور گسترده پذیرفته نشده و برای بازاریابی های گسترده مناسب نمی باشد. زبان های برنامه نویسی مانند ASM, C, C ++, python , Java بر روی این سیستم عامل پشتیبانی می شود اکثر نرم افزارهای موجود برای این سیستم عامل به صورت OpenSource بوده و کاملاً رایگان می توانید آنها را دریافت کنید.
این سیستم بر روی گوشی های زیر موجود است:
Motorola A 760
A 780 Motorola
E 680I Motorola
E 895 Motorola
E2 E2800
NEC N900il
NEC N901is
Panasonic P 700I
Panasonic P901is
TCL e787
زبان های برنامه نویسی موبایل
در ادامه چند مورد از زبان های برنامه نویسی که در بالا اشاره شد را به طور مختصر توضیح می دهیم.
J2ME
اولین نسخه پلاتفرم جاوا (Java 2 Standard Edition) J2SE بود. که به این منظور به وجو آمد تا برنامه نوشته شده به محیط اجرایی وابستگی نداشته باشد. چون بقیه زبان ها به کدهای ماشین ترجمه می شدند و این کدها به سخت افزار مربوطه وابستگی داشتند و امکان اجرای آنها در سیستم دیگری نبود ولی برنامه های جاوا به یک سری کد واسط تبدیل می شدند و در پایان در سیستم هدف به کدهای ماشین ترجمه می گردیدند.
مدتی بعد (Java 2 Enterprise Edition) J2EE به بازار عرضه شد و برای وسایلی که دارای حافظه کمی بودند نسخه دیگری نیز به نام (Java 2 Micro Edition) J2ME وارد بازار شد که برای وسایلی مانند موبایل ها که دارای حافظه کمتری بودند نسخه بسیار مناسبی بود.
J2ME دارای پروفایلی است به اسم (Mobile Information Device profile) MIDP که دارای API برای دسترسی به لوازم جانبی موبایل ها، پیجرها و PDA هاست. برنامه هایی که با این پروفایل نوشته می شوند به اسم MIDlet شناخته می شوند.
C++
این زبان یکی از زبان هایی است که معمولاً در هر جایی که صحبت از برنامه نویسی باشد به چشم می خورد چه برای کامپیوترهای شخصی در هر سیستم عاملی چه برای میکروپروسورها و چه دستگاه هایی مثل موبایل البته استانداردهای متفاوتی از آن را می توان یافت که کمی با هم تفاوت دارند ولی در کل شبیه به هم هستند ساختار آن هم تفاوت زیادی با جاوا ندارد البته دسترسی به سخت افزار و حافظه ها در این زبان بسیار بیشتر از بقیه زبان هاست و از این جهت نزدیکترین زبان به سخت افزار محسوب می شود. البته این زبان بیشتر روی سیستم عامل های سیمبیان استفاده می شود.
Basic
در گوشی هایی که از ویندوز موبایل استفاده می کنند چون هم سیستم عامل و هم ویژوال بیسیک ساخت یک شرکت می باشند بنابراین می توان از این زبان برای برنامه نویسی استفاده کرد ولی در سیستم عامل های دیگر نیز کمپایلرهایی وجود دارد که می توانید برنامه را به صورت بیسیک نوشته و خروجی را مثلاً به صورت فایل های جاوا که تقریباً روی تمام گوشی ها پشتیبانی می شود دریافت کنید.
مقایسه محیط های برنامه نویسی
برای موبای هم محیط های مختلفی ساخته شده که بعضی از آنها کاملاً رایگانند و بعضی هم نسخه تجاری هستند و باید آنها را خریداری کنید بعضی بسیار ساده اند و فقط مانند یک ویرایشگر عمل می کنند و بعضی هم دارای امکانات دیباگ و … می باشند البته مشکلاتی هم مانند سرعت پایین و معمولاً قیمت بالا دارند که استفاده از آنها را محدود می کند. بنابراین آشنایی با آنها می تواند کمک زیادی به برنامه نویس بکند.
این محیط ها با نام (Integrated Development Environment) IDE شناخته می شوند و معمولاً دارای امکاناتی مانند:
مدیریت پروژه . که مدیریت فایل ها و مشخصات آنها را دارد
ویرایشگر. که برای ویرایش منابع و سورس کدها استفاده می شود.
کمپایلر. برای کمپایل کردن و پیدا کردن خطاهای نوشتاری
شبیه ساز. برای اجرای برناممه در یک محیط مجازی
دیباگر. برای دیباگ کردن و پیدا کردن خطاهای برنامه
Sun J2ME Wireless Toolkit
این محیط مجموعه ای است از ابزارهای شرکت SUN برای کمپایل، شبیه سازی و دیباگ برنامه ها به زبان جاوا و چون توسط شرکت سان که خود پایه گذار جاوا بوده ارائه شده بهترین محیط از لحاظ سازگاری با انواع گوشی ها می باشد. محیط های مشابهی توسط شرکت های دیگر مانند نوکیا تولید شده که ممکن است با گوشی های شرکت های دیگر سازگار نباشد. ولی خود این مجموعه دارای ویرایشگر و محیط گرافیکی زیبایی نیست و در صورت استفاده از آن باید از ادیتوری مانند Programmer Notepad به همراه آن استفاده کنید. ولی اکثر IDE های دیگر که برای زبان جاوا نوشته شده اند به این محیط نیاز دارند پس نصب کردن آن می تواند مفید باشد. بعد از نصب این برنامه ها از طریق منوی استارت قابل دسترس است.
Default Device Selection برای تغییر پوسته پیش فرض برنامه ها استفاده می شود.
Documentation یک لینک به Help برنامه.
KtooIbar برنامه اصلی که اکثر برنامه ها از طریق آن نیز قابل دسترس است.
OTA provisioning یک برنامه مفید برای تست نصب برنامه ها
preferences برنامه ای برای دسترسی مستقیم به شبیه ساز
Run MIDP Application یک میانبر برای اجرای برنامه ها بدون اجرای KToolBar
Utilities دسترسی به پنجره برنامه های سودمند.
Borland Jbuilder MobileSet
آدرس سایت: http:// www.borland. com/ us/ products/ jbuilder/ index. Html
Jbuilder MobileSet یک مجموعه از مجموعه JBuilder شرکت بورلند است. که می توانید آن را بر روی سیستم عامل های دیگر ماند لینوکس نیز نصب کنید ولی یک نسخه تجاری است و باید ابتدا آن را خریداری نمایید. Jbuilder یک محیط گرافیکی بسیار زیبا با تمام امکانات برای شما فراهم می کند و امکان نوشتن برنامه به زبان جاوا را فراهم می کند البته از خود آن نیز می توانید برای نوشتن برنامه تحت PC نیز استفاده کنید همچنین دارای راهنمای جامعی نیز هست که می توانید از آن برای ادامه کار کمک بگیرید.
NetBeans Mobility Pack
آدرس سایت: http://www. Netbeans.org/products/ mobility
NetBeans Mobility Pack نیز می تواند برای نوشتن، شبیه سازی و دیباگ کردن برنامه برای 12ME مورد استفاده قرار گیرد و MIDP 2.0 را پشتیبانی می کند. این نرم افزار تحت مجوز SPL منتشر شده و رایگان است بنابراین می توانید آخرین ویرایش آن را از سایت آن به طور رایگان تهیه کنید. البته برای اجرای این برنامه نیاز به NetBeans IDE دارید که آن هم تحت همین مجوز منتشر شده و رایگان است از امکانات آن می توان موارد زیر را نام برد.