درک ساختار پلتفرم iOS

درک ساختار پلتفرم iOS

قبل از اینکه کار شروع ساخت برنامه تحت سیستم عامل iOS را شروع کنیم ابتدا لازم است تا درکی کافی از ساختار این سیستم عامل داشته باشیم. در مقاله پیش رو ما گریزی به مقدمات اساسی مورد نیاز، دستگاه های مختلف iOS و همچنین App Store شرکت اپل خواهیم زد. با ما همراه باشید.


چرا iOS ؟
پیش از رسیدن رقیبانی همچون اندروید و ویندوز فون، اپل در مقابل رقیبانی همچون نوکیا و بلک بری بر صنعت پلتفرم های موبایل حکمرانی می کرد. با ورود گوشی های هوشمند از سایر شرکت های دیگر همچون سامسونگ،HTC و .. حال سوال اساسی این است که بهترین گوشی هوشمند که مناسب کار من باشد کدام است؟
اگر به یاد داشته باشید سال 2007 بود که شرکت اپل طوفانی را در عرضه پلتفرم گوشی های هوشمند و فناوری نرم افزاری آنها به راه انداخت. اما مدتی بعد سلطه بازار محصولات اپل توسط اندروید به زیر کشیده شد. حال این برای iOS به چه معناست؟ آیا با این وجود هنوز هم توسعه نرم افزار تحت این سیستم عامل وجود دارد یا خیر؟ جواب مطمئناً بله است. دلایل مهمی برای توسعه نرم افزار در بستر سیستم عامل iOS وجود دارد. در ادامه به برخی از این دلایل خواهیم پرداخت با ما همراه باشید.

 

انگیزه سوددهی قوی : همانطور که احتمالاً می دانید مردم برای محصولات اپل مخصوصاً در زمینه پلتفرم موبایل بیشتر از هر پلتفرم دیگری هزینه می کنند. صرف نظر از اینکه امروزه اندروید به عنوان پرچمدار در زمینه محصولات موبایلی محسوب می شود اما پلتفرم iOS با سیاست های ایجاد شده از طرف شرکت اپل، سوددهی بیشتری را برای توسعه دهندگان نرم افزاری ایجاد می کند.
امنیت کامل : با این وجود که طی چند وقت اخیر بخش App Store شرکت اپل انتقادهای زیادی را مخصوصاً در بخش فرایند بازبینی محصولات از طرف توسعه دهندگان و مشتریان متحمل شده، اما پرواضح است که این سیاست سبب شده App Store از نظر کیفیت میانگین برنامه های خود، بالاتر از هر سیستم فروشگاهی دیگری قرار بگیرد. در حال حاضر مشتریان در خرید محصولات خود از فروشگاه اپل احساس امنیت و اطمینان بیشتری نسبت به سایر سایت های فروشگاهی از جمله Google Play دارند.
انجمن و پشتیبانی : انجمن توسعه دهندگان iOS یا iOS developer community یک مکان بزرگ برای درخواست کمک و پشتیبانی در حوضه تولید نرم افزار تحت پلتفرم های شرکت اپل محسوب می شود. زمانی که شما با مشکلی در حوضه تولید نرم افزار روبرو می شوید می توانید با مراجعه به این انجمن سوالات خود را مطرح کرده و یا از مقالات، آموزش ها و دیگر مستندات ارائه شده بهره ببرید. در ضمن مستندات کمکی شرکت اپل در حوضه بسته توسعه نرم افزاری iOS یا همان iOS SDK بسیار بزرگ و با کیفیت بوده و صدها ویدئوی کنفرانس توسعه دهندگان جهانی وب برای هر کاربر iOS که ثبت نام کرده باشد در دسترس خواهد بود.
افراد اغلب فراموش می کنند یا واقعا مطلع نیستند که دو سیستم عامل مطرح اندروید و iOS کاملاً از هم متمایز هستند. با اینکه هر دو پلتفرم برای به کارگیری در صنعت موبایل ساخته شده اند اما ساختار سیستم عامل iOS از خیلی جهات با ساختار سیستم عامل گوگل اندروید متفاوت است. از منظر توسعه و تولید نرم افزار اغلب افراد بر این باورند که توسعه تحت پلتفرم iOS نسبت به رقیب اصلیش یعنی اندروید بسیار راحت تر است. البته دقت داشته باشید که من راجع به فناوری هایی که هر پلتفرم از آن بهره می برد و یا اطلاقی به ابزارهای موجود برای هر پلتفرم نمی کنم. دو دلیل وجود دارد که بین اندروید و iOS از نظر ساختاری فاصله زیادی به وجود آمده است یکی نرخ پذیرش بوده و دیگری میزان پراکندگی است.
پراکندگی :
یکی از قدرتهای بنیادین سیستم عامل اندروید در واقع همان ضعف مدیریت است که اغلب به سود کاربران منجر می شود. همانطور که اکثرا شما کاربران می دانید، سیستم عامل اندروید به عنوان یک پروژه متن باز یا همان Open Source منتشر شده است این قضیه سبب می شود هر کسی با داشتن دانش برنامه نویسی نسبت به ایجاد تغییراتی در آن اقدام کند. شرکت های بزرگ سخت افزاری از این نکته به خوبی اطلاع دارند مخصوصاً اینکه خود گوگل تاکید خاصی بر این موضوع داشته است. با توجه به این موضوع اندروید به سرعت در بین کاربران جهانی شناخته شده و محبوبیت زودهنگامی پیدا کرد. مسئله ای که وجود دارد این است که هر یک از شرکت های سخت افزاری، اندروید را مطابق با نیازها و خواسته های خود تغییر می دهند و به این ترتیب گوناگونی و پراکندی وسیعی در حوضه سیستم عامل اندروید بعد از معرفی آن پدید آمد.
با وجود اینکه اشتراک بازار اندروید و محدوده پشتیبانی آن بسیار بزرگ به نظر می رسد اما از آن طرف ایجاد یک نرم افزار که قادر به اجرا روی هر نسخه اندروید باشد کاری ملال آور است. امروزه با وجود هزاران دستگاه مختلف که تحت سیستم عامل اندروید اجرا می شود دیگر تست و خطایابی برنامه توسط برنامه نویس ها کاری بس مشکل است. به دنبال این موضوع پشتیبانی و سازگاری برنامه شما در پلتفرم های مخلتلف نیز با یک چالش جدی روبرو می شود.
نرخ پذیرش :
از خیلی سال ها پیش در اکثر کشورها بازار محصولات بی سیم تحت کنترل سفت و سخت اپراتورهای تلفن همراه بوده است. از ابتدا شرکت اپل با آگاهی از این موضوع سعی در کنترل دستگاه های موبایل برای ارائه بهترین تجربه کاربری موبایل به مشتریان خود بوده است. کاری که انجام شد این بود که مشتریان اپل می توانند دستگاه های iOS خود را به محض انتشار نسخه جدید iOS همان روز ارتقاء دهند. این حالت یکی از برتری های محسوب پلتفرم iOS محسوب می شود. بنا بر آمار و ارقام منتشر شده کمتر از سه ماه بعد از انتشار iOS7  بیشتر از 74 درصد دارندگان دستگاه های iOS، دستگاه خود را به iOS 7 ارتقاء داده بودند. حال اجازه دهید این آمار را با پلتفرم اندروید مقایسه کنیم با ما همراه باشید.
در دسامبر سال 2013 کمتر از 55 درصد کاربران اندروید دستگاه خود را به نسخه جلی بین که در جولای 2012 منتشر شد ارتقاء داده بودند و تنها 1.1 درصد دستگاه خود را به نسخه KitKat که در اکتبر 2013 منتشر شد ارتقاء دادند.
هیچ قصدی از پایین آوردن اندروید یا پلتفرم های دیگر با ارائه این آمار و ارقام نداریم. چیزی که قصد تاکید بر روی آن را داریم در واقع تاثیر نرخ پذیرشی است که توسط کاربران این پلتفرم ها مورد قبول واقع می شود. در واقع کاربران کمی نسخه جدید سیستم عامل اندروید را می پذیرند از آن طرف توسعه دهندگان نرم افزاری نیز مجبورند تا از نسخه های قدیمی سیستم عامل اندروید پشتیبانی کنند. همین قضیه سبب می شود جلوی پیشرفت فناوری های سخت افزاری و نرم افزاری جدید تا حدی گرفته شود.
پرداخت قانونی :
حتی با این وجود که پلتفرم اندروید همچنان به یکه تازی خود ادامه می دهد اما هنوز از جهات پرداختی با فاصله بسیاری در کنار iOS قرار دارد. در واقع از جهات پرداختی های نرم افزاری، سیستم عامل iOS تمامی رقبای خود را با فاصله ای زیاد کنار زده است. در طی جدیدترین رویداد شرکت اپل، مدیر عامل این شرکت یعنی آقای تیم کوک اذعان داشت که مشتریان اپل بیشتر از 90 میلیارد برنامه دانلود کرده اند و اپل سود 13 میلیارد دلاری را به توسعه دهندگان این برنامه ها پرداخت کرده است.در سپتامبر سال 2013 طی رویداد سالیانه ای که برای پلتفرم آیفون اپل برگزار می شود تیم کوک اظهار داشت که تا کنون بیشتر از 700 میلیون دستگاه iOS در سراسر نقاط جهان به فروش رفته است. با یک حساب سرانگشتی به این نتیجه می رسیم که اگر شما هم به دنبال توسعه و تولید نرم افزار در بخش صنعت موبایل هستید حتماً متوجه شده اید که iOS بهترین زمینه یا بهتر است بگوییم شاخص ترین پلتفرم، جهت سرمایه گذاری و سودآوری است.
چرا بومی؟ :
اگر شما از علاقه مندان و یا حداقل خوانندگان مکرر در زمینه توسعه نرم افزار اپل باشید احتمالاً نامی از فریم ورک های کراس پلتفرمی همچون PhoneGap، Titanium Mobile به گوشتان خورده است. شاید در وحله اول تعجب کنید که چرا وقتی قادر به تولید برنامه های iOS با استفاده از جاوا اسکریپت هستید مجبورید دردسر یادگیری زبان برنامه نویسی شی گرای C را نیز متحمل شوید. ابتدا اجازه دهید تا توضیح مختصر و مفیدی از گزینه های پیش روی شما در توسعه برنامه های iOS ارائه دهم با ما همراه باشید :
برنامه های مبتنی بر وب(Web Application) :
این گزینه در واقع اولین انتخاب شما قلمداد می شود. البته ناگفته نماند که این گزینه پیش از معرفی بسته توسعه نرم افزاری بومی iOS در سال 2008 تنها گزینه قابل انتخاب بود. نکته مهمی که لازم است بدانید این است که برنامه های توسعه داده شده تحت این گزینه تحت سیستم فرایند بازبینی App Store یا به طور کلی اپل قرار نمی گیرند. حال چرا سیاست اپل این چنین هست؟ در حقیقت نام یک برنامه وب یا همان Web Application یک نام ضمنی برای یک وبسایت است که به مانند یک برنامه یا همان Application عمل کرده و تنها چیز مورد نیاز یک مرورگر است. این مرورگر می تواند Mobile Safari  یا Google Chrome باشد. نکته مشخص و واضحی که در مورد برنامه های وب وجود دارد این است که به صورت پیشفرض کراس پلتفرم هستند چرا که برنامه تحت یک مرورگر اجرا می شود. ویژگی دیگر این نوع برنامه ها در واقع منحنی یادگیری به منظور ایجاد برنامه های وب است. اگر شما با روند توسعه وب آشنا باشید به راحتی می توانید فرایند یادگیری و تولید این نوع برنامه ها را آغاز کنید.
البته با این وجود نمی تواند از محدودیت هایی که این نوع برنامه ها ایجاد می کنند چشم پوشی کرد. مثلاً این نوع برنامه ها دسترسی محدودی به قابلیت های دستگاهی که روی آن اجرا می شوند را دارند. از آن طرف برنامه های وب موبایل به لطف فناوری های نرم افزاری JavaScript و HTML5 کاملاً قدرتمند هستند. اما به هر حال در این زمینه نیز با محدودیت های شاخصی روبرو هستید. به عنوان مثال شما قادر به استفاده از برنامه های ممتاز تحت پلتفرم های آیفون و آیپد نخواهید بود. همچنین برنامه های وب عموماً، معمولاً برای اجرا نیاز به ارتباط اینترنتی دارند البته برخی مواقع وجود این ارتباط اینترنتی ضرورتی ندارد. در هر صورت شاید بزرگترین چالش روبرو در هنگام ساخت انحصاری برنامه های مبتنی بر وب تحت پلتفرم های اپل، به طور کلی این است که سرعت فرایند تولید و اجرای آنها نسبت به برنامه های بومی این پلتفرم ها کمتر است. به مرور زمان و پیشرفت فناوری اهمیت برنامه های مبتنی بر وب روز به روز در حال افزایش است. اما به هر حال این تاخیر ارثی ای که به مرورگر اضافه شده نباید بیش از حد مورد بررسی قرار گرفته و یا کلاً از آن صرف نظر شود.


فریم ورک های کراس پلتفرم موبایل :
منشا و ریشه شکل گیری فریم ورک کراس پلتفرم از ابتدا این بوده است که تولیدکنندگان نرم افزار قادر باشند برنامه هایی را طراحی کنند که تحت چندین پلتفرم از یک بیس کد یکسان قابل اجرا باشند. این فرایند از چند روش مختلف به موفقیت دست پیدا کرده است. برخی فریم ورک ها مانند PhoneGap از بسته توسعه نرم افزاری بومی یا همان native SDKی پلتفرم، به منظور ایجاد یک الگوی وب در برنامه ای که گنجانده شده است استفاده می کنند. به مانند برنامه های وب، این قضیه محدودیت هایی را از نظر عملکردی متحمل می کند. ویژگی اصلی ای که لازم است برنامه های کراس پلتفرم داشته باشند این است که کاربر به هنگام اجرای برنامه احساس کند این برنامه، گویی کاملاً تحت پلتفرم خودش ساخت شده و یا به عبارتی حس بومی بودن را به کاربر بدهد.
با این وجود که ممکن است فریم ورک های توسعه موبایل مانند یک چارچوب کاری بدون مشکل به نظر برسند اما واقعیت این است که برخی مشکلات نیز در زمینه تولید نرم افزار موبایلی وجود دارند که نیاز به رسیدگی دارند. مهمترین مشکل حال حاضر این است که برنامه شما نیاز به یک فریم ورک جداگانه برای اجرا دارد. به عبارت دیگر بیس کد کامل شما در واقع وابسته به پکیج کراس پلتفرمی است که توسط شرکت ارائه می شود. با این حساب اگر آن شرکت در ارائه  و ایجاد تغییرات مورد انتظار در Native SDK کوتاهی کند شما ممکن است مجبور باشید فرایند توسعه نرم افزار را دوباره از صفر آغاز کنید. به هر حال این خطری است که نباید به این سادگی ها از کنار آن گذشت.
iOS SDK :
انتخاب Native SDK در صورتی که قصد تولید برنامه های را دارید که بتواند از کل قابلیت های ریز و درشت دستگاه استفاده کند انتخابی هوشمند و به جاست. همچنین در واقع، انتخاب و تصمیم برای ایجاد یک برنامه بومی به این معناست که شما در یک بستر توسعه نرم افزاری قدرتمند کار خواهید کرد و اینکه می توانید به ابزارهای توسعه اپل، نرم افزارهای مفید و پشتیبانی های موجود تکیه کنید.
ساختار سیستم عامل iOS :
یکی از مهمترین و برجسته ترین ویژگی های ساختار سیستم عامل iOS در واقع سادگی آن است. لیست دستگاه هایی که قابلیت اجرای iOS را دارند در مقایسه با اندروید و ویندوز فون به طرز شگفت آوری پایین است. این بدان معناست که فرایند تست و اشکال زدایی برنامه های iOS نسبت به دیگر پلتفرم ها بسیار ساده تر است.
همانطور که پیشتر بدان اشاره شد، اندروید با رشد چشم گیر خود در طی چند سال اخیر رقیب اصلی خود را در میزان اشتراک کنار زده است اما این تنها یک طرف قضیه است. پلتفرم iOS میزبان بیشتر از 50 درصد کاربران موبایلی در حوضه استفاده از وب به شمار می رود. این آمار نشان می دهد که پلتفرم iOS صرف نظر از میزان اشتراک کلی بالای اندروید در بین کاربران حداقل در بحث موبایل و استفاده وب، بیشترین کاربران را به سمت خود جذب کرده است.

دستگاه ها :
در حال حاظر دو نوع دستگاه در حوضه استفاده از سیستم عامل iOS وجود دارد. یکی دستگاه iPhone که شامل iPod Touch نیز می باشد و دیگری خانواده آیپد است.
تفاوت های اصلی در این دو خانواده در واقع وجود قابلیت های سخت افزاری انحصاری و اندازه صفحه شان است. پلتفرم های iPhone 5, 5S, 5C و پنجمین نسل آنها یعنی iPod Touch، اندازه صفحه نمایش آنها همگی 4 اینچ است. این در حالی است که مدل های قبلی همین دستگاه ها پیش از این با اندازه 3.5 اینچیشان شناخته شده اند. تفاوت در اندازه، روند تولید و توسعه نرم افزار را تحت تاثیر قرار می دهد اما به طور کلی سربار زیادی را در اکثر برنامه ها ایجاد نمی کند در ادامه کار توضیحات را در این باب منتشر خواهیم کرد. با ما همراه باشید.
در سال 2012، خانواده آیپد با معرفی آیپد مینی گستردگی بیشتری پیدا کرد. معرفی این پلتفرم سبب تاثیر امواجی در صنعت تکنولوژی شد به طوری که توسعه دهندگان iOS را با چالشی جدید اما نه غیرجدی روبرو کرد. در واقع اندازه آیپد مینی به طور آشکاری کوچکتر از آیپد و آیپد ایر 10 اینچی هست اما در مقام رزولوشن تفاوتی بین آنها دیده نمی شود. در واقع به دلیل اندازه کوچکتر آیپد مینی، اندازه میانگین ضربت های لمسی کوچکتر بوده و همین قضیه ممکن است مشکلاتی را در برخی برنامه های طراحی شده موجود ایجاد کند.
iOS :
شرکت اپل طبق سنت هر ساله، نسخه جدیدی از سیستم عامل موبایلی خود را در سال جدید منتشر می کند. بنا به آمار، شرکت اپل از ابتدا تا کنون 7 نسخه اصلی از سیستم عامل موبایلی خود را منتشر کرده که جدیدترین عرضه این شرکت بزرگ هم سیستم عامل iOS 7 است. پشتیبانی دستگاه یکی از مهمترین جنبه های iOS است که کاربران اپل بسیار آن را مورد توجه قرار می دهند. به عنوان مثال می توان به آیفون 4 اشاره کرد. این پلتفرم با وجود اینکه بیشتر از 4 سال از عمر تولیدش می گذرد اما هنوز هم قابلیت اجرای نسخه جدید سیستم عامل موبایلی شرکت اپل یعنی iOS 7 را دارد. در حال حاظر هیچ پلتفرم موبایل از هیچ شرکتی وجود ندارد که چنین پشتیبانی فوق العاده ای از دستگاه های پیشین خود داشته باشد.
App Store :
یکی از ویژگی ها و برتری های کلیدی برای توسعه نرم افزار تحت پلتفرم iOS در واقع موفقیت باورنکردنی سیستم فروشگاهی App Store اپل طی سال های متوالی است. فرایند فروش نرم افزار به لطف دو سیستم فروشگاهی App Store و Mac App Store آسان تر از هر سیستم فروشگاهی دیگر است. به تازگی شرکت اپل اعلام کرد که رکورد یک میلیون برنامه موجود در سیستم فروشگاهی خود را شکسته است. این قضیه سبب کمی شلوغی در App Store می شود اما دقت داشته باشید که تعداد دستگاه های iOS نیز به مرور در حال افزایش چشمگیر هستند.
نتیجه گیری :
با توجه به توضیحات ارائه شده حال دیگر شما باید یک تصور کامل و روشنی از ساختار سیستم عامل iOS داشته باشید و امیدوارم با عنایت به دلایل گفته شده موفق در قانع کردن شما برای روی آوردن به سمت توسعه نرم افزار تحت iOS شده باشم. در مطلب بعدی به شما نحوه شروع کار با native SDK را با برپایی محیط توسعه آموزش خواهیم داده و متوجه خواهید شد که روند انجام این کار چقدر ساده خواهد بود. در پایان امیدوارم این مقاله مورد توجه شما قرار گرفته باشد.
نویسنده:هادی نجار

مقاله دیگر:

 آموزش ساخت اپل آیدی رایگان

منبع:tutsplus.com

تعداد بازدید : 979

نظرات
ناشناس
خیلی ممنون عالی بود
ارسال نظر

سوال امنیتی : مجموع دو عدد 4 و 1 =