بازارچـــــه ی رودبنــه ای

از همه جا و برای همه

بازارچـــــه ی رودبنــه ای

از همه جا و برای همه

بررسی iOS و مهارت های برنامه نویسی لازم برای آن : بخش اول

این روز ها تب سیستم عامل همه جا را فرا گرفته و هر دم از یک سیستم عامل جدید سخن به میان می آید و از این میان عده ی زیادی از طرفداران شرکت های مختلف، یکی از آنها را  برای خود بر می گزینند. در طی این مدت، برای مصرف کنندگان راهنما های زیادی نوشته شد و خبر های زیادی درج شد. اما مسلما برای توسعه دهندگان وضع بدین شکل نبوده است. همین موضوع ما را بر آن داشت که یک راهنمایی هم برای توسعه  دهندگان درج کنیم تا نیاز های این قشر هم تامین شود. هر چند تضمین نمی کنم که نکات مطرح شده در این مقاله را نمی دانستید؛ اما فکر می کنم که در هر سطحی که باشید، حداقل،   کمی به دردتان خواهد خورد.  
 
- آنچه در ادامه خواهید خواند:

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

عنوان توضیح
کمپانی توسعه دهنده: اپل کامپیوتر
برنامه نویسی شده در: C,C++,Objective-C
از خانواده: سیستم عامل Mac OS X و شبه یونیکس ها!
وضعیت: در حال استفاده
تاریخ اولین انتشار: 29 ژوئن 2007
آخرین نسخه پایدار منتشر شده: نسخه 4.1 
برای آیفون و آیپاد تاچ در 8 سپتامبر 2010 منتشر شد.
آخرین نسخه بتا منتشر شده تا تاریخ 26/10/2010: 4.2 Beta 3
برای آیفون، آیپاد تاچ و آیپد در تاریخ 12 اکتبر 2010 منتشر شد.
زبان مناسب برای برنامه نویسی: پشتیبانی از چندین زبان
پلتفرم های پشتیبانی شده: دستگاه های iPhone , iPod Touch و iPad (پلتفرم ARM)
نوع هسته: هسته هایبرید ( مبتنی بر سیستم عامل داروین )
وب سایت رسمی: iOS Dev Center

iOS چیست؟ چرا باید انتخابش کنم؟  
آی او اس، سیستم عامل شرکت اپل است که در اصل برای تلفن هوشمند، آیفون نوشته شده است که بعد از آن، برای آی پد – آیپاد تاچ و Apple TV نیز استفاده شد. مثل  همیشه؛ اپل در این مورد هم اجازه نداده که سیستم عاملش برروی سخت افزار های شرکت های دیگر اجرا شود. پس شما iOS را فقط در وسایل یاد شده خواهید دید. توجه داشته  باشید که تا تاریخ اول سپتامبر 2010، AppStore شامل بیش از 250000 اپلیکیشن بود که برای این سیستم عامل نوشته شده بودند و دانلود های کلی از فروشگاه نرم  افزار هم به شش و نیم میلیارد رسید! با این حساب، اگر چه iOS فقط برای دستگاه های اپل، قابل اجرا است. اما شما به هیچ عنوان با یک سیستم عامل منزوی و حاشیه ای رو به  رو نیستید بلکه iOS بسیار مطرح، پر طرفدار و قدرتمند است.  
 
مروری بر تاریخچه 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 ژوئن به بازار عرضه شد. یعنی سه روز قبل از عرضه iPhone 4 به بازار. علت هم این بود که از شلوغ شدن بیش از حد سرور های اپل جلوگیری  شود! اپل تا قبل از این نسخه، 9 دلار و 99 سنت برای آپگرید آیپاد تاچ دریافت می کرد اما iOS چهار؛ اولین نسخه ای از iOS بود که به طور رایگان روی آیپاد تاچ  نصب می شد.  
 
در همان موقع به نظر می رسید که نقاط ضعفی که پاشنه آشیل آی او اس بودند، رفع شده اند. مولتی تسکینگ اضافه شده بود و امکانات بهتر و جدید تر دیگری هم در این نسخه وجود  داشت... - باید گفت که در آی پد واقعا همین طور بود - اما در آیفون اوضاع فرق می کرد:  
 
چند روز پس از عرضه آیفون، جنجال های زیادی در رسانه ها به وجود آمد که این گوشی با لمس قسمت خاصی از بدنه اش، دچار افت شدید آنتن می شود. این جنجال ها ادامه داشت تا  استیو جابز کنفرانس خبری ویژه ای را برای آیفون ترتیب داد. او عنوان کرد که آی او اس در اندازه گیری سطح آنتن دچار مشکل است و به همین دلیل، اپل نسخه 4.0.1 آن را  منتشر ساخت.   
 
iOS 4.0.1، که در 15 جولای امسال عرضه شده بود، مشکل آنتن دهی را رفع کرده بود. حالا نوبت آن رسید که اپل از عرضه نسخه 3.2.1 آی او اس برای آیپد خبر  دهد. این نسخه بهبود هایی در اتصال به شبکه های بی سیم، پخش ویدئو و کپی پیست اتچمنت های PDF، به همراه داشت. البته به همراه چند آپدیت دیگر.  
 
در 11 آگوست امسال، باز هم آپدیت آی او اس 4.0.2 برای آیفون و آیپاد تاچ و iOS 3.2.2 برای آیپد منتشر شد تا برخی اشکالات امنیتی برطرف شود.  
 
با این وجود باز هم کاربران، گزارش هایی از برخی اشکلات می دادند. اپل هم با عرضه iOS 4.1 در 8 سپتامبر، این اشکالات را رفع کرد. این نسخه عمر باتری را  افزایش می دهد و قابلیت جدیدی به نام Game Center یا "مرکز بازی"، به آن اضافه شده است. مرکز بازی به گیمر ها اجازه ی بازی کردن چند نفره، آپلود امتیازات بالا  و بازکردن Achievements ها را می دهد. (البته این قابلیت در آیفون 3G هم وجود داشت. اما به دلیل عملکرد کند و نامناسب، از آن حذف شد!)

امکان دیگری که در نسخه جدید وجود دارد، اضافه شدن امکان تصویر برداری HDR است. البته این امکان فقط در iPhone 4 فعال می باشد. همزمان، با معرفی  آیتیونز 10، امکان جدیدی هم روی iOS قرار گرفت که اپل آن را پینگ نام نهاد! پینگ حالا یک شبکه اجتماعی است که در آن می توانید در دنیای موسیقی به گشت و گذار  بپردازید. پینگ امکان چندین کار مختلف دیگر هم به شما میدهد. کار هایی که به پیدا کردن موسیقی های بهتر و شناخت سلیقه ی موسیقیایی دیگران کمک می کند. 

iOS 4.2، اولین ساپورت سری چهارم آی او اس را برای آیپد به ارمغان آورد. علاوه بر این، ویژگی AirPlay در این نسخه به کاربران امکان می داد که از طریق: آیفون – آی پد  – آیپاد تاچ یا هر iOS دیگری، به کامپیوتر آهنگ استریم کنند و یا بالعکس! این نسخه تغییرات کوچکی در نرم افزار یوتیوب را هم به همراه داشت. در آیپد هم تغییرات کوچک  دیگری رخ داد که چندان مهم نبودند. ورژن فعلی iOS، نسخه 4.2 Beta 3 است که در 13 اکتبر 2010 عرضه شده و شما هم حالا باید کاملا بدانید که آی او اس از کجا آمده ، آمدنش بهر چه بوده و  به کجا می رود! حالا وقت آن است که از تاریخچه بیرون بیاییم و به موضوعات اصلی که در این سیستم عامل وجود دارند برسیم.  
 
- سبک کار در  iOS:  
یکی از مهمترین ویژگی های هر سیستم عاملی، رابط کاربری آن است. در این مورد می توانیم آی او اس را اینگونه توصیف کنیم:  
 
تا به حال چیزی در مورد Direct Manipulation شنیده بودید؟ البته در لغت به معنی "دستکاری مستقیم" است. اما اگر برای شما مفهومی ندارد باید نگاهی به  بند های زیر بیاندازید تا متوجه اصول ساده این سبک بشوید.  
 
مهمترین هدف این سبک از رابط کاربری، ایجاد تعامل بین انسان و کامپیوتر است. ویژگی های زیر معمولا در همه ی نرم افزار ها و سیستم عامل های این سبک رعایت می شود:  
 
 در دسترس قرار دادن میان بر آیتم های پرطرفدار به صورت خودکار – سرعت بالا هنگام کار – برگشت پذیری– افزایش کارایی با عادت کاربر و فید بک به عملکرد کاربران!  آی او اس تمام این کار ها را با عملکرد لمسی به کاربران عرضه می کند.  
 
احتمالا تا این لحظه خودتان تا آخر موضوع را متوجه شده اید. پس بیش از این بر سر تعاریف جزئی؛ شما را معطل نخواهیم کرد. اما برای تبدیل شدن به یک برنامه نویس خوب باید با  پایه و اساس این سیستم عامل آشنا شوید و سبک آن را بشناسید تا بتوانید برنامه ای بهتر برای کاربران خود تولید نمایید. واقعیت این است که کاربر به این که یک برنامه چند الگوریتم  دارد و چقدر روی آن زحمت کشیده شده، توجهی ندارد. کاربر به فکر استفاده خود و راحتی کار است و البته زیبایی! این مساله ای است که برنامه نویس باید در نظر بگیرد تا موفق  شوند.  
 
اصلی ترین کنترل هایی که در اینترفیس آی او اس استفاده شده اند شامل : نوار های لغزنده (Sliders)  - سویچ ها (Switches) و دکمه ها  (Buttons) می باشد. سعی شده که به عملکرد کاربران عکس العملی سریع داده شود. این امر، کار با اینترفیس را بسیار روان می کند. آی او اس در جنبه های تعاملی خود  هم توجه زیادی به فناوری چند لمسی داشته است. تعامل با آی او اس از طریق امور زیر محیا می شود. 

حرکاتی مانند: کشیدن – فاصله دادن بین دو انگشت (برای Zoom) – کم کردن فاصله انگشتان (برای کوچک کردن) معمولا در آی او اس، استفاده بسیاری دارند. اما می  دانیم که آیفون از یک شتاب سنج داخلی بهره می برد؛ بعضی برنامه ها هم از آن استفاده می کنند تا بتوانند حرکاتی مثل تکان دادن را تشخیص دهند. یکی از پر استفاده ترین کار های  شتاب سنج، تکان دادن گوشی برای Undo کردن دستورات است یا چرخاندن صفحه نمایش، به عمودی و افقی، بسته به وضعیتی که گوشی در آن قرار دارد.  
 
- قابلیت ها:  
برای ادامه کار لازم است که قابلیت ها و بخش های iOS را بشناسیم تا با آن احساس بیگانگی نکنیم:  
 
- صفحه خانه (Home Screen)  
از همان ابتدا که آی او اس بالا بیاید، نرم افزار های مختلفی مسئول اداره بخش های آن می شوند. صفحه خانگی این سیستم عامل هم مستثنی نیست و نرم افزاری به نام  SpringBoard آن را مدیریت می کند. این صفحه شامل آیکون نرم افزار هاست و  البته مانند مک او اس،  یک داک (Dock) هم در پایین این صفحه قرار دارد. داک  به معنی لنگرگاه است و دراصل محلی است که می توانید، نرم افزار های پرکاربرد خود را در آنجا قرار دهید تا سریع تر به آنها دسترسی داشته باشید.  
 
این صفحه شامل یک نوار وضعیت (Status bar) در قسمت بالایی است که اطلاعاتی را از قبیل : ساعت، سطح باتری ، قوت سیگنال آنتن و ...  را به کاربر نمایش  می دهد.

-فولدر ها:  
در iOS4، سیستم فولدر سازی ساده و راحتی به کار گرفته شد. می توانید روی آیکون اپلیکیشن ها کلیک کنید تا به لرزه در بیایند و بعد از آن با Drag کردن آنها به روی یک  دیگر؛ فولدر بسازید. بعد از آن می توانید هر مقدار اپلیکیشنی را که بخواهید، با همین روش به فولدر ها اضافه کنید. (البته هر فولدر حداکثر 12 اپلیکیشن را شامل خواهد شد). نام  گذاری پوشه ها نیز به طور خودکار و با توجه به نوع اپلیکیشن انجام خواهد شد. با این وجود ممکن است پوشه های زیادی با نام های یکسان داشته باشید.  
 
- اپلیکیشن های پیشفرض  
برای این که بتوانید صفحه خانگی را بهتر بشناسید، لیستی از اپلیکیشن های پیشفرض در آن را تهیه کرده و در جدول زیر قرار دادیم. قسمت ورژن های شامل، نشان می دهد که  اپلیکیشن در چه نسخه هایی از iOS وجود دارد. جدول زیر، اپلیکیشن های روی Status Bar را نشان می دهد :

نام: کاربرد: ورژن های شامل
Phone تلفن زدن، تماس ویدئویی با استفاده از FaceTime ورژن 1+، (برای فیس تایم : 4+)
Mail ایمیل و اعمال مرتبط با آن! ورژن 1+
Safari مرورگر وب ورژن 1+
iPod مدیا پلیر پورتابل ورژن 1+

و این هم لیست اپلیکیشن هایی است که آیکون آنها را به طور پیشفرض روی صفحه خانگی مشاهده خواهید کرد:

نام: کاربرد: ورژن های شامل
Messages پیام متن و MMS ورژن 1+ (MMS: ورژن 3+)
Calendar تقویم ورژن 1+
Photos نمایش عکس و فیلم ورژن 1+ (نمایش ویدئو: ورژن 2+)
Camera دوربین عکاسی و فیلم برداری ورژن 1+ (فیلم برداری و اتوفوکوس،03+ _ کیفیت اچ دی، 4+ _  تکنولوژی اچ دی آر، 4.1+)
YouTube استریم ویدئو از یوتیوب ورژن 1+
Stocks اطلاعات مالی از: Yahoo! Finance ورژن 1+
Maps Google Maps ورژن 1+ (A-GPS: ورژن 2+ _ قطب نما دیجیتالی: ورژن 3+)
Weather Yahoo!Weather ورژن 1+
Voice Memos ضبط صدا ورژن 3+
Notes برنامه ای ساده برای یادداشت برداری ورژن 1+
Clock ساعت جهانی، کرنومتر، آلارم، تایمر ورژن 1+
Calculator ماشین حساب (شامل ورژن پیشرفته) ورژن 1+ (ماشین حساب پیشرفته: 2+)
Settings تنظیمات ورژن1+
iTunes دسترسی به امکانات مختلف iTunes ورژن 1.1+
App Store خریدن اپلیکیشن های iOS ورژن 2+
Compass قطب نما ورژن 3+
Contacts دفترچه تلفن و آدرس ورژن 1+
Nike + iPod اندازه گیری سرعت و مسافت طی شده و قابلیت اتصال به سنسور مخصوص Nike + iPod ورژن 2.2.1+ (آیپاد های نسل دوم به بعد و آیفون 3gs به بعد)
Game Center به کاربر اجازه بازی کردن چند نفره را با دیگر کاربران می دهد و امکاناتی نظیر Achievements و رکورد ها هم در آن وجود دارد. ورژن 4.1+ (آیپاد تاچ های نسل دوم به بعد و آیفون 3gs به بعد)

در نسخه چهارم iOS به بعد، تمام ابزار هایی نظیر: ضبط صوت ، ساعت و ماشین حساب؛ درون پوشه ای به نام Utilities قرار دارند. بیشتر نرم افزار های یاد  شده به طور اشتراکی با هم کار می کنند. این ویژگی بسیار به راحتی کار کاربر، کمک خواهد کرد. برای مثال می توانید شماره تلفن فردی را از درون یک ایمیل انتخاب کرده و در همان  جا، او را به عنوان مخاطب ذخیره کنید یا با او تماس بگیرید. اگر با آی او اس کار کرده باشید، حتما متوجه خواهید شد که اشتراکی بودن کار نرم افزار های پیش فرض چقدر به راحتی  کار شما کمک خواهد کرد.   
 
آیپاد تاچ هم همان اپلیکیشن های آیفون را ارائه می دهد؛ البته اگر، Phone،Messages و Compass را استثنا بدانیم! همچنین در آیفون، اپلیکیشن آیپاد برای  پخش موزیک است اما این نرم افزار در آیپادتاچ به دو بخش موزیک ها و ویدئو ها تقسیم می شود! حالا اگر بخواهیم به پایین صفحه نمایش هم نگاه بیاندازیم، می بینیم که داک هنوز هم  وجود دارد و به طور پیشفرض برای کار های اصلی آیپاد، میانبر هایی را دربر دارد. موزیک ، ویدئو ، سافاری و AppStore، همان میانبر های پیشفرض هستند. افرادی که از  چند سال پیش تا کنون آیپاد تاچ را می شناختند، حتما می دانند که این محصول از دوربین بی بهره بود تا این که در نسل چهارم خود، از دوربین بهره مند شد و همزمان قابلیت  FaceTime را هم به دست آورد. همان موقع بود که میانبر های داک (Dock) به Music , Mail , Safari, Video تغییر  کردند.  
 
حالا می خواهیم الف را از پاد حذف کنیم! آی پد هم با همان اپلیکیشن های آیپاد تاچ وارد بازار شد البته حالا که الف حذف شد، اپلیکیشن های  Stocks, Weather  , Clock , calculator و Nike + iPod نیز از لیست برنامه های پیشفرض حذف می شوند! در آیپد اپلیکیشن های جداگانه ای برای موسیقی  و فیلم در نظر گرفته شد. اما باز هم به آن نام iPod را داده بودند! تقریبا تمام اپلیکیشن های پیشفرض، برای آیپد بازنویسی شده بودند تا بتوانند از مزیت صفحه بزرگتر آن  استفاده کنند.داک پیش فرض آیپد هم روی Safari , Mail, Photos و iPod تنظیم شده بود.  
 
- مولتی تسکینگ:  
قبل از iOS 4 مولتی تسکینگ تنها محدود به گزیده ای اپلیکیشن هایی می شد که اپل بر روی دستگاه هایش تعبیه کرده بود. دلیل اپل؛ نگرانی از این بود که اجرای همزمان چند  برنامه شخص ثالث، باتری را خیلی زود تخلیه نماید. اما وقتی iOS 4 عرضه شد، مولتی تسکینگ برای اپلیکیشن های شخص ثالث هم در دسترس قرار گرفت.  
 
API قسمتی از سیستم عامل است که برنامه ها از آنها برای اجرای خود کمک می گیرند. API ها ممکن است برای مقاصد مختلفی استفاده شوند از جمله : وب - بازی های  کامپیوتری - گرافیک- صدا و چندین مورد دیگر. مولتی تسکینگ آی او اس از API های پس زمینه ی زیر پشتیبانی می کند. پس برنامه هایی که از ای پی آی های زیر برای اجرا  استفاده می کنند قابلیت استفاده از مولتی تسکینگ را هم دارا می باشند.  
 
1- Background audio:  
نرم افزار های صوتی با کمک این API می توانند  پخش کردن موزیک را در بک گراند هم انجام دهند 

2- Voice Over IP (VoIP) :  
با این ای پی آی، تماس های اینترنتی هم به راحتی در پس زمینه انجام خواهند شد. پس شما می توانید با انواع و اقسام نرم افزار ها، تماس اینترنتی بر قرار نمایید و از مولتی تسکینگ  هم استفاده کنید.  
 
3 - Push notifications:  
این یکی هم برای اپلیکیشن های اینترنتی بسیار عالی خواهد بود. این اپلیکیشن ها می توانند در پس زمینه فعالیت کنند و کاربر را از وقایع جدید مثلا یک مطلب جدید در نارنجی مطلع کنند. 

4- Background location:  
اپلیکیشن ها و نرم افزار های ناوبری می توانند در پس زمینه اجرا شوند و در حالی که کاربر مثلا به موسیقی گوش می دهد، به راهیابی او کمک کنند.

5- Local Notifications:  
این هم شبیه مورد سوم است. منتها برای نرم افزار های غیر اینترنتی... آلارم ها و یادداشت ها و سایر کار هایی که به سازمان دهی کاربر مربوط می شود؛ می توانند از این امکان  استفاده نمایند.

6- Task finihsing:  
اگر یک برنامه در اواسط انجام یک عملیات بود و کاربر از آن خارج شد، این ویژگی برنامه را در پس زمینه باز نگه می دارد تا عملیات به اتمام برسد.  
 
7- Fast app switching:  
 
با این ویژگی کاربر می تواند اپلیکیشن را ترک کند و از مولتی تسکینگ استفاده کرده و وقتی کارش تمام شد، مجددا به برنامه مورد نظر بازگردد و از همان نقطه ای که در آن قرار  داشت، کارش را ادامه دهد.

مساله مولتی تسکینگ شاید به نظر بعضی خنده دار به نظر برسد اما بسیار مهم است. بعضی افراد می گویند: سیستم عامل هایی هم چون سیمبیان که نمی توان آن را یک سیستم عامل  سطح بالا برای تلفن های هوشمند دانست هم از مدت ها قبل قادر به انجام این کار ها در مولتی تسکینگ بودند و اپل عملا در حوزه مولتی تسکینگ؛ در حال درجا زدن است و حرف تازه  ای برای گفتن ندارد.  
 
اما بر خلاف حرف این عده، موافقان اپل می گویند: مولتی تسکینگ در آی او اس به نحو فوق العاده ای انجام می گیرد به طوری که ما به هیچ عنوان شاهد کندی کار این دستگاه نیستیم و  همه چیز به خوبی انجام می شود. علاوه بر این مصرف باتری هم در طی مولتی تسکینگ چندان افزایش نمی یابد. از این رو می توان گفت iOS، تجربه معقولی را در مولتی تسکینگ  به کاربران خود می دهد.  
 
به هر حال در این جا قرار نیست خود من هم نظرم را اعلام کنم، چون در آن صورت، این مطلب بی طرفی خود را از دست می دهد. اما معتقدم که مولتی تسکینگ یکی از مهم ترین اجزا  هر سیستم عاملی است و مخصوصا این موضوع در آی او اس، مساله ای است که جنجال های زیادی را بر پا کرده پس کمی علمی تر به آن نگاه می کنیم و قضاوت را به خودتان می  سپاریم.  
 
اولا استفاده از چند API جداگانه باعث شده که نرم افزار ها با اهداف مختلف، هر یک نوع خاصی از مولتی تسکینگ را تجربه کنند. پس عملا موضوع به نحوی است که در مثال  زیر توضیح داده شده:  
 
اگر در حال پخش موسیقی  یا در حال استفاده از VoIP باشید و همزمان کار دیگری انجام دهید، بدیهی است که پردازش گر باید هر دو را پردازش کند. در مورد GPS هم،  همین اوضاع حاکم است. اما استفاده از API های دیگر، تا حدودی هوشمندانه است. مثلا Local Notification و Push  Notification؛ پردازنده را در گیر نمی کنند. مثلا اگر برای فیس بوک شما یک پیام جدید بیاید؛ نیازی نیست اپلیکیشن فیس بوک دائما در حال کار باشد تا آن را مشاهده  کنید. بلکه فقط وقتی پیام جدید رسید، در همان حال که برنامه بسته است، شما از آن آگاه خواهید شد.  
 
Taskfinishing هم کمک می کند که برنامه تا ابد باز نباشد و اگر هنگام انجام یک عملیات آن را ترک کردید؛ عملیات را تا پایان به انجام برساند و بسته شود.  Fast app switching نیز وضعیتی مشابه دارد. برای برنامه هایی که کار پردازشی نمی کنند، کاربرد این ای پی آی؛ بیشتر خواهد بود. این API حالتی را  پیاده می کند که برنامه عملا از پردازنده استفاده نمی کند و فقط در رم قرار دارد تا هنگام نیاز لود شود. البته اگر حجم برنامه سنگین باشد، دیگر در رم هم نیست! بلکه وضعیت آن موقتا  در قسمتی از حافظه اصلی ذخیره می شود تا موقع برگشت؛ از همان جایی که در آن قرار داشته اید لود شود.  
 
اگر تمام موارد بالا را با پردازنده 1 گیگاهرتزی و رم 2x256 مگابایتی iPhone 4  جمع ببندید؛ متوجه می شوید که مولتی تسکینگ از نظر علمی هم در آی او اس؛  روان خواهد بود و اگر از مواردی باشد که پردازش لحظه به لحظه را طلب نمی کنند، روی باتری هم اثر چندانی نمی گذارد.

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

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد