مقدمه طبق آمار سایت 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 دارید که آن هم تحت همین مجوز منتشر شده و رایگان است از امکانات آن می توان موارد زیر را نام برد.
NetBeans Mobility Pack نیز می تواند برای نوشتن، شبیه سازی و دیباگ کردن برنامه برای 12ME مورد استفاده قرار گیرد و MIDP 2.0 را پشتیبانی می کند.
طراحی گرافیکی: با استفاده از تکنولوژی Drag & Drop می توانید اشیاء مورد نظر را بر روی فرم خود قرار داده و کدهای آن نیز به طور اتوماتیک تولید می شود.
Wireless Conection Wizard: دسترسی آسان به سرویس های وب از MIDlets Deployment Options : آپلود کردن برنامه تان از طریق SCP, FTP, WebDAV از طریق IDE.
یکپارچه شدن با : J2ME Wireless Toolkit NetBeans امکانات پیشرفته برنامه نویسی را پشتیبانی می کند مانند امضاء کردن OTAO.
MIDlet، ارسال پیغام بی سیم و API های چند رسانه ای و شبیه سازی WMA پیغام CBD , SMS امکان امتحان بر روی چند گوشی : برنامه هایتان را میتوانید برای چند گوشی بنویسید و با اضافه کردن کد آن گوشی به برنامه هایتان آن را روی آن گوشی نیز امتحان کنید.
پشتیبانی محلی کردن MIDP : شما میتوانید ابزارهای محلی را به پروژه تان اضافه کنید.
پشتیبانی CLDC 1.1 , MIDP 2.0 استاندارد : شما می توانید تمای پلاتفرم های استاندارد شرکت های دیگر را به پروژه تان اضافه کرده و آنها را شبیه سازی کنید.
GoDB GoDB یک نرم افزار با توانایی پشتیبانی چند پلاتفرم است و این امکان را به شما می دهد تا یکبار برنامه نویسی کنید و کدهای تولید شده خود را بر روی پلاتفرم های مختلف اجرا کنید با این کار اگر با زبانی غیر از جاوا برنامه می نویسید می توانید مطمئن باشید که تعداد بیشتری از کاربران می توانند برنامه شما را اجرا کنند این نرم افزار را به خاطر علاقه ای که برای برنامه نویسی سیتم های سیمبیان وجود دارد و قدرت این سیستم عامل اضافه کردیم تا این افراد نیز بتوانند از این کتاب استفاده لازمه را ببرند.
GoDB پلاتفرم های زیر را پشتیبانی می کند : Win 32 PalmOS PalmOS Color 4- Poket pC 2002 5- Simputer 6- Symbian 6.0 7- Symbian 7.0 8- Symbian 8.0 چگونه یک فایل SIS ایجاد کنیم؟
فایل های SIS فایل های استاندارد و روشی متداول برای نصب و توزیع برنامه های Symbian می باشد.
که مشخصات کلی زیر را دارا هستند: 1- کاربران نهایی می توانند بسته های SIS را نصب کرده و یا پاک کنند و همچنین با یک PC و یک نرم افزار ارتباطی آنها را بر روی موبایل خود نصب کنند و یا با استفاده از نرم افزار نصب روی خود موبایل های با سیستم Symbian برای نصب این نرم افزار ها استفاده کنند.
2- SIS فایل ها مکانیسم داخلی ای برای پیاده سازی و استقرار کتابخانه های غیر استاندارد و بروز کردن نرم افزارها دارند.
3-فرمت فایل های SIS یک فرمت فشرده شده است، که از سیستم فشرده سازی zlib استفاده می کند.
SIS فایل هایی که با کامپیوتر های شخصی مجهیر به ابزارهای C++ SDK و استفاده از نرم افزار makesis ساخته می شوند، ساختار زیر را دارند: نرم افزار Makesis دو ورودی اصلی دارد: 1- فایل نرم افزاری شما ( شمال فایل های اجرایی، منابع و بانک های اطلاعاتی می باشند.) 2-یک PKG که حاوی دستورالعمل چگونگی ساختن یک بسته SIS می باشد.
فایل PKG ابزاری کلیدی برای ایجاد یک بسته درست و کامل است.
آشنایی با نرم افزار GoDB چون در فصل بعدی به سراغ زبان جاوا خواهیم رفت.
و این زبان را معرفی می کنیم قبل از آن بد نیست تا با یکی از کمپایلرهایی که برای سیستم عامل های خاص طراحی شده نیز آشنا شوید دلیل انتخاب این کمپایلر ساختار بسیار ساده شبیه به ویژوال بیسیک است که اغلب مورد علاقه برنامه نویسان قرار دارد و همچنین توانایی تولید برنامه هایی تحت سیستم عامل های مختلف چون یکی از بزرگترین مشکلات در تولید نرم افزار های تحت موبایل توانایی اجرا شدن آن در انواع گوشی هاست و این که کاربر مجبود نباشد برای نرم افزار شما گوشی را تهیه کند البته بهترین انتخاب زبان جاو است به علت پشتیبانی آن در اکثر گوشی ها ولی اگر به جاوا علاقه ای ندارید مسلماً GoDB انتخاب خوبی است.
سیستم عامل سیمبیان سیتم عاملی است برای دستگاه های همراه که شامل توابع کتابخانه ای، رابط کاربری و مجموعه ای از ابزارهای عمومی است، که توسط شرکت Symbian طراحی و ایجاد شده است.
این سیستم عامل در واقع نتیجه سیستم عامل EPOC شرکت Psion پیسیون است.
Symbian اکنون از آن شرکت هایی چون بن کیو، اریکسون، پاناسونیک، نوکیا، زیمنس آگ، و سونی اریکسون می باشد.
طراحی امروزه سیمبیان بر روی پلاتفرم های بسیاری در اختیار عموم قرار دارد، پلاتفرم هایی بازی نظیر UIQ، سری 60 نوکیا، سری 80 و سری 90 و پلاتفرم های بسته ای چون NTT DoCoMo دستگاه های همراه فوما.
اینگونه پلاتفرم ها به سیمبیان اجازه این را می دهد که با ابزارهای متفاوتی سازگاری داشته باشد.
( ابزارهایی چون منوبلوک، کندی بار یا کی پد و قلم های دیجیتال) پایه سیستم عامل سیمبیان همان EPOC شرکت پسیون است، که خود یک سیستم عامل شبیه VMS است که برای ریز کامپیوترهای سازگار با POSIX در دهه 1980 ارائه گردید و دقیقاً نظیر همه سیستم عامل های متداول کامپیوترهای شخصی چند کاره، چند رابطه با مدیریت حافظه کامل است.
عمده مزیت سیستم عامل سیمبیان در آن است که برای دستگاه های همراه کوچک با جافظه های محدود طراحی شده است که ممکن است ماه ها یا سال ها در حال اجرا باقی بمانند.
برای همین یک سیستم مدیریت حافظه فوق العاده قوی برای آن طراحی شده است، که توأم با تکنیک های دیگر استفاده و برای حفظ فضای دیسک نیز به کار می برد که برای بیشتر دستگاه های دارای سیمبیان دیسک همان حافظه های flash می باشند.
بنابراین همه نرم افزارهای برنامه نویسی برای سیستم عامل سیمبیان واقع گرا می باشند و CPU وقتی که نرم افزار با واقعه ای فرا خوانده نشده در حالت خاموش باقی می ماند.
( CPU وقتی روشن می شود که به اجرای برنامه نیاز داشته باشید.) این سیستم با استفاده از رویکردی در برنامه ریزی به نام اشیای فعال ایجاد می گردد.
استفاده بهینه و مناسب از این تکنین ها به بالا بردن عمر باطری ها کمک شایانی می نماید.
از این رو سیستم عامل سیمبیان را با یک زبان C++ فوق العاده اختصاصی تجهیز کرده اند که به راحی و سرعت می توانید آن را فرا بگیرید.
با این وجود می توانید با زبان های دیگری نظیر OPL، پیتون، ویژوال بیسیک، سیمکین و پرل و علاوه بر اینها با J2ME و دیگر نسخ اختصاصی جاوا برای سیمبیان برنامه بنویسید.
از رقبای اصلی سیستم عامل سیمبیان می توان به Windows Mobile، سیستم Palm و لینوکس اشاره کرد.
همچنین دیگر رقبای آن می تواند سیستم عامل های مستقر بر روی تلفن کلاس پائین نظیر OSE , NOS باشند که بیشتر توسط شرکت های تولید کننده تلفن طراحی و ایجاد می گردند.
مزیت عمده سیستم عامل سیمبیان بر اینگونه سیستم عامل ها در ماجول دار بودن آن و معماری خاص plug-in آن است.
این امر نگارش برنامه های کاربردی برای این سیستم و موبایل های دارای آن را سریع تر کرده و با زبان C++ اختصاصی آن می تواند تغییرات پیچیده تری را با سرعت قابل ملاحظه ای بر روی اینگونه تلفن ها ایجاد کرد.
البته مزیت سیمبیان بر سیستم عامل های سورس بازی نظیر لینوکس و سیستم عامل متداولی چون Windows Mobile کمی بحث برانگیز است.
بیشتر تولید کنندگان تلفن همراه و کاربران و اپراتورهای شبکه مایل اند که سیمبیان ظاهر و شمایلی چون ویندوز داشته باشد، این مشابهت با ویندوز تا حدود زیادی یکپارچگی یک تلفن دارای سیستم عامل سیمبیان را با مشکل روبرو می کند.
لایه پایه یک سیستم عامل سیمبیان یک کرنل ( EKA1 یا EKA2 ) است که در تاریخچه بدان ها بیشتر می پردازیم و یک کتابخانه کاربر که به نرم افزارهای کاربر اجازه می دهد مایحتاج خود از کرنل را از طریق آن فراخوانی کنند.
سیستم عامل سیمبیان از یک معماری ریز کرنل استفاده می کند و این بدین معناست که حداقل ملزومات یک سیستم عامل در این کرنل نهاده شده است.
بنابراین تنها یک مدیریت زمانبندی و حافظه در آن نهاده شده است و مدیریت فایل یا شبکه برای آن در نظر گرفته نشده است.
اینگونه ابزارها از طریق سرورهای کاربر ایجاد می گردند.
لایه پایه شامل یک سرور فایل هم هست که نمایشی نظیر DOS برای فایل های روی دستگاه ایجاد می کند.
از آن لحاظ که هر رادیو با یک حرف بزرگ مشخص می شود و یک خط مورب برای مشخص کردن هر دایرکتوری استفاده می گردد.
در عکس زیر شما معماری خلاصه شده سیستم عامل سیمبیان را می بینید.
در بیشتر متون و منابع دیگر این تصویر درست برعکس گذاشته شده و دقیقاً زیر ساخت های رابط کاربر در پایه آمده اند.
بلافاصله پس از آن کتابخانه های سیتم قرار دارد.
این سیستم کتابخانه ای شامل کلیه شکل ها و اندازه ها.
مدل های تغییرات کاراکترها، یک بانک داده DBMS و سیستم دسترسی به فایل ها قرار دارد.
بعد از آن چهار زیر سیستم وجود دارد که بزرگترین و اصلی ترین آنها یک زیر سیستم شبکه ای و ارتباطی است.
این زیر سیستم شبکه ای و ارتباطی خود شامل سه سرور اصلی است: ETEL, C32 , ESOCK , ETEL یک سیستم تلفنی EPOC است.
ESOCK یک سوکت EPOC است و C 32 هم مسئول ارتباطات سریال است.
هر یک از اینها ساختار plug –in دارند.
مثلاً ESOCK اجازه استفاده از ماجول های پروتکل های PRT متفاوتی را به شما می دهد که از طریق آن می توانید ارتباطات شبکه ای بسیاری ایجاد کنید.
از این رو می توانید به پروتکل هایی مانند مادون قرمز، USB و بلوتوث دسترسی پیدا کنید.
در کنار آن حجم وسیعی از کدهای رابط کاربر دیده می شود، که بیشتر توسط سازندگان تلفن های همره ایجاد شده و توسعه می یابد.
در کنار آن البته یک کلاس پایه UIKON هم وجود دارد که اختصاصی خود سیستم عامل سیمبیان است و به همراه آن ارائهه می گردد.
و شرکت ها از همین UIKON به عنوان پایه ای برای توسعه رابط های کاربری دستگاه های خود استفاده می کنند.
در کنار آن یک موتور نرم افزاری ساده قرار دارد برای نرم افزارها و ابزارهای عمومی نظیر تقویم، دفتر تلفن و دفتر ثبت روزانه، برنامه های کاربردی روی سیستم عامل سیمبیان با دو موتور جداگانه اجرا می شوند، موتور DLL و موتور گرافیکی، سیستم عامل سیمبیان بسیاری از این موتورهای DLL را در خود دارد و نیازی به اینکه چنین DLL هایی را به نرم افزارهای خود بیفزائید در بسیاری از مواقع نمی باشد.
البته نباید از توابع J2ME API هم براحتی عبور کرد.
این توابع با توجه به مدل تلفن و شرکت تولید کننده آن تنوع بسیاری دارند.
ولی حجم بزرگی از این APIها برای نرم افزار نویسان آشنا به J2ME بستر مناسبی را ایجاد نموده که با فراغ بال نرم افزارهای دلخواه خود را ایجاد کرده و توسعه دهند.
در سال 1980 دیوید پاتر شرکت نرم افزاری Psion را پایه گذاری کرد.
Psion در سال های 1991 تا 1998 دستگاه های سری 3 را می ساخت که سیستم عامل EPOC 16 روی آن بود.
EPOC 16 بیشتر با نام SIBO شناخته می شود.
در سال 1997 همراه با معرفی دستگاه های سری 5 نسخه 3.1 از سیستم عامل EPOC ارائه شد، که اولین نسخه از مجموعه سیستم عامل های EPOC 32 بود.
بعد ویرایش 4 از سیستم عامل EPOC بر روی ژئوفاکس و اورگون اوزاریس ارائه شد.
در سال 1998 شرکت سیمبیان با مسئولیت محدود با مشارکت اریکسون، نوکیا، موتورولا و پسیون به منظور ایجاد همبستگی بین دستگاه های PDA و تلفن های همراه تأسیس شد.
در سال 1999 ویرایش 5 سیستم عامل EPOC ارائه شد که با نام ER 5 بر روی سری های 5 mx، سری 7 ریوو، نت بوک، نت پد، اریکسون MC 218 و اریکسون R380 قرار داده شده بود.
در سال 2000 ویرایش یونی کد از سیستم عامل EPOC 5 به نام ER5U بر روی اریکسون R380 ارائه شد.
که سیستم عامل بازی نبود، یعنی شما نمی توانستید سیستم عامل را دوباره نصب کنید.
در همان سال سیمبیان 6.0 و 6.1 ارائه گردید که هنوز عده ای آن را به همان نام ER6 می شناختند اولین تلفن همراه بازی که ارائه شد نوکیا 9210 بود که بر روی آن سیمبیان 6.0 قرار داشت.
در سال 2003 نسخه های 7.0 و 7.0s از سیستم عامل سیمبیان ارائه گردید.
در سال 2004 پسیون سهام خود در شکرت سیمبیان را واگذار کرد و در همان سال اولین کرم سیستم عامل سیمبیان به نام Cabir به وجود آمد که توسط موبایل های مجهز به بلوتوث برای گسترش خود و آلوده کردن دیگر تلفن های همراه بلوتوث دار نزدیک به خود استفاده می کرد.
در سال 2004 ویرایش 8.0 سیستم عامل سیمبیان ارائه شد.
یکی از عمده ترین مزیت های آن انتخاب بین دو نوع کرنل EKA2 , EKA1 است.
البته کرنل EKA2 همراه با سیمبیان ویرایش 8.1b منتشر شد از دید کاربر این دو نوع کرنل تفاوت بسیاری ندارند، اما از لحاظ داخلی اختلافات بسیاری بین آنها است البته بیشتر سازندگان تلفن های همراه برای اینکه سازگاری تلفن های خود را با درایورهای دستگاه های قدیمی حفظ کنند، هنوز از کرنل EKA1 استفاده می کنند.
اما کرنل EKA2 مزایای بیشتری را ارائه می کند که گاه اهمیت آن از این سازگاری ها بیشتر است.
در سال 2004 ویرایش اصلاح شده ای از ویرایش 8.0 با شماره 8.1 منتشر شد که البته دو نسخه 8.1a و 8.1b داشت که به معنی تفاوت در کرنل هاست، به طوری که کرنل اولی EKA1 بود و دومی EKA2 در مورد نسخه 8.1b که کرنل EKA2 داشت باید گفت که با اینکه لایه امنیتی جدیدی نداشت اما سازندگان ژاپنی تلفن های همراه به خاطر خصوصیت زمان واقعی آن به شدت به آن علاقه نشان دادند، اما عیب بزرگ آن این است که اجازه نصب نرم افزارهای باز را نمی دهد.
ویرایش 9.0 سمبیان در اواخر سال 2004 فقط به خاطر بعضی تحقیقات داخلی در شرکت سیمبیان ایجاد شد و به کار گرفته شد.
در اوایل سال 2005 انتشار نسخه جدیدی از سیستم عامل سیمبیان به نام 9.1 اعلام شد، بهسازی های عمده ای بر روی آن صورت گرفته است.
این بهینه سازی ها شامل اصلاح بسیاری از نرم افزارها، امنیت بیشتر و پشتیبانی بیشتر از نرم افزار نویسان و کاربران میباشد.
ایمنی و سیستم های حفاظتی سیستم عامل سیمبیان تاکنون مورد تعرض گونه های خاصی از ویروس ها قرار داشته است، معروف ترین آنها Cabir است، که با بلوتوث از یک تلفن به تلفن دیگر منتقل می شود.
اما هیچ یک تا زمانی که آنها را خودتان بر روی گوشی خود نصب نکرده اید، فعال نمی شوند.
البته کاربران نسخ جدید بالاتر از ویرایش 9.0 از این نظر نباید به خود هراسی راه دهند، زیرا از این ویرایش به بعد برنامه های نصب شده بر روی گوشی توانایی انجام کارهایی نظیر ارسال داده ها و اطلاعات شخصی از طریق شبکه یا آسیب رساندن به سیم کارت ها مادام که نسخ دیجیتال آنها تأیید نشده باشد را نخواهد داشت.
از این رو برنامه نویسان هم موظف هستند که نرم افزارهای خود را قبل از انتشار به تأیید شرکت سیمبیان برسانند، برای این کار باید ضوابط این امر را از سایت symbiansigned درخواست کنند.
در بدو امر نرم افزار نویسی برای سیستم عامل سیمبیان کمی پیچیده به نظر می رسد، از این لحاظ که یک SDK اختصاصی جهت کپی کردن برای سیمبیان وجود ندارد، عوض آن کیت های مختلفی برای پلاتفرم های معروفی چون UIQ، سری 60 و غیره در دسترس قرار دارند.
از طرفی برای هر مدل از تلفن های همراه و هر خانواده آنها SDK هایی بر روی سایت های شرکت های سازنده جهت کپی کردن قرار گرفته است.
این SDK ها شامل انبوهی از مستندات، فایل های مرجع، فایل های کتابخانه ای مورد نیاز برای هر گونه نرم افزار اختصاصی و همچنین یک امولاتور تحت ویندوز برای پیش مشاهده برنامه ها جدید می باشند.
تا نسخه ویرایش 8 به دنبال این SDK نسخه ای از GCC هم ارائه می گردید، که برای سیمبیان از یک API جدید استفاده می شود که نیاز به یک کمپایلر خاص خود دارد.
البته این امکان هم وجود دارد که مجموعه ای از کمپایلرهای جدید برای این ویرایش در نسخ جدید GCC ارائه گردند.
برنامه نویسی با C++ symbian به نحو گسترده ای با اغلب IDE های تجاری قابل انجام است.
پیش از این به نحو گسترده ای از Visual Studio استفاده می گردید، اما برای ویرایش های جدید سیمبیان، یک نسخه اختصاصی سمبیان از Code Warrior بیشتر توصیه می گردد.
البته از سال 2006 به بعد ابزارهای نوکیا ایجاد شده است.
ابزارهای دیگری چون Super Waba برای نوشتن برنامه بر روی ویرایش های 7s , 7 سیمبیان وجود دارد که از زبان جاوا بهره می برد.
و همچنین شرکت بورلند هم یک IDE برای سیستم عامل سیمبیان ارائه نموده است.
البته نرم افزارهای J 2ME را می توان با تکنیک ها و ابزارهای استانداردی نظیر جعبه ابزار J 2ME شرکت سان ایجاد نمود.
بعد از نگارش یک برنامه، لازم است که راهی برای انتقال فایل ای آن به تلفن همراه مشتریان خود بیابید.
بیشتر نویسندگان، برنامه های خود را به صورت بسته هایی از فایل های SIS ارائه می دهند که می توان آنها را یا از طریق شبکه های سیار و یا از طریق اتصال تلفن همراه به کامپیوترهای شخصی بر روی تلفن های همراه نصب نمود.
یک روش دیگر این است که از یک تولید کننده تلفن همراه بخواهید که نرم افزارهای شما را بر روی سری های جدید تولیدات خود نصب کند.
البته فایل های SIS مورد نیاز برای ویرایش های 9 سیستم عامل سیمبیان کمی با فایل های SIS سازگار با دیگر ویرایش ها متفاوتند.
عمده تفاوت آنها در این است که باید حداقلی از نیازمندی های ذکر شده در سایت symbiandigned را رعایت کنند تا توسط سیمبیان تأیید گردند.
حداقل های لازم برای یک برنامه مورد تأیید سیمبیان البته آنچه در این مقال می آید، برای نرم افزارهایی الزامی است که می خواهید با ویرایش های 9 و بالاتر سیستم عامل سیمبیان سازگاری داشته باشند.
فرآیند تأیید به گرفتن، فرآیندی نسبتاً زمان بر است، اما اساس آن بر این است که نرم افزار نوشته شده از یک سری آزمایشات و آزمون ها سربلند بیرون بیاید.
هدف از این آزمایش ها، بررسی سازگاری نرم افزار با امکانات و تسهیلات سه گروه استفاده کننده است.
الف) اپراتورهای شبکه موبایل- نرم افزار نباید به کاربری شبکه ای که تلفن همراه به آن متصل است آسیب برساند.
ب) تولید کنندگان تلفن همراه- باید دستگاهی که این نرم افزار قرار است بر روی آن نصب شود، در حین نصب یا پاک کردن نرم افزار، قبل یا بعد از نصب یا پاک کردن نرم افزار، بتواند کارهای معمول خود را به خوبی انجام دهد.
به ویژه گرفتن تماس، گرفتن پیام های کوتاه و پیغام های هشدار معمولی که یک تلفن همراه باید داشته باشد.
ج) کاربران نهایی- باید اطلاعات شخصی و خصوصی کابر نهایی در هنگام اجرا، نصب و یا پاک کردن نرم افزار تا اخذ اجازه از او دست نخورده باقی بمانند.
یعنی نرم افزار تنها با اذن کاربر نهایی خود دسترسی یا انتشار و ارسال اطلاعات از طریق شبکه را داشته باشد.
محدوده آزمایشاتی که بر روی نرم افزار انجام می شود، را می توان به سه محدوده اصلی تقسیم بندی کرد: آزمایش کامل : باید آزمایش های کامل بر روی هر گونه اتفاقی که در حین استفاده از برنامه رخ می دهد صورت بگیرد و نتایج آن به تأیید برسد آزمایش های نمونه ای : نمونه ای از اتفاقات حین استفاده باید بر روی نرم افزار انجام شده و نتایج آن ثبت و تأیید گردند.
تأییدیه تولید کننده تلفن همراه : برای بررسی اینکه آیا این نرم افزار با دستگاه مرد نظر سازگاری کلی دارد یا خیر یک تأییدیه رسمی از تولید کننده دستگاه الزامی است.
فرستادن برنامه به گوشی موبایل طبیعتاً، شبیه ساز به خوبی کار می کند.
ولی بهتر است از مواقعی که فایل در شبیه ساز ویندوز درست کار می کند ولی در گوشی کار نمی کند، آگاهی یابید.
بهترین مثال ممکن، متغیرهای استاتیک هستند که در شبیه ساز کار می کنند، ولی در گوشی موبایل کار نمی کنند.
به علت اینکه اشکالی زدایی مستقیم در موبایل سخت است و بعضی مواقع کار نمی کند و سیستم فقط پیام system error میدهد، یافتن علت کار نکردن برنامه در موبایل کار سختی است، ولی اگر به طور منظم برنامه را در موبایل امتحان کنید، پیدا کردن اشکالات راحت تر خواهد شد.
برای اینکه به IDE بگویید که می خواهید برای دستگاه موبایل برنامه بسازید، باید پلاتفرم مقصد برای برنامه کامپایل را به ARMI تغییر دهید.
( پردازنده گوشی سری 60 شما، یک پردازنده ARM است) و نوع آن را به UREL (ویرایش انتشاری) تغییر دهید.
برای ساخت پروژه تان، به مسیر project _____ Make Project Mopoid.
Cbx بروید.
( همچنین می توانید Ctrl +F9 را نیز بزنید) بعد از اینکه این فرآیند تمام شد، یک فایل به نام mopoid ARMI UREL در پوشه C:/symbin / dev/ Mopoid/ group مستقر خواهد شد.
این فایل را به گوشی تا انتقال دهید و آن را نصب کنید.
شما می توانید انتقال را با PC Suite و یا بلوتوث از طریق راست کلیک کردن روی فایل و انتخاب Send to …Bluetooth device و یا کابل مادون قرمز انجام دهید.
برای جزئیات بیشتر در مورد انتقال فایل به فصول مرتبط به آن مراجعه کنید.
مقدمه ای بر برنامه نویسی J2ME در این فصل ابتدا با مفهوم MIDlet آشنا می شویم و سپس به API های عالی J2ME می پردازیم.
و البته گرچه مختصری درباره API های جزئی بحث می کنیم، اما شرح اصلی مربوط به آنها را به فصول دیگر محول می کنیم که به شکل کامل تری بدان ها پرداخته ایم.