پایان نامه ی کاردانی رشته ی تکنولوژی
فن آوری اطلاعات و ارتباطات
دستورالعمل تدوین و نگارش پایان نامه دوره کاردانی
جستجوی سیستم عاملهای موجود در موبایل
استاد راهنما:
پژوهشگر:
سپاسگزاری
حمد و سپاس فراوان خداوند را که توانایی آموختن علم را به من ارزانی داشت.
بر خود واجب می دانم از تمامی بزرگوارانی که در انجام این تحقیق مرا راهنمایی و یاری فرموده اند، تشکر نمایم.
سپاس و تشکر فراوان از از استاد محترم سر کار خانم ……………….. که راهمنای من در این رساله بوده اند.
همچنین از استاد محترم …………. که داوری این جلسه را به عهده دارند کمال امتنان و سپاسگذاری را دارم.
در پایان از سایر دوستان عزیزی که بنده را در به ثمر رسیدن این رساله یاری کردند تشکر فراوان می نمایم.
چکیده
سیستم های موبایل به دلیل ویژگیهای خاص خود از جمع به عنوان همراه همیشگی کاربر،بسیار پرکار هستند و با برنامه های کاربردی که دارند جزء لاینفک زندگی کاربران خود شده اند وخدمات زیادی از جمله صرفه جویی در زمان و…رابه ارمغان می آورند.
لذا تولید نرم افزارهای کاربردی که باویژگی های خاص این سیستم ها از جمله حافظه اندک منطبق باش ارزشمند می باشد وضروری به نظر می رسد.
دراین پروژه بعد تحقیق فراوان برروی سیستم عاملها وپلت فرمهای مختلف بامزایا ومعایبی که طول این مقاله گفته می شود.
معیارهای برنامه نویسی متعددی برای پیاده سازی برنامه های موبایل وجود دارد که از لحاظ ظاهری به دو گونه بصری وغیر بصری تقسیم می شودکه از میان آنها کار با محیط توسعه گر پرداختیم و توانستیم برنامه مدیریت مناسب را برای سیستم عامل های مختلف بر روی گوشیهای موبایل بنویسم البته نکته دیگر، توسعه برنامه و پوشش اکثر ورژن های روز سیتم عاملها که با طبع گوشی های روز را پشتیبانی می کنند می باشد.
در ادامه به تشریح در رابطه باموضوعات فوق مطالبی بیان نمودیم.
فهرست مطالب
عنوان صفحه
فصل اول- بررسی سیستم عامل های موبایل
1-1 مقدمه ای بر ایجاد سیستم عامل ها
فصل دوم- بررسی سیستم عامل ها
2-1 گوشی های بدون سیستم عامل، گوشی های جاوا
2-2 انواع سیستم عامل های موبایل
2-2-1 سیستم عامل سیمبین (Symbian OS)
2-1-1-1 ویژگی های سیمبین:
2-1-1-2 زبان برنامه نویسی Symbian
2-1-1-3 بازی بر روی Symbian
2-1-1-4 فرستادن برنامه به گوشی موبایل
2-1-1-5-1 آنزیپ کردن (Unzip) فایل
2-1-1-5-2 شرح داده ها و اطلاعات بازی
2-1-1-5-3 تعریف متن جدید
2-1-1-5-4 بازی جدید
2-1-1-5-5 اضافه کردن فایل های صوتی و تصویری
2-1-1-5-6 تست کردن
2-1-1-5-7 کشف و رفع اشکال
2-1-1-6 خواندن و نوشتن فایل ها
2-1-1-6-1 آمادگی
2-1-1-6-2 تنظیم نام فایل
2-1-1-6-3 باز کردن فایل
2-1-1-6-4 ایجاد یک جریان
2-1-1-6-5 نوشتن اطلاعات
2-1-1-6-6 بستن فایل
2-1-1-6-7 پشته Cleanup
2-2-2 سیستم عامل لینوکس (LinuX)
2-2-2-1 ساختن و استفاده از منابع (Resources)
2-2-2-2 کار کردن با AndroidManifest.xml
2-2-2-3 آموزش برنامه نویسی در لینوکس
2-2-2-4 کد های مخفی Windows Phone 7
2-2-2-5 نحوه درج لینک بر روی یک متن
2-2-3 سیستم عامل پالم (paLm)
2-2-4 سیستم عامل بلک بری (BlaCk Berry)
2-2-5-1 ویژگی های ویندوز موبایل
2-2-5-2 معایب ویندوز موبایل
2-2-6 سیستم عامل ویندوز فون (Windows Phone 7)
2-2-6-1 ویژگی های Windows phone 7
2-2-6-2 معایب WindOws phone 7
2-2-7 سیستم عامل آندروید گوگل (AndrOid)
2-2-7-1 ویژگی ها و خصوصیات آندروید
2-2-7-2 معایب آندروید
2-2-8 سیستم عامل مک ای او اس (اپل) (appLe MaC iOS)
2-2-8-1 ویژگی های iOS
2-2-8-2 معایب iOS
منابع
فهرست شکل ها
عنوان صفحه
تصویر1-1 کامپایل کردن برای انتشار به جای اشکالزدایی
تصویر 1-2 تغییر هدف ساخت برنامه
شکل1-3 اضافه کردن فایل های خارجی به پکیج
شکل 1-4 نام فایل را به Target Path اضافه کنید
شکل 1-5 اکنون تمام فایل های بخشی از پروژه هستند
فصل اول
بررسی سیستم عامل های موبایل
1-1 مقدمه ای بر ایجاد سیستم عامل ها
روند رو به گسترش تولید سیستم های عامل جدید و هوشمند برای گوشی های تلفن همراه باعث تبدیل موبایل از یک وسیله ارتباطی ساده به یک رایانه جیبی با کاربرد های متنوع شده است.
طی سال های اخیر با افزودن قابلیت دسترسی به اینترنت در گوشی های تلفن های همراه، رقابت برای ساخت سیستم های عامل جدید و هوشمند برای موبایل ها نیز گسترش یافته است. اکنون گوشی های تلفن همراه با استفاده از سخت افزارهای پیچیده و نرم افزار های پیشرفته گوناگون وارد عصر جدیدی از حیات خود شده اند.
اولین بار که تلفن همراه به بازار آمد و ارتباط افراد در تمامی نقاط بدون استفاده از برق و خطوط کابلی عادی تلفنی برقرار شد، بسیاری دچار شگفتی شدند و کمتر کسی تصور می کرد روزی موبایل ها قابلیت تصویربرداری و عکسبرداری پیدا کنند.
در ابتدا از تلفن همراه تنها برای ارتباط عادی تلفنی استفاده می شد اما با گذر زمان قابلیت های دیگری نیز به این دستگاه ارتباطی افزوده شد و پس از چند سال دیگر برقراری ارتباط آنالوگ کلامی تنها ویژگی موبایل نبود و دارندگان این دستگاه می توانستند با استفاده از دوربینی که در گوشی های تلفن همراه تعبیه شده بود عکس بگیرند و بعدها قابلیت فیلمبرداری نیز به آن افزوده شد.
به موازات این تغییرات گوشی های تلفن همراه صاحب قابلیت اجرا و ارسال پیام های کتبی کوتاه موسوم به اس ام اس (پیامک) نیز شدند و به مرور نیز ارسال تصاویر با اینفرارد و سپس با بلوتوث از طریق یک موبایل به موبایلی دیگر فراهم شد.
اما با گسترش روزافزون فناوری های رایانه ای و فناوری اطلاعات و کاربرد اینترنت در زندگی افراد، سازندگان گوشی های تلفن همراه و سایر شرکت های بزرگ ساخت نرم افزارهای کامپیوتری مانند مایکروسافت به فکر ساخت و طراحی سیستم های عامل برای موبایل افتادند.
در پی این تصمیمات، شرکت های مطرح ساخت گوشی های تلفن همراه نسل های دوم و سوم گوشی های خود را عرضه کردند. این گوشی ها دارای امکانات سخت افزاری بیشتری بودند که شامل پردازنده، حافظه و دیسک سخت بود و تقریبا به صورت یک رایانه کوچک طراحی شده بود.
در این زمان بود که این شرکت ها به اهمیت نرم افزار در این گوشی ها پی برده و رقابت نرم افزاری در کنار رقابت سخت افزاری شروع شد. مایکروسافت یکی از شرکت های ی بود که قبلا روی سیستم عامل رایانه های جیبی خود کار کرده و ویندوز سی ای CE را به همین منظور طراحی کرده بود. این ویندوز قابلیت این را داشت که روی موبایل ها نیز نصب شود.
بعد از رسمیت یافتن تلفن های همراه نسل جدید، شرکت های مطرح در این صنعت که به مشکلات بی شمار سیستم عامل سی ای پی برده بودند و نمی خواستند نرم افزار این صنعت را در انحصار یک شرکت نگه دارند با همکاری هم، سیستم عامل جدیدی برای موبایل ها به وجود آوردند که سیمبیان نام گرفت. البته رقبای دیگری نیز مثل سیستم عامل لینوکس در این صنعت وجود دارند. در اصطلاح به موبایل هایی که از این سیستم عامل ها استفاده می کنند تلفن های همراه هوشمند (SmartPhone) گفته می شود.
فصل دوم
بررسی سیستم عامل ها
2-1 گوشی های بدون سیستم عامل، گوشی های جاوا:
تا همین چند سال اخیر واژه سیستم عامل در بین گوشی های تلفن همراه معنا و مفهوم خاصی نداشت. یعنی گوشی های تلفن همراه از سیستم عامل خاصی استفاده نمی کردند و شاید صحیح تر بتوان گفت سیستم عاملی برای گوشی های تلفن همراه وجود نداشت! اما به مرور با پیشرفت سرسام آور دنیای فن آوری موبایل سیستم های موبایلی که قبلا وجود داشت نام گرفتند. یعنی اینکه با به وجود آمدن سیستم عامل های مختلف واژه ای به نام گوشی های بدون سیستم عامل بوجود آمد.
این نوع از گوشی ها از نظر ساختار نرم افزار جزو ساده ترین نوع گوشی های تلفن همراه هستند. به صورت غیر تخصصی می توان آنها را در سه گروه زیر دسته بندی کرد:
1) گوشی های ساده بدون سیستم که قابلیت ساپورت نرم افزار ندارند، از امکاناتی چون دوربین و … نیز برخوردار نیستند: نوکیا ۱۲۰۰، ۱۱۰۰، و …
2) گوشی های ساده بدون سیستم عامل که قابلیت ساپورت نرم افزار های مخصوص تولیدی فقط توسط سازنده را دارند، گاها از دوربین و … نیز در سطح پایین برخوردار هستند: نوکیا ۶۰۲۰ و تعدادی از گوشی های سامسونگ و موتورلا و…
3) گوشی های بدون سیستم عامل که قابلیت نصب تم های مخصوص، بازی ها و نرم افزار های جاوا را دارند، دارای دوربین عکاسی گاها با کیفیت بسیار بالا نیز هستند. در بین عموم مردم به گوشی های جاوا معروف هستند. مانند اکثر گوشی های سونی اریکسون: w810، k750، w770 نوکیا: ۶۵۰۰، ۵۳۱۰ و …
سه نوع بالا اگر چه در دسته بندی گوشی های بدون سیستم عامل قرار دارند ( سیستم دارند، در واقع سیستم ها کاربری ساده ویژه کارخانه برای گوشی) اما مسلم است نوع سوم تفاوت ها و گستردگی های بسیار زیادی را با دو نوع اول دارند و امروزه نیز قسمت بزرگی از بازار را تشکیل می دهند و در واقع گوشی های با کربری فقط ضروری نام گرفته اند.
2-2 انواع سیستم عامل های موبایل:
* سیستم عامل سیمبین (Symbian OS)
* سیستم عامل لینوکس (LinuX)
* سیستم عامل پالم (paLm)
* سیستم عامل بلک بری (BlaCk Berry)
* سیستم عامل ویندوز موبایل (WindoS MObiLe)
* سیستم عامل مک ای او اس (اپل) (appLe MaC iOS)
* سیستم عامل آندروید گوگل (AndrOid)
* سیستم عامل بادا (Bada)
* سیستم عامل میامو (MaemO)
* سیستم عامل میگو (MeeGo)
2-2-1 سیستم عامل سیمبین (Symbian OS)
شرکت نرم افزاری Symbian برای اولین بار در ماه ژوئن سال 1998 به صورت کاملا مخفی و خصوصی برای کار بر روی سیستم عاملی برای کار روی موبایل ها تاسیس شد. مقر اصلی این شرکت در انگلیس تاسیس شد اما هم اکنون دارای حدود 750 کارمند در کشورهای انگلیس، ژاپن، سوئد و آمریکاست که درکار تحقیق و برنامه نویسی برای گسترش سیستم عامل و نرم افزارهای آن هستند. تا اواخر سال 2003 هیجده موبایل از پنج شرکت معروف سونی، نوکیا، فوجیتسو، موتورولا و زیمنس با این سیستم عامل عرضه شد و علی رغم قیمت بالا مورد استقبال قرار گرفت و حدود 26 موبایل هم در برنامه این شرکتها و چند شرکت دیگر با این سیستم عامل در برنامه ساخت قرار گرفت. هم اینک نیز 48 مورد از این موبایل ها به بازار عرضه شده و یا به زودی عرضه خواهد شد. آمار فروش موبایل های Symbian تا پایان سال 2003 به 6.7 میلیون موبایل رسید و در سال 2004 نیز با رشد بی سابقه فروش مواجه شد به طوری که طبق آمار شرکت در سال 2004 فروش این نوع موبایل ها رشد 201 درصدی داشته است. به علت فروش بالای موبایل های Symbian هر روزه بر تعداد برنامه نویسان آن افزوده شده و نرم افزارهای فوق العاده ای برای این سیستم عامل طراحی می شود. تا اواخر تابستان سال 2004 تعداد این برنامه ها 3254 مورد گردیده است.
14 شرکت اصلی و چند شرکت فرعی از به وجود آوردندگان این محصول بودند، بعضی از این شرکتها در زمینه نرم افزار و بعضی از آنها در زمینه سخت افزار به رشد این سیستم عامل و موبایل های آن کمک کرده اند. از اصلی ترین شرکتها می توان به Nokia،Sony-Eriksson، LG، Samsung، Motorola،Arima،BenQ،Fujitsu،Lenovo،Sanyo،Sendo،Mitsubishi Electronics و Siemens اشاره کرد.
2-1-1-1 ویژگی های سیمبین:
Symbian شبیه دیگر سیستم عامل های مدرن و امروزی که برای PC ها وجود دارند، به وجود آمده است. بنابراین دارای امکانات خوبی مثل Multitasking، MultiThreading و همچنین مدیریت حافظه می باشد. در طراحی اولیه مبنای کار را بر روی این موضوع بنا نهاده اند که این سیستم عامل می بایست روی امکانات سخت افزاری بسیار کم (مثل 4 مگابایت رم) کارایی فوق العاده ای داشته باشد. به همین دلیل این سیستم عامل می تواند روی موبایل های امروزی فوق العاده سریع کار کرده و حداقل مشکل را داشته باشد. مبنای کار این سیستم عامل بر اساس event ها بنا نهاده شده است (شبیه دیگر سیستم عامل های امروزی مثل ویندوز) و سی پی یو طوری مورد استفاده قرار می گیرد که کمترین میزان بار روی موبایل قرار گیرد. هم اکنون با اینکه نسخه هشتم Symbian عرضه شده است اما نسخه 7 این سیستم عامل روی موبایل ها قرار می گیرد و تا به حال نسخه های مختلفی از آن بدون اینکه به صورت کامل استفاده شوند به فراموشی سپرده شده اند. جالبترین مورد برای این سیستم عامل به وجود آمدن اولین کرم و ویروس موبایل روی این سیستم عامل در سال 2004 بود. این کرم که Cabir نام دارد می تواند با استفاده از تکنولوژی Bluetooth خود را به موبایل های دیگر منتقل کند.
2-1-1-2 زبان برنامه نویسیSymbian :
زبان اصلی برنامه نویسی برای Symbian زبان C++ است اما زبانهای مختلفی برای برنامه نویسی در این سیستم عامل به وجود آمده اند. از جمله مهمترین زبانها می توان به OPL،Python،Visual Basic،Perl و Personal Java اشاره کرد.
سیمبیان با زبان ++C نوشته شده و معماری آن مبتنی بر پلاگین است که افزودن فناوری های مورد نظر شرکت های مختلف به آن را آسان تر می کند. این سیستم عامل از انواع سخت افزارهای مختلف پشتیبانی می کند (مزیتی کلیدی در بازار اسمارت فون ها) و اجرای قابلیت های جدید و درخواستی را سریع تر انجام می دهد.
هر یک از این زبانها می توانند امکانات کامل برنامه نویسی در Symbian را فراهم نمایند. رشد زبانهای برنامه نویسی در این سیستم عامل بسیار سریع می باشد. به طوریکه نصف این زبانها همین امسال وارد این سیستم عامل شده اند و بدون شک این رشد با ورود زبانهای دیگر ادامه خواهد یافت. ابزارهای برنامه نویسی مختلفی از جمله ادیتورهای متنوع نیز برای کار با این زبانها به همراه شبیه سازهای موبایل (برای تست برنامه روی PC قبل از نصب آن روی موبایل) به بازار عرضه شده است.
رابط های کاربری: هم اکنون دو رابط اصلی کاربری برای Symbian به وجود آمده است. اولین رابط که بیشترین استفاده را در موبایل ها دارد توسط نوکیا نوشته شده است. این رابط دارای نسخه های مختلفی است اما Series 60 نسخه اصلی این رابط است که بسیار مورد استقبال قرار گرفته است. رابط کاربری دوم با نام UIQ به وجود آمده است که دارای امکانات بسیار خوبی است و رفته رفته در حال باز کردن جای خود در بین شرکت های تولید کننده موبایل است. هر دوی این رابط ها به صورت کاملا گرافیکی و شبیه به هم طراحی شده اند و کار با آنها بسیار راحت است.
2-1-1-3 بازی بر رویSymbian :
خوشبختانه سیستم عامل Symbian یکی از غنی ترین سیستم عامل ها برای بازی کردن است. به خصوص بعد از تولید N-gage اولین کنسول بازی موبایلی توسط نوکیا که بر اساس Symbian و رابط کاربری Series60 به وجود آمد، سیل بازیهای مختلف و حرفه ای به سوی این موبایل و در کنار آن این سیستم عامل سرازیر شد. حتی شرکت های مطرح بازی سازی هم اکنون به صورت حرفه ای روی این سیتم عامل و موبایل های دارای این سیستم عامل سرمایه گذاری می کنند.
مجوز استفاده از سیمبیان برخلاف بلک بری شرکت RIM یا Mac OS X شرکت اپل، می تواند در اختیار هر شرکتی قرار بگیرد. APIهای آن نیز در اختیار علاقمندان است و این یعنی، با انتخاب سیمبیان، دپارتمان های آی تی گزینه ها و امکانات بیشتری را در اختیار خواهند داشت. برای نمونه، سیمبیان با گستره وسیعی از انواع راهبردهای بی سیم مانند Intellisync،Visto و BlackBerry Connect برای ارایه سرویس های ایمیل سازگار است.
با این همه، رایج بودن سیمبیان مشکلاتی را هم در بردارد. سیمبیان آماج حملات بدافزارهایی است که گوشی را دچار اختلال می کنند. یک کد مخرب روی آن نصب می نمایند یا داده های آن را به صورت بی سیم به دستگاه های دیگر منتقل می کنند. ویروسی موسوم به Commwarrior تاکنون اسمارت فون های زیادی را آلوده کرده است که از سیمبیان استفاده می کنند. این ویروس خود را از طریق بلوتوث به گوشی های دیگر منتقل می کند.
2-1-1-4 فرستادن برنامه به گوشی موبایل
طبیعتاً، شبیه ساز به خوبی کار می کند. ولی بهتر است از مواقعی که فایل در شبیه ساز ویندوز درست کار می کند ولی در گوشی کار نمی کند، آگاهی یابید. بهترین مثال ممکن، متغیرهای استاتیک هستند، که در شبیه ساز به خوبی کار می کنند، ولی در گوشی موبایل کار نمی کنند. به علت اینکه اشکالزدایی مستقیم در موبایل سخت است و بعضی مواقع کار نمی کند، و سیستم فقط پیا م system error می دهد، یافتن علت کار نکردن برنامه در موبایل سخت است، ولی اگر به طور منظم برنامه را در موبایل امتحان کنید، پیدا کردن اشکالات راحت تر خواهد شد.
برای اینکه به IDE بگویید که می خواهید برای دستگاه موبایل برنامه بسازید، باید پلت فرم مقصد برای برنامه کامپایل را به ARMI تغییر دهید. (پردازنده گوشی سری 60 شما، یک پردازنده ARM است) و نوع آن را به UREL (ویرایش انتشاری) تغییر دهید. برای ساخت پروژه تان، به مسیر Project→Make project 'Mopoid.cbx' بروید. (همچنین می توانید Ctrl+F9 را نیز بزنید.)
تصویر1-1 کامپایل کردن برای انتشار به جای اشکالزدایی
تصویر 1-2 تغییر هدف ساخت برنامه
بعد از اینکه این پروسه تمام شد، یک فایل با نام Mopoid_ARMI_UREL.sis در پوشه C:SymbiandevMopoidgroup مستقر خواهد شد. این فایل را به گوشی تان انتقال دهید و آن را نصب کنید.
شما می توانید انتقال را با PC Suite و یا بلوتوث از طریق راست کلیک کردن روی فایل و انتخاب sent to…→ Bluetooth device و یا کابل اینفرارد انجام دهید. برای جزئیات بیشتر در مودر نحوه نصب کردن، به راهنمایی های گوشی خودتان مراجعه کنید.
اگر همه چیز به درستی کار کند. فراموش نکنید که برای ادامه برنامه نویسی، تنظیمات ساخت را به WINS/UDEB برگردانید!
2-1-1-5 اضافه کردن موتور بازی به پروژه
طراحی یک بازی کامل، مدت زمان طولانی نیاز دارد، و در این خودآموز، ما می خواهیم که پایه های اساسی برنامه نویسی برای سیستم عامل سیمبین را مرور کنیم نه صرف کردن زمان طولانی برای ایجاد روتین های بازی. به همین خاطر ما چند فایل از قبل نوشته شده را به پروژه وارد می کنیم و چند خصیصه جالت و مهم را اضافه می کنیم.
لطفاً توجه کنید: امکان این که یک بازی را با ساختاری شی گرا بسازیم، وجود دارد؛ ولی فایل های تدارک دیده شده، به نوعی نوشته شده اند که درک موضوعات مربوط به سیستم عامل سیمبین را راحت تر کنند، و برای یک برنامه شی گرای کامل تهیه نشده اند.
تمام مراحل زیر، هنگامی که شما پروژه شخصی خودتان را می نویسید، مهم خواهد بود. شما همچنین باید حتماً فایل های گرافیکی و صوتی و سورس های فایل های آماده و بعضی چیزهای دیگر را اضافه کنید.
2-1-1-5-1 آنزیپ کردن (Unzip) فایل
فایل Mopoid.Step8.Update.Zip را به پوشه C:Symbiandev اکسترکت (استخراج) کنید. اطمینان حاصل کنید که شما ساختار پوشه ای آرشیو را حفظ کرده اید! تمام فایل ها را بازنویسی کنید. اگر هیچ اخطاری برای بازنویسی داده نشد، شما آن را به پوشه صحیح اکسترکت نکرده اید.
2-1-1-5-2 شرح داده ها و اطلاعات بازی
آرشیو، حاوی یک پوشه جدید با نام Data است که حاوی فایل های گرافیکی و صوتی برای بازی ما است. هنگامی که شما بامه را در شبیه ساز اجرا می کنید، تمام فایل های موجود در پوشه خودش را جستجو می کند. فایل datadobitmaps.bat را اجرا کنید تا به طور اتوماتیک پوشه نظیر را ساخته و همه فایل های اطلاعاتی را در آنجا کپی کند. ارگ SDK سری 60 شما در مسیر پیش فرض (C:Symbian) نصب نشده است، و یا اگر شما از یک SDK غیر از ویرایش 1.2 استفاده می کنید، شما در ابتدا مجبورید که اسامی پوشه ها را در فایل batch تصحیح کنید. (برای تغییر دادن آنها، روی فایل راست کلیک کنید و Edit را انتخاب کنید و بعد از درست کردن آدرس ها، تغییرات را ذخیره کنید.)
2-1-1-5-3 تعریف متن جدید
یک بازی واقعی، مقدار زیادی متن نیاز دارد. رشته های زیر را در جدول رشته ها (string table) همانطور که در گام 4 توضیح داده شد، تعریف کنید. در هر مورد بعد از علامت: یک فاصله نیز بزنید، به خاطر اینکه یک عدد به متن ها اضافه خواهد شد.
2-1-1-5-4 بازی جدید:
دستور شروع بازی جدید باید به تابع شروع بازی در موتور بازی، متصل شود. یک تابع رویدادی جدید برای منوی Start New Game ایجاد کنید. (شبیه همانچه که برای پنجره About انجام دادید.) ولی اکنون نام تابع را تغییر ندهید که حاوی پسوند L شود (زیرا تابع شروع بازی، حتماً باید اجرا شود.) متن زیر را به تابع جدید OniMenuItemNewGameViewCommand اضافه کنید.
iGameEngine->StartNewGame ();
2-1-1-5-5 اضافه کردن فایل های صوتی و تصویری
چند فایل .png و .wav به صورت آماده وجود دارند. شما باید آنها را به پروژه اضافه کنید، که در آن صورت آنها به موبایل کپی خواهند شد. برای انجام این کار، تنظیمات ساخت را با استفاده چرخ دنده ها به ARMI UREL تغییر دهید. الان شما باید یک ورودی با نام Package File در پانل Project ببینید. هنگام اضافه کردن فایل ها، مواظب باشید، زیرا C++BuilderX یک باگ (اشکال) کوچک دارد.
شکل1-3 اضافه کردن فایل های خارجی به پکیج
روی Package File راست کلیک کنید و… Add File to Package را برگزینید. یک پنجره محاوره باز خواهد شد. اولین فایل پوشه /data/ از پروژه Mopoid را انتخاب کنید. (فایل ball.png) هنوز روی Ok کلیک نکنید زیرا در غیر این صورت مجبور خواهید شد که فایل را از پکیج پاک کنید و دوباره شروع کنید.
شکل 1-4 نام فایل را به Target Path اضافه کنید!
نام فایل (ball.png) را به Target Path در دومین جعبه متن، اضافه کنید. هنگامی که انجام دادید. روی Ok کلیک کنید.
Target Path نام و مکان فایل را در دشتگاه مشخص می کند. اگر نام فایل تعیین نشود، گوشی قادر به کپی کردن فایل نخواهد بود! علامت! در ابتدای آدرس، به این معنی است که کاربر می تواند انتخاب کند که برنامه را به کجا نصب کند؛ بعداً در این مورد بیشتر توضیح داده خواهد شد.
باگ موجود در C++BuilderX 1.5 این است که: بعد از اینکه یک فایل را اضافه کردید، شما هرگز نخواهید توانست Target Path را تغییر دهید. IDE به شما اجازه تغییرش را می دهد، ولی هنگامی که روی OK کلیک می کنید، تغییرات شما را بدون اطلاع دادن به شما، نادیده می گیرد. بنابراین، فراموش نکنید که نام فایل را بعد از اضافه کردن فایل، اضافه کنید!
این کار را برای تمام فایل های .wav و .png و فایل Levels.dat انجام دهید. هنگامی که تمام کردید، پانل Project شما شبیه تصویر 20 خواهد بود:
شکل 1-5 اکنون تمام فایل های بخشی از پروژه هستند.
2-1-1-5-6 تست کردن
به حالت UDEB/WINS بروید. هنگامی که بازی تان را اجرا می کنید، باید هنوز هم کار کند. اگرچه صفحه فقط سیاه است و فقط یک متن در آن دیده می شود. در چند مرحله بعدی، ما تمام قسمتهایی را که نیستند، اضافه خواهیم کرد.
2-1-1-5-7 کشف و رفع اشکال
این بخش، نسبتاً ریسک دار است. اضافه کردن سورس فایل های آماده به پروژه، فقط در صورتی بدون اشکال خواهد بود که شما دقیقاً مانند مطالب توضیح داده شده در مراحل قبلی انجام دهید. اگر شما هنوز هم مشکلی دارید و پروژه کار نمی کند، از پروژه موجود در Mopoid.Step8.Zip استفاده کنید.
2-1-1-6 خواندن و نوشتن فایل ها
2-1-1-6-1 آمادگی
MopoidGameEngine.cpp را باز کنید و از قسمت Includes به فایل MopoidGameEngine.h بروید. قبل از اینکه اعلان کلاس شروع شود، خواهید دید که ما قبلاً شماره ورژن بازی و نام فایل را تعریف کرده ایم.
#define MOPOID_FILE_VERSION_NUMBER 1
_LIT (KMOPOIdDATAFile, "Settings.dat");
C++ سیستم عامل سیمبین، چند API برای دسترسی به فایل ها تدارک دیده است. ابتدا فایل سرایند مربوطه، ضمیمه شود. به همین منظور، خط زیر را در کنار خط های مربوط به ضمیمه کردن فایل های دیگر، بنویسید:
#include <s32file.h>
این کار باعث می شود تا ما تمام توابعی که نیاز داریم، ضمیمه شوند. ما در مراحل قبلی، کتابخانه های مورد نیاز را به پروژه مان اضافه کرده ایم.
2-1-1-6-2 تنظیم نام فایل
در فایل سرایند، ما فقط نام فایل اطلاعاتی مان را ذخیره کردیم، مسیر (آدرس) فایل باید به طور پویا توسط برنامه اضافه شود. این کار می تواند توسط اضافه کردن مسیر برنامه، انجام شود، زیرا ما می خواهیم فایل اطلاعاتی مان در همان پوشه ای که کاربر بازی را نصب کرده است، به فایل MopoidGameEngine.cpp برگردید و به پایین بروید تا به SaveGameProgressL ( ) دسترسی داشته باشید. این کد ابتدا باید در این تابع اجرا شود:
TFileName fullName (KMopoidDataFile);
CompletewithAppPath(fullName);
#ifdef__WINS__
fullName[0]='C';
#endif
همانطور که می بینید، ما باید بررسی کنیم و ببینیم که آیا بازی در شبیه ساز ویندوز اجرا می شود یا نه. اگر در شبیه ساز اجرا شود، محیط با جواب می دهد که برنامه در درایو Z نصب شده است، که همان درایو ROM است (جایی که سیستم خودش در تلفن نصب شده است.) در ظاهر، به این درایو (مجازی) کامپایل شده است. این درایو قابل نوشتن نیست، بنابراین ما باید درایو را به درایو C تغییر دهیم. در موبایل، شما آدرس واقعی جایی که برنامه نصب شده است را خواهید گرفت.
2-1-1-6-3 باز کردن فایل
راه های مختلفی برای نوشتن داخل فایل ها وجود دارد. در اینجا، ما از انعطاف پذیرترین راه استفاده می کنیم. که بر پایه جریان هایی (Stream) ایجاد شده است که در یک ذخیره گاه (مثلاً یک فایل) قرار دارند. این روش همچنین امکان مرتب سازی مستقیم آبجکت ها را در یک فایل می دهد و صورتی که بخواهید وضعیت یک بازی خیلی پیچیده را ذخیره کنید، خیلی کمک خواهد کرد.
ما از یک فایل ذخیره گاه مستقیم استفاده می کنیم که امکان تغییر اطلاعات در آن نیست. این موضوع مشکلی محسوب نمی شود، زیرا ما هر دفعه کار فایل را بازنویسی خواهیم کرد. کد زیر ذخیره گاه فایل را باز می کند.
CFileStore*store=CDirecfileStore::ReplaceLC(CEikonEnv::static()-> FsSession( ), FsSession ( ),
FullName, EFileWrite);
Store->SetTypel (KDirectfileStoreLayouUid);
توجه داشته باشید که ما از فایل سرور (file server) محیط CeikonEnv استفاده می کنیم. فایل سرور سیستمی است که نوشتن و خواندن فایل ها را کنترل می کند. برای کل سیستم فقط یک فایل سرور وجود دارد و شما نمی توانید برای خودتان یک فایل سرور شخصی ایجاد کنید. (فقط امکان اتصال به آن وجود دارد.) به علت اینکه این روش پردردسر است، ما از فایل سروری که سیستم برای خواندن فایل منبع استفاده می کند، به طور مکرر استفاده خواهیم کرد.
2-1-1-6-4 ایجاد یک جریان
یک ذخیرگاه، می تواند حاوی جریان های (Stream) مختلفی باشد؛ یکی از آنها باید جریان ریشه (root stream) باشد. برای ذخیره بالاترین امتیاز، فقط یک جریان نیاز است. جریان های چندگانه می توانند برای ذخیره اطلاعات بازیکنان مختلف استفاده شوند.
جریان ایجاد می شود و ID خودش را بر می گرداند، که بعداً وقتی که می خواهیم این جریان را به عنوان جریان ریشه ذخیره گاه تنظیم کنیم، از این ID استفاده خواهیم کرد.
RStoreWriteStream;
TStreamId id = stream.CreateLC (*store);
2-1-1-6-5 نوشتن اطلاعات
بالاخره ما به نقطه ای رسیدیم که اطلاعات به فایل نوشته می شوند. ما دو مقدار صحیح به جریان خواهیم نوشت. در سیستم عامل سیمبین، یک Tint از نوع یک متغیر 32 بیتی تعریف شده است، بنابراین ما از تابع WriteInt32L( ) که عضو جریان است، برای نوشتن اطلاعات استفاده خواهیم کرد.
//write file version number
Stream.writeInt32L (MOPOID_FILE_VERSION_NUMBER);
//Write game progress
Stream.WriteInt32L (iSettings.iHighScore);
نوشتن ورژن فایل به جریان اجباری نیست. اگرچه می تواند بسیار پرکاربرد و مفید باشد؛ مثلاً فرض کنیم خریدار شما بازی Mopoid شما را روی موبایلش نصب کرده است. بعد از مدتی شما یک ویرایش جدید منتشر می کنید که نام بازیکن را هم ذخیره می کند. خریدار شما، آن را دانلود می کند و بازی قبلی موبایلش را ارتقا می کند. فایل اطلاعاتی قدیمی پاک نخواهد شد!
حالا کاربر بازی ورژن جدید شما را شروع می کند، این بازی فایل اطلاعاتی قدیمی را پیدا می کند و سعی می کند آن را لود کند و انتظار دارد که بیشترین امتیاز و نام کاربر را دریافت کند. ولی، به علت این که این فایل توسط بازی قدیمی ایجاد شده است، حاوی نام بازیکن نیست و این موضوع نیز مشکل ساز خواهد شد. به راحتی می توانیم با بررسی ورژن فایل، این مشکل را رفع کنیم.
2-1-1-6-6 بستن فایل
شما تقریباً کار را تمام کرده اید، فقط اطمینان حاصل کنید که اطلاعات به فایل نوشته شده اند و سپس فایل را ببندید:
//Commit the changes to the stream
Stream.commitL ( );
CleanupStack:: PopAndDestroy ( ); //stream
//set the stream in the store and commit the store
Store->setRootL(id);
Store-> CommitL( );
CleanupStack::PopAndDestroy( ); / / store
2-1-1-6-7 پشته Cleanup
در تابعی که اخیراً نوشتیم، از پشته Cleanup سیستم عامل سیمبین استفاده شده است که یکی از مهمترین قسمت های برنامه نویسی C++ سیستم عامل سیمبین است. فهم کامل آن مشکل است و البته در بعضی نوشتجات دیگر توضیح داده شده است، بنابراین در اینجا فقط به طور خلاصه توضیح می دهیم.
فرض کنیم شما در یک متد، یک آبجکت در یک گروه ایجاد کرده اید و متغیر شما به آن اشاره می کند. اگر اجرای بعضی از توابع، قبل از تمام شدن متد، ناتمام رها شود، متد شما فوراً متوقف خواهد شد و برنامه، متغیرهای اتوماتیک را پاک خواهد کرد.
به هر حال در این مورد، شما فقط اشاره گر به آن آبجکت را دارید که از بین خواهد رفت ولی آبجکت خودش در حافظه بدون ارجاع باقی خواهد ماند و این بد است.
بنابراین، آبجکت هایی که توسط متغیرهای اتوماتیک استفاده می شوند، باید به پشته Cleanup برده شوند. اگر اجرای تابع رها شود، برنامه به طور اتوماتیک تمام آبجکت های موجود در پشته Cleanup را پاک خواهد کرد.
طبیعتاً شما از این به بعد از پشته Cleanup به صورت زیر استفاده خواهید کرد.
Myobject x*=new (Eleave) Myobject ( );
Cleanupstack::PushL(x);
x->DoSomethingDangerousl ( );
CleanupStack::PopAndDestroy( );
در مثال فایل، ما دو تا تابع صدا کردیم که دارای یک C در انتهای نامشان بودند. به این معنی که آنها یک آبجکت در پشته Cleanup دارند که باید هنگامی که دیگر به آنها نیاز نیست، پاک شوند. بنابراین از دو PopAndDestroy( ) استفاده کردیم. لطفاً توجه داشته باشید که هر وقت که برنامه پشته Cleanup را به خاطر اجرا نشدن تابع، پاک می کند، شما باید خودتان توسط یک برنامه error-free مواظب باشید که عملیات پاک کردن به درستی انجام شود.
2-2-2 سیستم عامل لینوکس (LinuX)
این سیستم عامل بر اساس هسته سیستم عامل لینوکس توسعه یافته است. در واقع مدیریت و بهینه سازی حافظه، ارتباط با سخت افزار و سرویس های سیستم، امنیت، مدیریت پردازش ها و مدیریت منابع دستگاه موبایل را هسته لینوکس انجام می دهد و آندروید فقط لایه ایست که ارتباط میان کاربر و سیستم عامل را برقرار می کند. این لایه نرم افزاری بوسیله جاوا پیاده سازی شده است و به همین علت قادر به اجرای کدهای Native نخواهد بود. آندروید همانند لینوکس اوپن سورس خواهد بود و توسعه دهندگان بی شماری بر روی آن کار می کنند.
لینوکس در بین سیستم عامل های موبایل مزیت ویژه ای دارد: ارتشی از توسعه دهندگان که آماده توسعه برنامه های کاربردی برای این پلتفرم هستند. وجود چنین جامعه بزرگی مشخص می کند که چرا فوجیتسو، موتورولا، NEC، پاناسونیک و سامسونگ به این سیستم عامل روی آورده اند. البته مشکلی هم وجود دارد و آن، ویرایش های مختلفی از این سیستم عامل است که توسط موتورولا، SavaJe Technologies، TrollTech و دیگران ایجاد شده اند.
برنامه هایی که برای یکی از این ویرایش ها طراحی شده اند، روی نسخه های دیگر کار نمی کنند.
Haila Wang رئیس انجمن استانداردهای تلفن های مبتنی بر لینوکس (LiPS) که حدود یک و نیم سال پیش تشکیل شد، می گوید: این بزرگ ترین کاستی لینوکس در مقایسه با سیمبیان و ویندوز موبایل است.
دو طرح برای استاندارد کردن لینوکس موبایل در شرف انجام است. Access، شرکت ژاپنی سازنده نرم افزارهای موبایل، که PalmSource، سازنده سیستم عامل Palm OS را تصاحب کرد، در صدد معرفی پلت فرمی برای لینوکس موسوم Access Linux Platform در نیمه نخست سال جاری میلادی است که استانداردهای آن توسط انجمن LiPS تبیین شده است.
همانطور که می دانید هر سیستم عاملی یک سری کد دارد که درصورت عدم توانایی شما به قسمتی، با وارد کردن آن کد می توانید کاری را که می خواهید انجام بدهید
کد های زیر روی HTC HD7 که جز سری اپراتورO2 حساب می شود، تست شده است.برای اپراتورهای اینجا ممکن هست بعضی موارد کار نکنند.
فعال کردن دایورت تماس ها: # 901 * 62 * *
غیر فعال کردن دایورت: # 62 # #
نمایش شماره ی دایورت شده: # 62 # *
دایورت کردن تماس ها در هنگام صحبت کردن با کسی (دایورت کردن پشت خطی):
فعال کردن: # 901 * 67 * *
غیر فعال کردن: # 67 # #
نمایش شماره ی دایورت شده: # 97 # *
دایورت کردن تماس ها وقتی به تماس گیرنده پاسخ نداده اید:
فعال کردن: # تعداد ثانیه مورد نظر * 11 – 901 * 61* *
غیر فعال کردن: # 61 # #
نمایش شماره ی دایورت شده: # 61 # *
توجه: برای اینکه تماس به پیغام گیر نرود، زمان انتخابی باید کمتر از 11ثانیه باشد.اما اگر پیغام گیر ندارید، می تونید 30 ثانیه که زمان بوق آزار! هر تماس هست انتخاب کنید برای دایورت کردن تمام تماس ها (با هر شرایطی):
فعال کردن: # 901 * 21 * *
غیر فعال کردن: # 21 # #
نمایش شماره ی دایورت شده: # 21 # *
برای غیرفعال کردن هر نوع دایورتی (تمام موارد بالا):
# 002 # #
برای منتظر نگه داشتن پشت خطی (Call Waiting) از کد زیر استفاده کنید:
# 43 *
2-2-2-1 ساختن و استفاده از منابع (Resources)
وقتی دارید برنامتون رو می سازید احتمال زیاد از منابع بیرونی هم استفاده خواهید کرد، مثل فایلهای ویدیویی یا شنیداری، تصاویر، xml و … پس باید بدونید چطور از داخل برنامتون به این منابع ارجاع بدید. منابع برنامتون داخل پوشه ی res ذخیره می شن. و یه سری فایلها به صورت خودکار بهش اضافه می شه مثل :
layout: شامل فایل های xml ای که مربوط به محیط های کاربریه.
values : شامل تمام مقادیریه که توی برنامتون تعریف می کنید و بهشون یه اسم می دید و بعدا با اون اسم بهشون رجوع می کنید و ازشون استفاده می کنید.
فایل string.xml هم به طور پیش فرض در این فولدر به وجود اومده. نحوه ی کارکرد string.xml این طوریه که ما یه سری منابع رشته ای داریم که مثلا (با توجه به تصویر) هرجا که تو برناممون بخوایم از Hello World, main! استفاده کنیم، به جاش می تونیم به این منبع ارجاعش بدیم و بنویسیم hello.
حالا چرا این منابع رو بیرون نگه می داریم؟ به خاطر اینکه بتونیم متغیرهای سراسری (global) داشته باشیم، مثلا می تونیم چند تا فولدر برای زبان های مختلف داشته باشیم و فقط لازمه که به فایل xml مربوط به اون زبان بریم و دیگه لازم نیست تمام کدهای برناممون رو به خاطر تغییر زبان کاربر تغییر بدیم.
2-2-2-2 کار کردن با AndroidManifest.xml
۱.حالا می خوایم یه نگاه دقیق تری روی AndroidManifest.xml داشته باشیم به خاطر اینکه فایل مهمیه و برنامه شما رو برای سیستم اندروید تشریح می کنه، پس مهمه که همه چیز رو در این فایل درست وضع کرده باشید. خوب یه پروژه اندروید بسازید نحوه انجام این کار و روی AndroidManifest.xml کلیک کنید تا باز بشه. خوبیه ایکلیپس اینه که به شما اجازه می ده این فایل رو در حالتهای مختلفی ویرایش کنید، مثلا حالت ویرایش بصری که تو عکس هست یا اینکه مستقیما از خود فایل xml ویرایش کنید.
2-2-2-3 آموزش برنامه نویسی در لینوکس
یک برنامه نویس حرفه ای باید طریقه ی برنامه نویسی در لینوکس را بداند.
مخصوصا کسانی که که رشته ی آنها کامپیوتر است باید طریقه ی برنامه نویسی در لینوکس را بدانند.
کامپایلر زبان c در لینوکس gcc و کامپایلر زبان ++C در لینوکس ++g می باشد.که البته کامپایلر ++C تنها در فدورا وجود دارد.البته می توان با داشتن package آن،در توزیع های دیگر لینوکس نیز آن را نصب کرد.
2-2-2-4 کد های مخفی Windows Phone 7
همونطور که میدونید هر سیستم عاملی یک سری کد داره که درصورت عدم توانایی شما به قسمتی، با وارد کردن آن کد می توانید کاری را که می خواهید انجام بدهید
کد های زیر روی HTC HD7 که جز سری اپراتورO2 حساب میشه, تست شده است. برای اپراتورهای اینجا ممکن هست بعضی موارد کار نکنند.
در صورتی که نمیتونید با دستگاه صخبت کنید, با کد های زیر دایورت کنید:
فعال کردن دایورت تماس ها: # 901 * 62 * *
غیر فعال کردن دایورت: # 62 # #
نمایش شماره ی دایورت شده: # 62 # *
دایورت کردن تماس ها در هنگام صحبت کردن با کسی (دایورت کردن پشت خطی):
فعال کردن: # 901 * 67 * *
غیر فعال کردن: # 67 # #
نمایش شماره ی دایورت شده: # 97 # *
دایورت کردن تماس ها وقتی به تماس گیرنده پاسخ نداده اید:
فعال کردن: # تعداد ثانیه مورد نظر * 11 – 901 * 61* *
غیر فعال کردن: # 61 # #
نمایش شماره ی دایورت شده: # 61 # *
توجه: برای اینکه تماس به پیغام گیر نرود, زمان انتخابی باید کمتر از 11ثانیه باشد.اما اگر پیغام گیر ندارید, میتونید 30ثانیه که زمان بوق آزار! هر تماس هست انتخاب کنید
برای دایورت کردن تمام تماس ها (با هر شرایطی):
فعال کردن: # 901 * 21 * *
غیر فعال کردن: # 21 # #
نمایش شماره ی دایورت شده: # 21 # *
برای غیرفعال کردن هرنوع دایورتی (تمام موارد بالا):
# 002 # #
برای منتظر نگه داشتن پشت خطی (Call Waiting) از کد زیر استفاده کنید:
# 43 *
با توجه به مطالبی که در قسمت قبل درباره کدنویسی گفتیم ، در اینجا به توضیح استفاده از چند کد دیگر شامل اضافه کردن لینک به تصاویر یا متن و چگونگی ایجاد بلوک های اصافی در قالب وبلاگ یا سایت می پردازیم.
چنانچه تمایل به ویرایش بهتر کد قالب در محیط حرفه ای تری دارید از برنامه های Microsoft FrontPage و یا Adobe Dreamweaver استفاده کنید چرا که اگر در محیط کدنویسی دچار مشکل یا خطا شوید به راحتی قابل رفع خواهد بود. این برنامه ها دارای ۲ محیط کدنویسی و گرافیکی می باشند که با اعمال تغیرات در محیط کدنویسی نتیجه کار در محیط گرافیکی و برعکس قابل مشاهده خواهد بود.
2-2-2-5 نحوه درج لینک بر روی یک متن :
<a href="http://www.blogskin.ir" target="_blank" >قالب رایگان وبلاگ</a>در کد بالا مقدار عبارت href برابر با آدرس لینک مورد نظر قرار می گیرد که با کلیک روی آن به آدرس مورد نظر خواهید رفت . عبارت target="_blank" برای زمانی استفاده می شود که می خواهیم با کلیک روی لینک یک صفحه جدید باز شود و آدرس صفحه مورد نظر را نمایش دهد و در صورت عدم استفاده ازین عبارت با کلیک بر روی لینک در همان صفحه به آدرس لینک موردنظر خواهید رفت. در این کد ، تنها وجود قسمت href ضروری است و درج بقیه عبارات اختیاری است. همانطور که می بینید پس از درج متن مورد نظر بین تگ لینک ، باید این تگ را ببندیم </a>
کد بالا بصورت روبرو در صفحه قابل نمایش است:
حال برای تغیر رنگ و یا سایز فونت لینک کافی است کد زیر را به آن اضافه کنیم :
<a href="http://www.blogskin.ir" target="_blank"> <font style="color:#000000;font-size:12pt"> قالب رایگان وبلاگ </font></a>
کد بالا بصورت روبرو در صفحه قابل نمایش است : قالب رایگان وبلاگ
اکنون برای لینک دار کردن یک تصویر کافی است عبارت درج لینک را قبل از کد تصویر قرار دهیم :
<a href="http://www.blogskin.ir" target="_blank">
<img border="0" src="http://bloghelp.ir/helppic/help11.jpg" width="202" height="175" alt="Blog Skin"></a>
که نتیجه کار در صفحه بدین صورت نمایش داده می شود:
2-2-3 سیستم عامل پالم (paLm)
یکی از پیشتازان صنعت PDA، شرکت Palm است. سیستم عامل پالم از سال 1996 همراه با PDA های پالم به بازار آمد. البته هم اکنون زمان آن به سر آمده است و این آخرین هورا برای این سیستم عامل، قبل از پیوستنش به ویندوز موبایل است. هنگام استفاده از آن چنان است که حس می کنید در حال کار با نسخه ای از لینوکس کامپیوترتان هستید. پالم با همان قدرت و کارآیی کارهای تان را انجام می دهد، هر چند که دیگر زمان را از دست داده است.
هرچند که دیگر تاریخ آن گذشته، اما پالم شروع بسیار خوب و با قیمت مناسبی را در بازار همراه های هوشمند داشت. مدت زمان لازم برای یادگیری کار با آن بسیار کوتاه است و بسیاری از امکاناتی را که از یک Smartphoneمی توان انتظار داشت را برآورده می کند. هر چند که ظاهر آن هنوز مانند تولیدات سال 1996 این شرکت است. خب، باید واقع بین بود، به هر حال پالم مرده است. احتمالا شما دیگر پالم را بر روی گوشی های همراه نخواهید دید. زیرا تمامی گوشی هایی که از ان استفاده می کردند، از این به بعد باید از ویندوز موبایل استفاده کنند.
بعد از پیدایش Microsoft، استفاده کاربران از Palm به شدت کاهش یافت و همه به محصولات جدید روی آوردند. به این ترتیب Microsoft شهرت بیشتری پیدا کرد و در حال حاضر بیشتر کاربران تنها از Windows به عنوان یک سیستم عامل برای PDA نام می برند.
سیستم عامل پالم هم نرم افزار های ویژه خودش را پشتیبانی می کند و در بیشتر موارد نرم افزارهایی که در سیستم عامل ویندوز موبایل پشتیبانی می شوند، نسخه پالم هم دارند. به طورکلی تعداد نرم افزارهایی که برنامه نویسان برای ویندوز موبایل Pocket PC تولید کرده اند، از تمام نرم افزارهای ساخته شده برای سایر سیستم عامل ها بیشتر است.
2-2-4 سیستم عامل بلک بری (BlaCk Berry)
بلک بری قبل از آنکه بعنوان بهترین موبایل هوشمند برای استفاده از پست الکترونیک مورد توجه واقع شود، کار خود را به عنوان یک پیجر دوطرفه ستایش شده آغاز کرده بود. این نام همچنین به عنوان یک مدل جامع سخت افزاری و نرم افزاری درخشش خاص خود را در ارزیابی های انجام شده نشان داده است.زیرا Research in Motion هم سخت افزار و هم سیستم عامل این همراه هوشمند را تولید می کند.سابقا این تلفن همراه توسط شرکت ها به کارمندان و افراد مرتبط با آنها ارائه می شد، زیرا پشتیبانی از این موبایل توسط سرورهای عظیم بلک بری برای تمام کشورها انجام می گرفت. این سرورها خدمات بلک بری را همراه با پست الکترونیکی شرکت ها به شکل یک پارچه و همراه با امنیت و پشتیبانی کامل ارائه می کردند. اما امروزه، درخواست برای بلک بری توسط افراد حقیقی هم رو به افزایش گذاشته است.
BlackBerry Bold هم آخرین نسخه استاندارد این سیستم عامل است که برای استفاده در گوشی های صفحه لمسی بهبود یافته و برای اولین بار در BlackBerry Storm از آن استفاده شده است.
بلک بری یکی از بهترین تجربه های استفاده از پست الکترونیک در همراه های هوشمند است و این را باید ممنون صفحه کلید پر هیبت آن باشیم. کار با سیستم عامل بلک بری واقعا ساده است و همه چیز با سادگی و از روی سلیقه به شکل آیکون در سطرهای متوالی در برابر شما قرار دارد. اینها دلایلی هستند که این سیستم عامل در فروش کلی از ویندوز موبایل شرکت مایکروسافت جلو افتاده است. همچنین RIM قصد دارد که به انجمن توسعه دهندگان این پلتفرم رونقی دوباره بدهد. بنابراین پیش بینی می شود که در آینده باید در انتظار برنامه های بیشتر و کاربردی تری برای این سیستم عامل باشیم.
بلک بری کاملا محصور و اختصاصی است. برای داشتن این سیستم عامل شما باید یک گوشی بلک بری بخرید. اگر از نسخه Bold این سیستم عامل استفاده نکنید، مدل Storm و یا Flip Pearl این گوشی چندان جذابیتی نخواهد داشت و حتی تاریخ گذشته هم به نظر خواهد آمد. همچنین در مدلهای قبلی بلک بری مرورگر وب آن کاملا غیر کاربردی و بدون استفاده است. هم اکنون فقط باید منتظر گامهای بلند بلک بری برای تبدیل شدن به یک ابزار کارآمد برای مصرف کننده باشیم. خوشبختانه تغییرات خوبی در اینجا در حال وقوع است.
شرکت RIM بزرگ ترین سازنده اسمارت فون در ایالات متحده و نیز چهارمین توسعه دهنده سیستم عامل موبایل در جهان، در کنار توسعه سیستم عامل بلک بری بر توسعه برنامه های کاربردی برای آن نیز تمرکز کرده و همین مورد، دلیل صدرنشینی این سیستم عامل شده است. بیشتر کاربران تجاری به چیزی بیشتر از ارسال و دریافت ایمیل نیاز دارند.
وقتی RIM،Enterprise Server را برای MDS Application (نرم افزاری برای ایجاد، تنظیم و مدیریت برنامه های کاربردی بلک بری) منتشر کرد، همه متوجه شدند که این شرکت چقدر بر اهدافش پافشاری می کند. این نرم افزار که در گذشته به همراه ایمیل سرور این شرکت عرضه می شد، به عنوان یک محصول استاندارد برای مشتریانی که خواهان برنامه های کاربردی موبایل و نه پیام رسانی بی سیم بودند، منتشر شد.
سیستم عامل بلک بری از بیش از 1500 برنامه تجاری و هزاران برنامه معمولی مانند نقشه یاب، اشتراک عکس و لغت نامه پشتیبانی می کند. برنامه های مبتنی بر بلک بری با جاوا نوشته شده اند و از این رو می توانند روی انواع زیادی از تجهیزات موبایل مبتنی بر فناوری های مختلف اجرا شوند.
RIM به دپارتمان های آی تی اجازه می دهد برنامه های کاربردی مورد پشتیبانی خود را که توسط شرکت های دیگر تولید می شوند، کنترل کنند. همچنین این سیستم عامل می تواند برنامه های معتبر (مثلاً آن هایی که می توانند از طریق فهرست تماس های شخصی به اطلاعات دست یابند) و نیز برنامه های نامعتبر را از معتبر تشخیص دهد و دسترسی ها را محدود کنند.
بلک بری به طور ویژه ای برای اعمال تدابیر امنیتی هنگام ارسال و دریافت ایمیل و استفاده از نرم افزارهای تجاری بهینه شده است. این سیستم عامل از رمزنگاری end-to-end (ارتباط کاربر با کاربر بدون نیاز به میان افزار) برای محافظت از داده ها هنگام تبادل آن ها بین اسمارت فون و BlackBerry Enterprise Server استفاده می کند.
بلک بری ویژگی دیگری نیز دارد؛ RIM به دیگر سازندگان تجهیزات موبایل اجازه استفاده از نرم افزار خود را نمی دهد و به همین دلیل تنوع سخت افزارهای سازگار با بلک بری از بسیاری از رقبای خود کمتر است. RIM نمی خواهد تنوع تجهیزات موبایل مبتنی بر سیستم عامل این شرکت بیش از اندازه باشد.
چالش فراروی بلک بری، در رقابت با دیگران از راهکارهای نوگرایانه کمتری استفاده می کند و چون طیف متقاضیان آن متنوع است بر گستره آن به سرعت افزوده می شود.
2-2-5 سیستم عامل ویندوز موبایل (WindoS MObiLe)
ویندوز موبایل یک سیستم عامل فشرده به همراه تعدادی از برنامه های اصلی و کاربردی موبایل برای گوشی هائی است که بر اساس API های Microsoft win32 کار می کنند. این سیستم عامل شبیه نسخه رومیزی ویندوز طراحی شده است. ریشه های ویندوز موبایل در ویندوز CE قرار دارند و قبل از این در پاکت پی سی های این شرکت مورد استفاده قرار گرفته اند.
ویندوز موبایل در دو نوع عرضه می شود: یکی نسخه ویژه اسمارت فون ها که در پیام رسانی بی سیم، تقویم و زمانبندی کارها و یادداشت های صوتی خوب عمل می کند و دیگری، نسخه ویژه Pocket PCها که نسخه موبایل نرم افزارهایی چون ورد، اکسل، پاورپوینت و آوت لوک را به همراه دارد.
ویندوز موبایل های نسخه Pocket PC که به اختصار آن راPPC می نامند قوی ترین و بیشترین نرم افزارهای ممکن را نسبت به سایر سیستم عامل ها پشتیبانی می کند. نسخه اسمارت فون ویندوز موبایل هم از پشتیبانی نرم افزاری خوبی برخوردار است ولی قدرت آن در مقایسه با نسخه PPC کمتر است.
2-2-5-1 ویژگی های ویندوز موبایل:
> قابلیت نصب.net frame work که فعلا آخرین ورژن آن برای موبایل 2 می باشد، هیجان ویژه ای به آن میدهد. این قابلیت، دریچه ای بسیار بزرگ برای برنامه نویسان باز میکند که بتوانند با تمام زبان های.net برای گوشی خود برنامه بنویسند.
> پشتیبانی از زبان های c،c++،java هم تیر آخر برای تمام زبان هاست. یعنی از لحاظ برنامه نویسی، هیچ زبانی نسیت که نتواند در Windows Mobile استفاده بشود. در ضمن قابلیت استفاده از بانک های اطلاعاتی، جای هیچ تفاوتی بین کامپیوتر و گوشی را در زمینه برنامه نویسی نمی گذارد.
> از نظر کارکردن و عادت کردن بهWindows Mobile زمانی که به آن عادت کردید، به شدت احساس راحتی میکنید و واقعا حس میکنید که قبلا چقدر محدود بوده اید!!
> برنامه های کاربردی و مجانی بسیاری هم در اینترنت قابل پیدا شدن هستند و اگر برنامه نویس نیستید، با صرف اندکی وقت می توانید برنامه مورد احتیاجتان را پیدا کنید. اگر هم اندکی برنامه نویس باشید، به کمک محیط قدرتمند Visual Studio و شبیه ساز موبایل آن، (چه خودتان گوشی ویندوز موبایل داشته باشید یا نه) میتوانید برای آن برنامه نویسید و در شبیه ساز قدتمند VS آن را آزمایش کنید.
> پشتیبانی قوی و قدرتمند غول نرم افزاری از این سیستم عامل و open source کردن symbian و java و همین طور عرضه سیستم عامل open source دیگری به نام android توسط google که Microsoft به شدت از آن می ترسد! شرایط را برای این os بهتر از گذشته خواهد کرد. چون مسلما رقابت بین این محصولات به نفع مشتری است و نکته مثبت در این رقابت این ایت که ممکن است در جنگ، یک حریف از بین برود، ولی Microsoft هیچ وقت بی خیال نمی شود، در ضمن از بقیه رقبا خیلی جلوتر اسست.البته ورژن های customize شده لینوکس هم برای موبایل وجود دارد که واقعا کار با آنها سخت است و حتی لینوکس بازها هم آن را توصیه نمی کنند.
> شرکت های سازنده تلفن همراه که از windows mobile روی گوشی های خود استفاده می کنند، شرکت های بسیار بزرگ و معتبری هستند که از شرکت های معمولی یا حتی با تولید بالا مثل nokia بهترند!
> چون windows mobile در ایران به شدت غریب است و به گفته یکی از نمایندگی های گوشی imate خریداران ما، یا آدم های مایه دارند یا حرفه ای، گوشی های ویندوز دار به شدت با کلاس هستند و مخصوصا لوگوی ویندوز روی گوشی، جلوی هر فردی خود نمایی خواهد کرد و تیر خلاص برای با کلاس جلوه دادن شما را خواهد زد!!!
2-2-5-2 معایب ویندوز موبایل:
> Microsoft به شدت شرکتی انحصار طلب است. پس آنها شرایط را در جهت بهتر شدن عوض می کنند و شما در تغییرات ویندوز تاثیری ندارید. ولی در تمام سیستم عامل های دیگر چون open source هستند شما میتوانید برای خودتان سیستم عامل بسازید و… هر چند که open source در دراز مدت که افراد آن را گسترش میدهند برای خیلی ها سود خواهد داشت، ولی در این مدت بیشتر از 10 ساله که کلی آدم در حال گسترش لینوکس هستند چه خیری به ما رسیده که حالا رو سیستم عامل موبایل که تازه open source شده اند خیری به ما برسد!
> چون در ایران روی ویندوز موبایل کم کار شده، برنامه های مجانی (هر چند کافی هستند) خیلی پیدا نمی شود و باید در سایت های خارجی به دنبال آنها باشید و اگر برنامه ای پولی پیدا شد، (باز به خاطر فعالیت کم ایرانی هاcrack آن سخت پیدا می شود !!)
> مدت به نسبت زیادی (حدود 1 ماه) طول می کشد تا به windows mobile عادت کنید. ولی امان از دست وقتی که روون شدید!!
> چون ویندوز پولی هست، مجبورید پولی اضافه بابت گوشی خود بپردازید.(مثل notebook ها)
2-2-6 سیستم عامل ویندوز فون (Windows Phone 7)
در فوریه 2010 استیو بالمر مدیر عامل مایکروسافت معرفی اولیه ای را از سیستم عامل جدید مایکروسافت را برای تلفن های همراه هوشمند ارائه داد. کمی قبل تر از آم تنها شایعات و اطلاعات درز کرده کمی از این سیستم عامل جدید که Windows Phone 7 نام گرفته است، در اینترنت منتشر شده بود. اکنون و با عرضه نهایی این سیستم عامل به شرکتهای سازنده تلفن های همراه هوشمند و در اختیار گذاشتن SDK آن برای برنامه نویسان علاقه مند، همگان منتظر آن هستند تا ببینند ادعاهای مایکروسافت در مورد WP7 که پر بود از تعریف و تمجدید، محقق می شود یا خیر. ارائه اولیه استیو بالمر بارها و بارها تحسین همگان را در آن جلسه به همراه داشت. فاصله بین Windows Phone 7 و نسخه های قبلی که Windows Mobile نام داشتند از همه جهات زمین تا آسمان است. واسط کاربری و نوع طراحی آن با اسم رمز Metro سایر سیستم های عامل موجود همچون iOS و Android را به چالش کشانده است.
Metro بطور قابل ملاحظه ای متفاوت است و تاکید بسیار زیادی بر روی فن بیان و تعریف بصورت علائم و نشانه ها و همچنین تصاویر همانطور که در شکل زیر مشاهده می شود، دارد. استفاده کامل از قابلیتهای سخت افزاری نیز باعث افزاریش سرعت آن شده بطوریکه تصاویر متحرک با نرمی فوق العاده ای نمایش داده می شوند و بسیار طبیعی جلوه می کنند و پاسخ صفحه نمایش نیز به لمس های مختلف بسیار سریع می باشد.
برای برنامه نویسان Silverlight احتمالا" جالبترین خبر اینست که Silverlight بعنوان یک شهروند درجه اول در WP7 به شمار می رود. در واقع برنامه نویسان می توانند بین دو چارچوب XNA و Silverlight آنچه را که مایلند انتخاب کنند. البته XNA مناسب برای توسعه بازیها و Silverlight مناسب برای توسعه برنامه های کاربردی می باشند.
برنامه نویسان Silverlight که تجربه توسعه برنامه های desktop را دارند می توانند یک شبه برنامه نویس WP7 شوند و توسعه برنامه WP7 برای این برنامه نویسان ساده تر از آن چیزیست که برنامه نویسان نسخه های پیشین Windows Mobile باید انجام دهند. اگر شما برنامه نویس Windows Mobile هستید این قضیه نبایدشما را ناامید کند. با توجه به منابع بسیاری که برای فراگیری Silverlight وجود دارد، تسلط به آن دور از دسترس نیست.
یک مسئله جالب توجه دیگر این می تواند باشد که توسعه برنامه های Silverlight برای WP7 هیچ هزینه ای در بر نخواهد داشت چراکه اگر شما Visual Studio و یا Expression Blend را در اختیار داشته باشید، ابزار مربوط به توسعه برنامه ها برای WP7 را می توانید بطور رایگان دریافت کرده و به این محیط ها اضافه کنید. تنها یک هزینه کوچک وجود دارد و آن هنگامیست که شما برنامه خود را تکمیل نموده و می خواهید آن را در اختیار دیگران قرار دهید. برای این کار تنها می بایست که از Market Place مایکروسافت استفاده کرد.
نکته دیگری که باید بدان اشاره کرد این است که مایکروسافت تنها از زبان برنامه نویسی # Cبرای نوشتن برنامه های مبتن بر Windows Phone 7 پشتیبانی می کند.
برایWP7، مایکروسافت قید و بندهایی سخت افزاری را برای سازندگان تلفن های همراه هوشمند در نظر گرفته است. مثلا" هر تلفن همراهی که بخواهد WP7 را بعنوان سیستم عامل بر روی خود داشته باشد باید حداقل، امکانات زیر را دارا باشد:
• صفحه نمایش لمسی 480 x 800 px. این صفحه نمایش می بایست توانایی تشخیص چهارنقطه لمسی را داشته باشد.
• شتابدهنده سخت افزاری. در WP7 تصاویر متحرک ساخته شده با Silverlight اغلب از شتابدهنده سخت افزاری جهت اجرای طبیعی تر تصاویر متحرک استفاده می کنند.
• GPS، ژیرسکوپ و جهت یاب یا قطب نما.
• دوربین حداقل 5 مگاپیکسلی.
• دکمه های Search، Back، Start و Hardware.
• قابلیت اتصال به شبکه های بی سیم.
• حداقل 256MB حافظه RAM و 8 GB ذخیره سازی Flash
اینها حداقل امکاناتی است که سازندگان تلفن های همراه هوشمند می بایست مد نظر داشته باشند تا بتوانند از WP7 پشتیبانی کنند. بعبارت دیگر آنها می توانند آزادانه قابلیتهای فراتر از این را به دستگاههای خود اضافه کنند. مثل صفحه کلید سخت افزاری، دوربین بهتر به همراه فلش، فضای ذخیره سازی بیشتر و مواردی از این دست. پس می توان گفت WP7 یک بستر باز است با حداقل نیازمندی هایی که گفته شد.
2-2-6-1 ویژگی های Windows phone 7
> رابط کاربری جدید موسوم بهMetro
> Internet Explorer
> Xbox Live
> XNA FramWOrk
> Silverlight
> OffiCe
2-2-6-2 معایب WindOws phone 7
> نبود File Manager
> عدم پشتیبانی از CuT-Copy-PaSt
> عدم پشتیبانی از VideO CaLL
> وابستگی به نرم افزار Zune برای انتقال فایل
> نبود قابلیت Multitasking کامل
> حذف امکان Mass Storage
> عدم امکان انتقال فایل از طریق BlueTooth
> عدم پشتیبانی از Custom Ringtones
> عدم پشتیبانی از Removable SD Cards
> Open Sorce نیست.
2-2-7 سیستم عامل آندروید گوگل (AndrOid)
Android به زبان ساده سیستم عاملی است برای دستگاه های موبایل و گوشی های هوشمند که توسط بیش از 30 کمپانی معروف پشتیبانی می شود. آندروید اوپن سورس است و توسعه دهندگان می توانند با استفاده از Android SDK برنامه های مختلفی برای این سیستم عامل بنویسند. در واقع آندروید بستری را فراهم می کند تا برنامه نویسان بتوانند هرچه سریعتر و بهتر برنامه هایی بسازند که از تمام ویژگی های یک گوشی هوشمند استفاده کند. آندروید به معنای واقعی " باز (Open) "است، یعنی برنامه نویس می تواند از تمام قدرت یک تلفن همراه استفاده کند. آندروید امکان استفاده از توابع داخلی گوشی موبایل همچون شماره گیری، فرستادن SMS یا استفاده از دوربین گوشی را به برنامه نویسان می دهد تا بتوانند اپلیکیشن های قدرتمند و کاربردی برای کاربران بسازند.
تمام برنامه ها برای آندروید یکی اند. آندروید فرقی میان یک برنامه third-party و توابع هسته سیستم عامل در اجرا نمی گذارد و هر دو می توانند دسترسی مساوی به قابلیت های گوشی داشته باشند. گوشی هایی که سیستم عامل آندروید را خواهند داشت به کاربرشان اجازه می دهند تا از تمام قابلیت های یک گوشی هوشمند بهره ببرند. کاربران این گوشی ها به معنای واقعی می توانند دستگاه خود را بر اساس سلیقه ی خود تغییر دهند و محیط سیستم عامل گوشی خود را سفارشی و شخصی سازی کنند. حتی کاربران می توانند برای گوشی تعیین کنند که عکس هایشان با چه برنامه ای باز شود.
2-2-7-1 ویژگی ها و خصوصیات آندروید:
> آندروید تمامی تکنولوژی های اتصال (Connectivity) شامل GSM/EDGE، CDMA، EV-DO، UMTS، Bluetooth و Wi-Fi را پشتیبانی می کند.
> آندروید از فرمت های مختلف فایل های مالتی مدیا مثل MPEG-4، H.264، MP3، AAC، AMR، JPEG، PNG، GIF پشتیبانی می کند.
> SMS، MMSو XMPP فرم هایی هستند که آندروید برای ارسال پیغام های متنی یا همان SMS از آن ها پشتیبانی می کند.
> مرورگر موجود در آندروید بر اساس فریم ورک اوپن سورس WebKit توسعه یافته است.
> SQLite نرم افزاریست که برای ذخیره داده ها و مدیریت بانک های اطلاعاتی سبک در آندروید در نظر گرفته شده است.
> ماشین مجازی جاوا (Java Virtual Machine) در آندروید به صورت پیش فرض تعبیه شده است. تمام برنامه های آندروید باید به زبان جاوا نوشته شوند. البته این نسخه از JVMبرای دستگاه های موبایل بهینه شده است.
> ابزارهای مختلف آندروید برای توسعه دهندگان به راحتی در دسترس است و توسط شرکت گوگل پشتیبانی می شوند. این ابزارها شامل کتابخانه ها، خطایاب، شبیه ساز گوشی و یکم پلاگین برای اکلیپس است.
> آندروید از سخت افزارهای مختلف همچون GPS و دوربین های متنوع پشتیبانی می کند.
> تصاویر و فایل های گرافیکی بوسیله OpenGL پردازش می شوند که کیفیت بالاتری خواهند داشت.
2-2-7-2 معایب آندروید
> عدم اجرای برنامه و بازیها روی بسیاری گوشیهای اندروید بدلیل عدم هماهنگی
> ضعف در ساپورت بسیاری گوشیهای آندرویدی مثل X10
> عدم یکپارچگی
توسعه برنامه های کاربردی در آندروید سریع، راحت و لذت بخش است
گوگل دسترسی آسان به ابزارهای سودمند و کتابخانه های بسیاری را برای توسعه و تولید برنامه های کاربردی مبتنی بر آندروید فراهم کرده است، که برنامه نویسان می توانند با استفاده از آن ها هرچه سریع تر و راحت تر برای آندروید برنامه تولید کنند. این ابزارها شامل خطایاب، شبیه ساز گوشی، کتابخانه ها، اسناد، کدهای نمونه و یک پلاگین برای اکلیپس است. برنامه نویسی برای آندروید به زبان جاوا انجام می گیرد. توابع خود آندروید نیز با استفاده از جاوا پیاده سازی شده اند. آندروید فقط قادر است کدهای مدیریت شده (Managed Codes)را اجرا کنید و قادر به اجرای کدهای Native نخواهد بود.
آندروید سیستم عاملی بر اساس لینوکس: این سیستم عامل بر اساس هسته سیستم عامل لینوکس توسعه یافته است. در واقع مدیریت و بهینه سازی حافظه، ارتباط با سخت افزار و سرویس های سیستم، امنیت، مدیریت پردازش ها و مدیریت منابع دستگاه موبایل را هسته لینوکس انجام می دهد و آندروید فقط لایه ایست که ارتباط میان کاربر و سیستم عامل را برقرار می کند. این لایه نرم افزاری بوسیله جاوا پیاده سازی شده است و به همین علت قادر به اجرای کدهای Native نخواهد بود. آندروید همانند لینوکس اوپن سورس خواهد بود و توسعه دهندگان بیشماری بر روی آن کار می کنند.
آمارهایی از نرم افزارهای موجود برای اندروید: تا ماه اکتبر 2010 تعداد یکصدهزار برنامه جانبی برای این سیستم عامل نوشته شده است که سهم بزرگی در محبوبیت این سیستم عامل دارند. تا همین تاریخ تعداد برنامه های نوشته شده برای سیستم عامل آیفون 300 هزار بوده است. اما سرعت رشد سیستم عامل اندروید بسیار بالاتر از بقیه سیستم عامل ها و حتی آیفون است و البته این موضوع را نباید از یاد برد که در لحظه نگارش این مقاله، اندروید نصف عمر آیفون را دارد.
اندروید دارای کتابخانه های برنامه نویسی قدرتمندی است که کار برنامه نویسان را بسیار ساده میکند. از جمله دیتابیس رابطه ای کوچک شده SQLite، توابع گرافیکی 3 بعدی OpenGL، موتور مرورگر)webkit همانند مرورگر کروم) و موتور گرافیکی SGL
رابطه اندروید و جاوا: نرم افزارهای جانبی اندرویدی با استفاده از زبان جاوا نوشته می شوند و برای ارتباط با لایه های زیرین سیستم عامل میتوانند از کتابخانه های جاوایی اندروید استفاده کنند.
بخش رابط کاربری سیستم عامل اندروید با زبان جاوا نوشته شده است و بسیاری از برنامه های اندروید هم با جاوا نوشته شده اند. اما این سیستم عامل، Java Virtual machine ندارد. برای اجرای برنامه های جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل می شوند و سپس روی Dalvik virtual machine اجرا می شوند.
(دالویک یک ماشین جازی جاوایی است که برای سیستم عامل اندروید بهینه شده است تا هم RAM و هم CPU و هم باطری کمتری مصرف کند). برنامه های جاوایی معمولی هم که روی گوشی های دیگر اجرا می شوند با استفاده از نرم افزارهای شبیه ساز ماشین مجازی جاوا مانند j2ME MIDP Runner روی این سیستم عامل قابل اجرا هستند.
فرمت فایل های پشتیبانی شده: اندروید در حالت پیشفرض فایل های mp3، aac، ogg، amr midi، mpeg4، wav، bmp، gif، png، jpg را پشتیبانی میکند.
اندروید Adobe Flash را نیز پخش می کند و میتواند فایل های GIF متحرک را با حرکت پخش کند. برای پخش فایل های جریان دار مانند صوت و ویدئو نیز می توانید از تگ ویدئو html5 و همچنین تکنولوژی Adobe Flash Streaming استفاده کنید. در نسخه های جدید اندروید، موتور جاوااسکریپت مرورگر کروم که سرعت بسیار بالایی در اجرای کدهای جاوا اسکریپت دارد به مرورگر اندروید متصل شده است. (در ضمن مرورگر اندروید کدهای HTML5 را پشتیبانی می کند)
محیط برنامه نویسی اندروید: Android SDK شامل یک دیباگر، کتابخانه های اندروید، شبیه ساز سیستم عامل، مستندات اندروید و فایل های نمونه و آموزشی است که به شما در ایجاد اولین برنامه هایتان کمک می کند. هم اکنون این SDK بر روی یک سیستم 32 بیتی که لینوکس، ویندوز و یا mac OSX داشته باشد اجرا می شود. پیش نیازهای نصب این SDK عبارتند از JDK و Apache Ant و python 2.2
برنامه های نوشته شده برای اندروید با پسوند.apk ذخیره می شوند.
برنامه ساز اندروید یک محیط برنامه نویسی ویژوال تحت وب برای برنامه نویسان تازه کار است که بر پایه ی کتابخانه جاوایی open Blocks و توسط یکی از استادان برجسته دانشگاه MIT بنا شده است و فانکشن هایی برای برقراری ارتباط با سخت افزارهای مورد پشتیبانی اندروید دارد: مانند شتاب سنج، جهت سنج،GSP، مدیریت پیامک اندروید، مبدل صدا به متن و حتی امکان اتصال به وب سرویس ها (وب سرویس آمازون و توییتر بصورت پیش فرض در این محیط برنامه نویسی گنجانده شده). این محیط برنامه نویسی آنقدر پیشرفت کرده است که دانشگاه هایMIT، هاروارد، ولزلی و سانفرانسیسکو آنرا بعنوان یک کورس برای دانشجویان برگزار می کنند.
گوگل هدف از ایجاد سیستمی مانند android app inventor را اینگونه بیان میکند که هر کسی باید قادر باشد تا برای اندروید برنامه بسازد، حتی بچه های دبستانی که چیزی از برنامه نویسی نمی دانند، زیرا آنها نیازهای موردنظر خود را با اینکار رفع می کنند و اگر سیستم اندرویدی نداشته باشند، برای خرید یک گوشی اندرویدی ترغیب می شوند. در این محیط برنامه نویسی شما می توانید با drag-n-drop براحتی کامپوننت ها را روی صفحه بکشید و نوشتن اولین برنامه ی اندرویدی خود را آغاز کنید.
http://appinventer.googlelabs.com
2-2-8 سیستم عامل مک ای او اس (اپل) (appLe MaC iOS)
کمپانی توسعه دهنده این سیستم عامل اپل کامپیوتر است.
برنامه نویسی شده در C،C++،Objective-C از خانواده سیستم عامل Mac OS X و شبه یونیکس ها.
تاریخ اولین انتشار آن 29 ژوئن 2007 بود. آخرین نسخه پایدار iOS نسخه 4.1 برای آیفون و آیپاد تاچ در 8 سپتامبر 2010 منتشر شد. آخرین نسخه بتا تا تاریخ 26/10/2010 4.2 Beta 3 برای آیفون، آیپاد تاچ و آیپد در تاریخ 12 اکتبر 2010 منتشر شد.
زبان مناسب برای برنامه نویسی پشتیبانی از چندین زبان پلتفرم های پشتیبانی شده دستگاه های(iPhone, iPod Touch iPad) پلتفرم ARM) نوع هسته آن هایبرید است (مبتنی بر سیستم عامل داروین می باشد.
آی او اس، سیستم عامل شرکت اپل است که در اصل برای تلفن هوشمند، آیفون نوشته شده است که بعد از آن، برای ای پد – آیپاد تاچ و Apple TV نیز استفاده شد. سیستم عاملی که روی آی فون عرضه می شود، Mac OS X است. آی فون در واقع ترکیبی از یک کامپیوتر مک، آی پاد و تلفون سلولی است. هیجان انگیز است!
با این وجود، طراحی OS X به گونه ای است که در برخی موارد کاستی هایی دارد. این پلتفرم تنها با شبکه Cingular سازگار است و از این رو سیستمی بسته محسوب می شود. اپل و سینگولار نوع نرم افزارهای موجود روی آی فون را کنترل خواهند کرد.
آی فون ذاتاً از فناوری نسل سوم شبکه های سلولی پشتیبانی نمی کند. در حالی که بیشتر کریرهای شبکه های بی سیم برخلاف اپل به سمت شبکه های نسل سوم موبایل حرکت می کنند. به همین دلیل، انتقال داده ها با آی فون روی شبکه سینگولار کند انجام می شود.
نکته جالب در مورد آی فون، طراحی حساس به لمس آن است و به همین دلیل، این وسیله فاقد صفحه کلید است. اپل نخستین شرکتی نیست که از چنین طرحی برای تجهیزات خود استفاده می کند، ولی به دلیل جایگاهی که در بازار آی تی دارد، می تواند دیگر سازندگان چنین تجهیزاتی را نیز به این سمت سوق دهد که در این امر هم تا حد زیادی موفق بوده است.
مثل همیشه، اپل در این مورد هم اجازه نداده که سیستم عاملش برروی سخت افزار های شرکت های دیگر اجرا شود. پس شما iOS را فقط در وسایل یاد شده خواهید دید. توجه داشته باشید که تا تاریخ اول سپتامبر 2010، AppStore شامل بیش از 250000 اپلیکیشن بود که برای این سیستم عامل نوشته شده بودند و دانلود های کلی از فروشگاه نرم افزار هم به شش و نیم میلیارد رسید! با این حساب، اگر چه iOS فقط برای دستگاه های اپل، قابل اجرا است. اما شما به هیچ عنوان با یک سیستم عامل منزوی و حاشیه ای رو به رو نیستید بلکه iOS بسیار مطرح، پر طرفدار و قدرتمند است.
این سیستم عامل در 9 ژانویه سال 2007، همراه آیفون رونمایی شد و در 29ژوئن همان سال عرضه گردید. در ابتدا؛ بخش بازاریابی اپل برای این سیستم عامل نامی منحصر به فرد اتخاذ نکرده بود و اعلام کرد که آیفون از سیستم عامل X (OS X) استفاده می کند! هر چند دروغ هم نبود چون iOS از همان سیستم عامل مشتق شده است.
این سیستم عامل در ابتدا نمی توانست از اپلیکیشن های شخص ثالث استفاده کند. استیوجابز ایده داده بود که نرم افزار های شخص ثالث می توانند در قالب یک نرم افزار تحت وب و مطابق با استاندارد های آیفون ساخته شوند تا آیفون آن ها را مانند یک نرم افزار اجرا نماید. اما در 17 اکتبر سال 2007، اپل اعلام کرد که در حال ساخت یک کیت توسعه نرم افزاری می باشد. یعنی همان SDK: Software Development Kit! به برنامه نویسان هم مژده داده شده بود که این کیت در ماه فوریه همان سال، در دستان آنها خواهد بود.
اما نام گزاری این سیستم عامل از 6 مارس سال 2008، آغاز شد. بله، نسخه آزمایشی بعدی نام iPhone OS را به همراه داشت. البته باید اضافه کرد که آیفون در طول تعطیلات سال 2007 توانست بیش از یک میلیون دستگاه آیفون بفروشد. این سیستم عامل در همان زمان هم طرفداران زیادی پیدا کرده بود اما هنوز هم نبود بعضی امکانات، اکثر افراد را رنج می داد. البته عده ای را هم زجر می داد!
فروش سریع آیفون سبب شد تا اپل به توسعه بیشتر SDK علاقه مند شود. اپل نسل های مختلفی از آیپاد تاچ را نیز عرضه کرد که از سیستم عامل iPhone OS بهره می بردند و به جز قابلیت تلفن زدن، تقریبا از تمام امکانات آیفون بهره مند بودند. این پیشرفت ها ادامه داشت تا در 27 ژانویه 2010، اپل اعلام کرد که محصول جدیدش یعنی iPad، دارای یک صفحه نمایش بزرگ تر از آیفون و آیپاد تاچ است و این تبلت برای وبگردی، مصارف چند رسانه ای و خواندن کتاب های الکترونیکی طراحی شده است. با این همه این که ای پد هم مانند آیفون ها و آیپاد تاچ های قبلی از نبود مولتی تسکینگ رنج می برد؛ صدای خیلی ها را درآورد.
نسخه چهارم iOS در آپریل سال 2010 معرفی شد. استفاده از قابلیت چند وظیفه گی (مولتی تسکینگ)؛ ایمیل های گروهی و چندین امکانات تجاری-اداری دیگر؛ از ویژگی هایی بودند که به نسخه جدید iOS اضافه شده بودند.
طولی نکشید که در ژوئن 2010، اپل اعلام کرد که iPhone OS تغییر نام یافته است. اپل از شرکت Cisco اجازه گرفت که از نام تجاری iOS استفاده کند.(IOS نام یک فناوری از شرکت Cisco است) جالب است که بدانید قبل از این هم اپل بر سر استفاده از نام iPhone با این کمپانی اختلافاتی داشت!
iOS 4 در21 ژوئن 2010 به بازار عرضه شد. یعنی سه روز قبل از عرضه iPhone 4 به بازار. علت هم این بود که از شلوغ شدن بیش از حد سرور های اپل جلوگیری شود! اپل تا قبل از این نسخه، 9 دلار و 99 سنت برای آپگرید آیپاد تاچ دریافت می کرد اما iOS چهار؛ اولین نسخه ای از iOS بود که به طور رایگان روی آیپاد تاچ نصب می شد.
iOS 4.0.1، که در 15 جولای 2010 عرضه شده بود، مشکل آنتن دهی را رفع کرده بود. حالا نوبت آن رسید که اپل از عرضه نسخه 3.2.1 ای او اس برای آیپد خبر دهد. این نسخه بهبودهایی در اتصال به شبکه های بی سیم، پخش ویدئو و کپی پیست اتچمنت های PDF، به همراه داشت. البته به همراه چند آپدیت دیگر.
در 11 آگوست 2010، باز هم آپدیت ای او اس 4.0.2 برای آیفون و آیپاد تاچ و iOS 3.2.2 برای آیپد منتشر شد تا برخی اشکالات امنیتی برطرف شود.
با این وجود باز هم کاربران، گزارش هایی از برخی اشکلات می دادند. اپل هم با عرضه iOS 4.1 در 8 سپتامبر، این اشکالات را رفع کرد. این نسخه عمر باتری را افزایش می دهد و قابلیت جدیدی به نام Game Center یا "مرکز بازی"، به آن اضافه شده است. مرکز بازی به گیمر ها اجازه ی بازی کردن چند نفره، آپلود امتیازات بالا و بازکردن Achievements ها را می دهد. (البته این قابلیت در آیفون 3G هم وجود داشت. اما به دلیل عملکرد کند و نامناسب، از آن حذف شد!)
2-2-8-1 ویژگی های iOS
> به خاطر اینکه این سیستم عامل با یونیکس نوشته شده هسته بسیار محکم و انعطاف پذیری دارد و تقریبا هر تغییری میشه در اون ایجاد کرد.
> فروشگاه نرم افزاری Apple با امکانات کافی و تعداد برنامه های زیاد برای آن.
> کیفیت تصویر صفحه نمایش بسیار عالی.
> بازی ها و برنامه های گرافیکی و زیبا.
2-2-8-2 معایب iOS
> از کارت حافظه microSDپشتیبانی نمی کند.
> برای بارگذاری محتوای چند رسانه ای وابستگی بسیاری به iTunes دارد.
> انتقال فایل از طریق بلوتوث ندارد.
> حالت USB Mass Storage وجود ندارد.
> مرورگر وب از Flash پشتیبانی نمی کند.
> MultyTaSking کامل و قوی ندارد
> قیمت بسیار بالا
برخی از منابع:
* Modern Operation Systems (Andrew S. Tanenbaum )
* www.Gsmarena.Com
* www.Mobilestan.net
* www.Ir-tci.org
* www.And-roid.ir
* www.Microsoft.com
* www.Xda_Developers.com
36