Arian Masoud
16th November 2010, 12:49 AM
[Only registered and activated users can see links]
بعد از اين که قسمت اول مقاله را خوانديد؛ اکنون نوبت به قسمت دوم آن مي رسد. براي اين که يک ياد آوري از مطلب قبل داشته باشيم. اجازه دهيد به سر فصل هاي آن اشاره مختصري داشته باشيم.
- آنچه در قسمت اول خوانديد:
در بخش اول به تاريخچه آي او اس پرداختيم و يک سري آمار و ارقام را هم از وضعيت فعلي اين سيستم عامل ارائه شد. فهميديم که سبک کار در iOS چگونه است و مولتي تسکينگ آن با چه ترفندي اجرا مي شود و چه مزايايي دارد. شايد سر فصل ها کوتاه بوده و تعدادشان کم! اما همين هم مطلب بلندي را تشکيل داد.
- آنچه در اين بخش خواهيد خواند:
سر انجام نوبت انتشار بخش دوم اين مقاله هم رسيد. در بخش دوم کمي تخصصي تر به مسائل نگاه مي کنيم و عمق بيشتري در آي او اس مي گيريم. اما باز هم مطلب به گونه اي است که هر قشري از کاربران مي توانند از آن استفاده کند.
در اين بخش اطلاعاتي را درباره کيت توسعه نرم افزاري يا SDK در اختيار شما مي گزاريم و از نقاط خلل آي او اس هم پرده برداري مي کنيم و خواهيم ديد که جيل بريک در آي او اس؛ چگونه خواهد بود و به چه مواردي کمک خواهد کرد. + چند نکته مهم ديگر! پس براي خواندن اين ها و تبديل شدن به يک آي او اس شناس حرفه اي؛ پس ما را همراهی نماييد.
-Game Center:
[Only registered and activated users can see links]
گيم سنتر، يک شبکه اجتماعي براي بازي هاي آنلاين است که توسط اپل عرضه شده. گيم سنتر به کاربران اين قابليت را مي دهد که دوستانشان را براي بازي کردن دعوت کنند و با هم يک بازي چند نفره و آنلاين ترتيب دهند. استفاده از Achievement ها هم در اين نرم افزار صورت مي گيرد. Achievement به معني "موفقيت" و به امتياز هايي گفته مي شود که پس از رد کدن يک مرحله يا شکستن يک رکورد به گيمر داده مي شود. پس در شناسايي ميزان حرفه اي بودن گيمر ها هم به ما کمک خواهد کرد! علاوه بر اين ها امکان ثبت رکورد ها هم وجود دارد.
گيم سنتر در کنفرانس معرفي iOS 4 و در 8 آپريل؛ پرده برداري شد. در ماه آگوست؛ براي برنامه نويسان ريجيستر شده ي اپل؛ يک پيشنمايش از اين نرم افزار عرضه شد و نهايتا در 8 ستامبر امسال و همراه iOS 4.1؛ در دسترس کاربران داراي آيفون 4 ؛ آيفون 3GS و آيپاد تاچ هاي نسل دوم به بالا قرار گرفت. حتما مي پرسيد: پس آيپد چه شد؟ اگر يادتان باشد در بخش اول مقاله عينا گفتيم که:(( iOS 4.2، اولين ساپورت سري چهارم آي او اس را براي آيپد به ارمغان آورد.)) گيم سنتر هم براي سري چهار آي او اس است.
ضمنا بايد عنوان کرد که گيم سنتر به طور رسمي براي iPhone 3G و iPhone؛ قابل اجرا نيست. حالا مي خواهم سرم را تکان بدهم و درحالي که به درختان مي نگرم، آرام بگويم:(( اما مي توان با يک هک به صورت غير رسمي آن را در آيفون 3G هم اجرا کرد!))
- تکنولوژي هايي که ساپورت نمي شوند!
آي او اس دوست ندارد از وبسايت هايي که از Adobe Flash يا جاوا استفاده مي کنند، پشتيباني کند. پس اين گونه وب سايت ها به طور کامل در دستگاه هاي تحت آي او اس اجرا نخواهند شد. استيو جابز در نامه سرگشاده اي، دليل استفاده نکردن از فلش را توضيح داد. او محصولات شرکت Adobe را ناامن، پر از باگ، پر مصرف و ناسازگار با اينترفيس لمسي توصيف کرد.
[Only registered and activated users can see links]
در عوض، مرورگر وب در iOS 4 اين قابليت را پيدا کرد که از تکنولوژي هاي HTML 5 پشتيباني کند. اپل اچ تي ام ال 5 را جايگزيني براي فلش مي داند. پس بدانيد که در iOS 4، مرورگر وب مي تواند از ويدئو هاي تحت HTML 5 (با Codec هاي محدود) پشتيباني کند و همچنين اين مرورگر قابليت نشان دادن گرافيک هاي دو بعدي را هم در صفحات وب مبتني بر HTML 5 دارد.
- jailbreaking:
اجازه دهيد اول اين مورد را توضيح دهيم و بعد به بحث SDK و توسعه دادن برسيم تا يکپارچه بودن مطلب از بين نرود.
جیل بریک یعنی شکستن حصار، نوعی هک است که به وسیله بعضی نرم افزار ها روی آی او اس انجام می شود تا امکاناتی را که اپل از آن ها پشتیبانی نمی کند، به آی او اس اضافه نماید. مثلا تا قبل از سال 2008 (قبل از شروع کار App Store) از جیل بريک برای نصب راحت تر اپلیکیشن هاي شخص ثالث استفاده مي کردند. اپل در آن زمان اعلام کرد که قصد ندارد آپدیت ويژه ای براي مقابله با اين اپلیکیشن ها منتشر کند. البته با هر آپديت آی او اس، جیل بريک ها سخت تر و سخت تر کار مي کردند. اما تا کنون جلوی آن ها به طور کامل گرفته نشده. (البته اپل همواره سعي کرده با اپلیکیشن هايي که به آنلاک کردن غير رسمي سیم کارت ها کمک می کنند، مقابله نمايد.)
[Only registered and activated users can see links]
از زماني که App Store و اپلیکیشن هاي شخص ثالث "رسمی" پديدار شدند؛ تمرکز جيل بریک بر روی مساله دیگری تغيير کرد. از آن زمان تا کنون اصلي ترین دليل استفاده از جیل بريک؛ فعال کردن قابلیت استفاده از تم ها و شخصی سازي بیشتر در نرم افزار هایی مثل SpringBoard (که مدیریت صفحه خانگی را بر عهده دارد) بود. علاوه بر اين در دستگاه های قديمي تر مبتني بر iOS، مثل آیفون 3G، هنوز هم امکان مولتی تسکينگ وجود ندارد. بعضي از جيل بریک ها بستری را محیا مي کنند که بتوان مولتي تسکینگ را هم در این سيستم عامل ايجاد کرد. اگر چه به کیفیت اصلي نمی رسد اما از هیچ بهتر است.
البته ناگفته نماند که بعضي جیل بريک ها اجازه می دهند که کاربر اپلیکیشن هاي پولی App Store را به طور غير قانونی (با نقض قانون کپي رایت) به اشتراک بگزارد. البته اين کار بحث ها و منازعات زيادي را بر انگیخت اما مساله این جاست که اين کار مهم ترین هدف جیل بريک نیست و به نوعی يک کار حاشيه ای و غیر قانوني است که بعضی جيل بریک ها اجازه انجام آن را می دهند.
پس در آخر مي توان گفت: هدف جیل بريک اضافه کردن امکاناتی است که دستگاه های اپل فاقد آن هستند و یا از آن پشتيباني نمی کنند.
- توسعه دادن:
اين بخش اصلي ترين و مهم ترين بخش، اين مجموعه مقالات است. پس به آن توجه بيشتري کنيد. در ضمن سعي مي کنيم به طور هر چه کامل تر آن را توضيح دهيم.
[Only registered and activated users can see links]
اول از همه بايد به نکته اي اشاره کنيم که خيلي از شما آن را مي دانيد: سيستم عامل iOS بر پايه Mac OS X است اما اپليکيشن هاي Mac، روي آن اجرا نمي شوند. پس اپليکيشن ها بايد به طور اختصاصي براي iOS نوشته و کامپايل شوند. مرورگر وب سافاري که مرورگر اصلي در آي او اس است، از وب اپليکيشن ها هم پشتيباني مي نمايد.
منظور از "وب اپليکيشن" هر وبسايتي است که خدماتی را تحت وب ارائه مي دهد. حالا چه گوگل را در نظر بگيريم چه هر وبسايت ديگري را.
اما از وب اپليکيشن ها که بگذريم، مي رسيم به اپلکيشن هاي تحت iOS که بيشترين سهم را در استفاده و کاربرد دارند. اين اپليکيشن ها اکثرا در iOS 2.0 به بالا اجرا مي شوند و مي توانيد آن ها را از App Store تهيه نماييد. در ضمن توجه کنيد: شما مي توانيد در انواع و اقسام سيستم عامل ها؛ از اپليکيشن هاي آنلاين و تحت وب ( مبتني بر پردازش ابري) استفاده کنيد. اما اپليکيشن هاي معمولي اين گونه نيستند و فقط روي يک سيستم عامل خاص اجرا مي شوند. از اين رو به اين اپليکيشن ها Native يا "بومي" مي گويند.
-توجه:
توسعه دهندگان مي توانند براي اپلیکیشن هايي که در App Store عرضه کرده اند، هر قيمتي را در نظر بگيرند. توسعه دهندگان 70 درصد سهم فروش را هم دریافت خواهند کرد. البته اگر اپليکيشن را Free انتخاب نمايند، دیگر هيچ قيمتي نخواهد داشت و "از طریق App Store" هيچ پولی از آن در نخواهند آورد.
اما بعضي از توسعه دهندگان، بعد از انتشار برنامه خود در App Store، نسبت به خط مشی پرداخت آن با مشکل رو به رو می شوند. با توجه به قرار دادي که توسعه دهندگان، بايد موقع ثبت نام با اپل ببندند؛ اگر هر کسي پولی بابت برنامه شما بدهد، 30 درصد از آن مقدار به حساب اپل واريز شده و 70 در صد آن به حساب شما ريخته خواهد شد. البته بعضی موارد نیز به صلاح ديد اپل، 30 در صد باقی مانده به مشتري باز خواهد گشت. به هر حال باید بدانيد که اپل 30 در صد از قیمت را بر مي دارد و هر کاری هم که بکنيد، باز هم 70 در صد فروش به شما خواهد رسيد!
-محتواي SDK
همانطور که در قسمت اول مقاله اشاره شد؛ آی او اس از نسخه ی تغيير یافته ي همان هسته اي استفاده مي کند که در مک هم مشاهده مي گردد. پس براي توسعه دادن نرم افزار ها روی اي او اس هم بايد مانند مک، از Xcode استفاده نمود.
[Only registered and activated users can see links]
Xcode مجموعه ای از ابزار هاست که براي توسعه دادن نرم افزار ها تحت مک او اس ايکس و آی او اس به کار برده می شود. آخرین ورژن عمده این نرم افزار، نسخه 3.2 است. این نسخه به طور رایگان همراه Mac OS X v10.6 عرضه می شود و البته از چندین راه دیگر نيز قابل تهيه کردن است. اگر Xcode را روی سيستم خود داشته باشید. مي توانید پس از نصب کیت توسعه نرم افزاري (SDK) از آن برای کامپايل و ديباگ کردن اپليکيشن های تحت iOS استفاده نماييد.
- Cocoa Touch:
حالا می خواهيم اطلاعات بیشتری در مورد اين API در اختیار شما قرار دهيم:
[Only registered and activated users can see links]
این اي پی آي؛ مجموعه ای از چند فريم ورک مختلف است که مسئوليت مدیریت رابط کاربری برنامه ها در آی او اس را بر عهده دارد. هر طيفي از کليد ها؛ کنترل ها و ... بر ظاهر برنامه و نوع ورودی، توسط این API ، در دسترس برنامه نويس قرار مي گیرد. علاوه بر کيت رابط کاربري، این API شامل موارد ديگري است که بیشتر به مديريت برنامه اختصاص دارد.
کلکسيون دیگری که Cocoa Touch براي خود جمع آوری کرده، شامل هر چيزي است که برای ساخت یک برنامه ی عمومي تحت iOS، کاملا کافي است! شما می توانيد از گرافيک های سه بعدي - صدا گزاري حرفه اي - کار هاي تحت شبکه - کنترل دوربين - مکان يابي سه بعدي با GPS و خيلي چیز هاي دیگر استفاده کنید.
اپل در مورد وسعت فریم ورک های اين API مي گويد: Cocoa Touch از فريم ورک هاي قدرتمندي بهره مي برد که تحت زبان Objective-C نوشته شده اند و به برنامه نويس امکان مي دهد که بتواند با چند خط وظيفه مورد نظر را به برنامه اعمال کند. ضمنا Cocoa Touch امکان دسترسی به دیگر اي پی آي های زير بنایی سيستم عامل را دارد که در صورت نیاز کاربر می تواند از آن ها براي دسترسی به اطلاعات سیستمی استفاده نماید.
همچنين اپل می گويد که اين Cocoa Touch از پایداري و سرعت زیادی برخوردار است. دلیل اين را هم، استفاده از زبان Objective-C در برنامه نویسی آن عنوان مي کند. علاوه بر این، اپل عقيده دارد که استفاده از Objective-C در ساخت اين API باعث شده که برنامه نویسان هم در توسعه رابط کاربري راحت تر باشند. توسعه دهندگان مي توانند از کد هاي تحت زبان C و C++ هم در اپليکيشن های خود استفاده کنند و مطمئن باشند که Cocoa Touch، به خوبی با آن ها میکس مي شود.
لازم است بدانید: برای برنامه نویسی در Cocoa Touch زبان اصلی مورد استفاده Objective-C است که همانطور که در بالا گفته شد، هم قدرتمند است و هم سریع. یکی از مزیت های دیگر این زبان توانایی لود اینترفیس در ران تایم است. به این صورت که کد های نوشته شده برای الگوریتم های پردازشی و کد های نوشته شده برای اینترفیس، در بستری جدا اجرا می شوند و به همین دلیل می توانید هنگام برنامه نویسی، در همان حال که برنامه باز است؛ در اینترفیس تغییر ایجاد نمایید که البته این هم شرایط خاص خودش را دارد. قرار نیست این شرایط را توضیح دهیم، چون اگر با Cocoa Touch کار کنید، متوجه خواهید شد. به هر حال اپل روي ران تايم Cocoa Touch مانور هاي زیادی داده است.
حالا بیایید نگاهي کلی داشته باشیم به مهمترين مواردی که Cocoa Touch از آنها پشتیبانی مي کند و این که شما به عنوان يک برنامه نويس، بايد چه کار هایی را انجام دهيد تا در حوزه رابط کاربري موفق باشيد.
- مانند هر API مشابهی، اين یکی هم آيکون ها و علامت هاي آی او اس را دربر دارد و در اختیار کاربر قرار میدهد.
- اين ای پي آي از Multi Touch پشتيباني خوب و کاملی مي نماید. شما بايد سعی کنيد که با توجه به کاربرد برنامه و نیاز کاربر، به موقع از اين ویژگی استفاده کنید تا کاربر در تعامل با برنامه ي شما خسته نشود.
- دومين ساپورت مهم، پشتیبانی از ژیروسکوپ و شتاب سنج است. ژیروسکوپ فقط در آيفون 4 وجود دارد اما شتاب سنج در تمام دستگاه های تحت iOS یافت مي شود. فرق آنها هم اين است که ژیروسکوپ در سه محور X , Y و Z حرکت را تشخیص مي دهد اما شتاب سنج، توانايي تشخيص حرکت در دو محور X , Y را دارست. این مورد هم در برنامه خود در نظر بگیرید تا تعامل بهتري با کاربر داشته باشيد. هر چند استفاده از ژيروسکوپ فقط در بازی ها کاربرد دارد اما مي توانید در موقعیت هاي مختلفی از شتاب سنج استفاده کنيد. مثلا به کاربر این امکان را بدهيد که با تکان دادن گوشی به سمت چپ، کار های خود را Undo کند و اگر پشيمان شد بتواند با تکان دادن به سمت راست کار هاي خود را Redo کند!
- ساپورت از سلسله مراتب نمايش، ديگر ویژگی Cocoa Touch است. سلسله مراتب نمایش، يعني اين که مجموعه ها و زیر مجموعه ها در نمایش ظاهر برنامه دخيل باشند! مثلا اگر دو دکمه را درون يک پنل قرار دهید و پنل را پنهان (hide) کنید، آن دو دکمه هم هايد خواهند شد. اما اگر يکي از دکمه ها را Hide نماييد، برروی پنل و دکمه دیگر تاثيري نخواهد گذاشت.
- Localization به طور خودکار توسط این API انجام مي شود. منتها باید کمي آن را مدیریت کنيد. Localization یعنی اين که بتوانيد برنامه خود را از نظر نمايش در صفحه کنترل کنيد. مثلا اين که از چه فونتي استفاده کند - در کجاي صفحه ي نمایش قرار بگیرد - قابل مينيمايز شدن (کوچک شدن) باشد - قابل مکزيمايز شدن (تمام صفحه شدن) باشد و ... البته يک استاندارد وجود دارد که Cocoa Touch هم آن را رعايت می کند. اين استاندارد مي گوید که برنامه بايد با بيشتر فونت ها و زبان هاي زنده دنيا سازگار باشد و به هم ریخته نمايش داده نشود.
- آخرين مورد هم ساپورت دوربین است. می توانيد کنترل هاي زیادی برروي دوربین داشته باشید. البته این هم بستگي به کاربرد برنامه شما دارد. بايد بدانید که Cocoa Touch تقریبا در سراسر SDK، به کار میرود. اما اين ها نکاتي بودند که اولا : در تعامل برنامه با کاربر نقش داشتند - دوما به طور مستقيم توسط Cocoa Touch کنترل می شدند.
- صدا و تصویر:
[Only registered and activated users can see links]
- مدیا پلیر: یک فریم ورک دیگر است که به اپلیکیشن های شما اجازه می دهد تا به طور آسان بتوانند؛ به پخش ویدئو بپردازند. سورس ویدئو می تواند یک فایل دربین فایل های نصب شده ی خود برنامه باشد یا از راه دور بارگزاری شود (مانند اینترنت). همچنین در این فریم ورک کنترل های کافی هم وجود دارد تا بتوانید برنامه خود را به خوبی شخصی سازی نمایید.
- پشتیبانی از استریم زنده: اين کار به برنامه نویسان اين امکان را داده که بتوانند برنامه هاي خود را قادر سازند که از سرور های دیگر، ويدئو های High Quality را به صورت استريم زنده؛ دريافت و پخش کنند. HTTP Live Streaming برای وسايل قابل حمل طراحی شده است و می تواند کیفيت ویدئو را با توجه به سرعت در دسترس در شبکه، تطبيق دهد. اما یک چيز معلوم است: این که در ايران به خاطر سرعت کم اینترنت نمی توانيد از اين ویژگی به نحو احسنت استفاده نماييد.
- فونداسيون AV یا AV Foundation: يک منبع واحد برای ضبط و پخش فایل هاي صوتی يا تصویری است. این مورد برای اپليکيشن هایی در نظر گرفته شده که نیاز دارند از ضبط یا پخش موزیک ( که در فريم ورک مديا پلیر يافت می شود) فراتر بروند. این مورد از تنظيمات پیچیده اي براي مدیریت و کنترل آيتم های چند رسانه اي پشتیبانی مي کند. مانند: ويرايش فایل هاي چند رسانه ای - ضبط و پخش فیلم - مديريت آهنگ ها - کار با صداي استریو و ...
- کتابخانه ي آیپاد: به این وسيله شما مي توانید به موزیک هاي روی آيپد- آیفون - آيپاد تاچ دسترسي داشته باشيد. اپلیکیشن هاي شما مي توانند از موزيک های کاربر برای استفاده های مختلف، بهره مند شوند. مثلا اگر يک بازی ماشين رانی ساختيد؛ ضبط ماشين ها قادر باشند که پلی ليست های کاربر را پخش کنند. پس مي توانید کار های مختلفي با کتابخانه ی آيپاد انجام دهيد.
- هسته ی صوتي و OpenAL: هسته ی صوتي یک تکنولوژي پیشرفته براي پخش، پردازش و يا ضبط صدا مي باشد. با Core Audio اپلیکیشن هاي شما مي توانند یک يا چند صدا را به طور همزمان پخش کنند؛ توانایی پخش محتوای استريم شده صوتي را داشته باشند يا حتي به ضبط صدا بپردازند. هسته صوتي، تمام فعاليت های صوتي را مديريت می کند. مثلا به طور اتوماتيک، صدا را به هدفون ها - هدست بلوتوث يا هر وسيله ی مرتبط دیگری وصل می کند. همچنين در هسته صوتي؛ دسترسی به ویبراتور تلفن هم محيا می باشد. برای مدل های پيشرفته تر؛ ای پي آی Open AL در دسترس برنامه نويس و کاربر قرار دارد. اين API می تواند وظیفه ي پخش صوت در فضای سه بعدی را بر عهده بگيرد. یعنی از سیستم Dolby Surround پشتيباني می نمايد.
- گرافیک و انیمیشن:
[Only registered and activated users can see links]
آی او اس شامل تکنولوژی های گرافیکی مختلفی است که به شما اجازه می دهند در اپلیکیشن های خود از جلوه های بسری مختلف و انیمیشن های دو بعدی یا سه بعدی استفاده کنید. همین ویژگی باعث شده که دستگاه های تحت آی او اس در تعامل با کاربر از نظر گرافیکی هم حرف های زیادی برای گفتن داشته باشند.
-هسته انیمیشن: هسته انیمیشن به شما اجازه می دهد که از یک رابط کاربری متحرک و پویا استفاده کنید و برای این کار الگوی برنامه نویسی ساده ای در اختیار شما قرار می گذارد که متکی بر ترکیب لایه های مستقل از گرافیک با یک دیگر است. انیمیشن ها با تعریف گام های کلیدی در طول مسیر ساخته می شوند. شما خواهید توانست که با همین روش تعریف کنید که: نحوه تعامل تصاویر - متن ها - گرافیک و گرافیک های سطح بالای مبتنی بر OpenGL ES، باید چگونه باشد. هسته انیمیشن هم همین تعاریف را در Runtime (زمان اجرا) به برنامه اعمال می نماید. پس هسته انیمیشن حرکت های کلیدی را شناسایی کرده و متحرک را به نرمی بین آن دو جابه جا می نماید که باعث می شود تا برنامه به صورت خودکار حالت انیمیشنی پیدا کند.
برای مثال بیایید که تصور کنیم می خواهیم بزرگ شدن انیمیشنی طول یک دکمه به اندازه 80 واحد را بسازیم. با زبان برنامه نویسی به کامپایلر می گوییم: از 1 تا 80 بشمار و به ازای هر 1 واحد جلو رفتن، طول "دکمه 1" را یک واحد افزایش بده! (زمانی که کامپایلر به عدد 80 می رسد؛ دیگر کار را ادامه نمی دهد)(نمونه ی این کار برای ویندوز را از اینجا ([Only registered and activated users can see links])دانلود کنید)
اپل مي گوید : چون انتقال دهنده های انيميشني زیادی در iOS وجود دارند، شما مي توانید يک رابط کاربری ديناميک و کاملا پویا بسازيد که به اجزاي آن به نرمی حرکت کنند و يا محو شوند و هم چنيني می توانيد افکت هاي مختلفی را به برنامه خود اضافه نمایید. آن هم فقط با چند خط از کد هاي سازگار با هسته انيميشن!
-Open GL ES: این یک API است که از Open GL که برای کامپیوتر های شخصی می باشد مشتق شده است. این نسخه ساده تر از ای پی آی مخصوص کامپیوتر ها است و برای موبایل ها؛ تبلت ها و تلفن های هوشمند کاربرد دارد. اپل سخت افزار دستگاه های iPhone - iPodTouch و iPad را به شتاب دهنده سخت افزاری برای اجرای Open GL For Embedded Systems مجهز کرده است. این API شامل سایه زن های قابل برنامه ریزی و سایر مواردی است که با استفاده از آن می توانید؛ یک برنامه یا بازی سه بعدی را اجرا نمایید.
[Only registered and activated users can see links]
- Quartz 2D: یک API قدرتمند برای گرافیک های دو بعدی می باشد که در iOS به کار گرفته شده. این API ویژگی های قدرتمندی را به برنامه نویس ارائه می دهد که از جمله آنها می توان به منهنی های Bezier ؛ ترانسفورم های پیشرفته و موارد این چنینی اشاره نمود. می توانید از Quartz 2D برای ساخت اجزای اختصاصی برای اینترفیس برنامه ی خود استفاده کنید تا سبک مخصوصی را به اپلیکیشن خود بدهید. لازم است بدانید که Quartz 2D بر پایه فرمت های تصویری پرتابل اجرا می شود و از این رو می تواند در فایل های PDF هم به کار گرفته شود. اگر با منحنی های Bezier آشنایی ندارید؛ می توانید به تصویر زیر نگاه کنید تا متوجه نحوه عملکرد آنها بشوید.
[Only registered and activated users can see links]
- استقلال رزولوشن: می دانیم که در iPhone 4؛ با به کار گرفتن نمایشگر Retina متن ها و تصاویر در هر سایزی که باشند به طور نرم و واضح دیده خواهند شد. اما در مدل های قبلی این گوشی یا در مدل های قبلی iPod Touch وضع این گونه نبود. ویژگی Resolution Independence یا "استقلال رزولوشن" کمک می کند تا بتوانید برنامه خود را با رزولوشن های مختلفی سازگار سازید تا در تمام وسایل مبتنی بر iOS به خوبی اجرا شود. برای این کار لازم است تغییرات کوچکی در اندازه متن ها - آیکون ها و بعضی کد های مرتبط انجام شود تا برنامه شما قادر به اجرای صحیح در تمامی رزولوشن ها باشد!
[Only registered and activated users can see links]
- کتابخانه تصاویر: این هم چیزی مشابه کتابخانه آیپاد است. پس شما می توانید به تصاویر کاربر دسترسی پیدا کرده و از آن ها استفاده کنید. با این ویژگی هم کار های زیادی می توان انجام داد. ابزاری به نام Photo picker وجود دارد که به شما امکان می دهد تا کاربر را قادر کنید که یکی از عکس هایش را انتخاب کرده و درون برنامه باز کند و با توجه به قابلیت های برنامه ی شما بتواند تغییراتی را در تصاویر خودش ایجاد نماید. در ضمن با استفاده از این قابلیت؛ برنامه شما می تواند عکس ها را از دوربین هم لود کند.
[Only registered and activated users can see links]
- پایان بخش دوم:
بخش دوم مقاله ی آی او اس هم با موفقیت به پایان رسید. امیدواریم که از آن استفاده های مفیدی کرده باشید. نگفتم بخش آخر چون هنوز یک بخش دیگر هم در راه است که قرار است در آن به ویژگی های مدیریت داده ؛ اینترنت و کار های تحت شبکه آی او اس بپردازیم. به علاوه در آن چند زبان دیگر هم که در آی او اس کاربرد دارند را توضیح خواهیم داد.
بررسي iOS و مهارت های برنامه نویسی لازم برای آن : بخش اول ([Only registered and activated users can see links])
منابع: wikipedia.org (iOS-SDK) ([Only registered and activated users can see links])
wikipedia.org (iOS-apple) ([Only registered and activated users can see links])
wikipedia.org (Xcode) ([Only registered and activated users can see links])
developer.apple.com ([Only registered and activated users can see links])
[Only registered and activated users can see links]
([Only registered and activated users can see links])
بعد از اين که قسمت اول مقاله را خوانديد؛ اکنون نوبت به قسمت دوم آن مي رسد. براي اين که يک ياد آوري از مطلب قبل داشته باشيم. اجازه دهيد به سر فصل هاي آن اشاره مختصري داشته باشيم.
- آنچه در قسمت اول خوانديد:
در بخش اول به تاريخچه آي او اس پرداختيم و يک سري آمار و ارقام را هم از وضعيت فعلي اين سيستم عامل ارائه شد. فهميديم که سبک کار در iOS چگونه است و مولتي تسکينگ آن با چه ترفندي اجرا مي شود و چه مزايايي دارد. شايد سر فصل ها کوتاه بوده و تعدادشان کم! اما همين هم مطلب بلندي را تشکيل داد.
- آنچه در اين بخش خواهيد خواند:
سر انجام نوبت انتشار بخش دوم اين مقاله هم رسيد. در بخش دوم کمي تخصصي تر به مسائل نگاه مي کنيم و عمق بيشتري در آي او اس مي گيريم. اما باز هم مطلب به گونه اي است که هر قشري از کاربران مي توانند از آن استفاده کند.
در اين بخش اطلاعاتي را درباره کيت توسعه نرم افزاري يا SDK در اختيار شما مي گزاريم و از نقاط خلل آي او اس هم پرده برداري مي کنيم و خواهيم ديد که جيل بريک در آي او اس؛ چگونه خواهد بود و به چه مواردي کمک خواهد کرد. + چند نکته مهم ديگر! پس براي خواندن اين ها و تبديل شدن به يک آي او اس شناس حرفه اي؛ پس ما را همراهی نماييد.
-Game Center:
[Only registered and activated users can see links]
گيم سنتر، يک شبکه اجتماعي براي بازي هاي آنلاين است که توسط اپل عرضه شده. گيم سنتر به کاربران اين قابليت را مي دهد که دوستانشان را براي بازي کردن دعوت کنند و با هم يک بازي چند نفره و آنلاين ترتيب دهند. استفاده از Achievement ها هم در اين نرم افزار صورت مي گيرد. Achievement به معني "موفقيت" و به امتياز هايي گفته مي شود که پس از رد کدن يک مرحله يا شکستن يک رکورد به گيمر داده مي شود. پس در شناسايي ميزان حرفه اي بودن گيمر ها هم به ما کمک خواهد کرد! علاوه بر اين ها امکان ثبت رکورد ها هم وجود دارد.
گيم سنتر در کنفرانس معرفي iOS 4 و در 8 آپريل؛ پرده برداري شد. در ماه آگوست؛ براي برنامه نويسان ريجيستر شده ي اپل؛ يک پيشنمايش از اين نرم افزار عرضه شد و نهايتا در 8 ستامبر امسال و همراه iOS 4.1؛ در دسترس کاربران داراي آيفون 4 ؛ آيفون 3GS و آيپاد تاچ هاي نسل دوم به بالا قرار گرفت. حتما مي پرسيد: پس آيپد چه شد؟ اگر يادتان باشد در بخش اول مقاله عينا گفتيم که:(( iOS 4.2، اولين ساپورت سري چهارم آي او اس را براي آيپد به ارمغان آورد.)) گيم سنتر هم براي سري چهار آي او اس است.
ضمنا بايد عنوان کرد که گيم سنتر به طور رسمي براي iPhone 3G و iPhone؛ قابل اجرا نيست. حالا مي خواهم سرم را تکان بدهم و درحالي که به درختان مي نگرم، آرام بگويم:(( اما مي توان با يک هک به صورت غير رسمي آن را در آيفون 3G هم اجرا کرد!))
- تکنولوژي هايي که ساپورت نمي شوند!
آي او اس دوست ندارد از وبسايت هايي که از Adobe Flash يا جاوا استفاده مي کنند، پشتيباني کند. پس اين گونه وب سايت ها به طور کامل در دستگاه هاي تحت آي او اس اجرا نخواهند شد. استيو جابز در نامه سرگشاده اي، دليل استفاده نکردن از فلش را توضيح داد. او محصولات شرکت Adobe را ناامن، پر از باگ، پر مصرف و ناسازگار با اينترفيس لمسي توصيف کرد.
[Only registered and activated users can see links]
در عوض، مرورگر وب در iOS 4 اين قابليت را پيدا کرد که از تکنولوژي هاي HTML 5 پشتيباني کند. اپل اچ تي ام ال 5 را جايگزيني براي فلش مي داند. پس بدانيد که در iOS 4، مرورگر وب مي تواند از ويدئو هاي تحت HTML 5 (با Codec هاي محدود) پشتيباني کند و همچنين اين مرورگر قابليت نشان دادن گرافيک هاي دو بعدي را هم در صفحات وب مبتني بر HTML 5 دارد.
- jailbreaking:
اجازه دهيد اول اين مورد را توضيح دهيم و بعد به بحث SDK و توسعه دادن برسيم تا يکپارچه بودن مطلب از بين نرود.
جیل بریک یعنی شکستن حصار، نوعی هک است که به وسیله بعضی نرم افزار ها روی آی او اس انجام می شود تا امکاناتی را که اپل از آن ها پشتیبانی نمی کند، به آی او اس اضافه نماید. مثلا تا قبل از سال 2008 (قبل از شروع کار App Store) از جیل بريک برای نصب راحت تر اپلیکیشن هاي شخص ثالث استفاده مي کردند. اپل در آن زمان اعلام کرد که قصد ندارد آپدیت ويژه ای براي مقابله با اين اپلیکیشن ها منتشر کند. البته با هر آپديت آی او اس، جیل بريک ها سخت تر و سخت تر کار مي کردند. اما تا کنون جلوی آن ها به طور کامل گرفته نشده. (البته اپل همواره سعي کرده با اپلیکیشن هايي که به آنلاک کردن غير رسمي سیم کارت ها کمک می کنند، مقابله نمايد.)
[Only registered and activated users can see links]
از زماني که App Store و اپلیکیشن هاي شخص ثالث "رسمی" پديدار شدند؛ تمرکز جيل بریک بر روی مساله دیگری تغيير کرد. از آن زمان تا کنون اصلي ترین دليل استفاده از جیل بريک؛ فعال کردن قابلیت استفاده از تم ها و شخصی سازي بیشتر در نرم افزار هایی مثل SpringBoard (که مدیریت صفحه خانگی را بر عهده دارد) بود. علاوه بر اين در دستگاه های قديمي تر مبتني بر iOS، مثل آیفون 3G، هنوز هم امکان مولتی تسکينگ وجود ندارد. بعضي از جيل بریک ها بستری را محیا مي کنند که بتوان مولتي تسکینگ را هم در این سيستم عامل ايجاد کرد. اگر چه به کیفیت اصلي نمی رسد اما از هیچ بهتر است.
البته ناگفته نماند که بعضي جیل بريک ها اجازه می دهند که کاربر اپلیکیشن هاي پولی App Store را به طور غير قانونی (با نقض قانون کپي رایت) به اشتراک بگزارد. البته اين کار بحث ها و منازعات زيادي را بر انگیخت اما مساله این جاست که اين کار مهم ترین هدف جیل بريک نیست و به نوعی يک کار حاشيه ای و غیر قانوني است که بعضی جيل بریک ها اجازه انجام آن را می دهند.
پس در آخر مي توان گفت: هدف جیل بريک اضافه کردن امکاناتی است که دستگاه های اپل فاقد آن هستند و یا از آن پشتيباني نمی کنند.
- توسعه دادن:
اين بخش اصلي ترين و مهم ترين بخش، اين مجموعه مقالات است. پس به آن توجه بيشتري کنيد. در ضمن سعي مي کنيم به طور هر چه کامل تر آن را توضيح دهيم.
[Only registered and activated users can see links]
اول از همه بايد به نکته اي اشاره کنيم که خيلي از شما آن را مي دانيد: سيستم عامل iOS بر پايه Mac OS X است اما اپليکيشن هاي Mac، روي آن اجرا نمي شوند. پس اپليکيشن ها بايد به طور اختصاصي براي iOS نوشته و کامپايل شوند. مرورگر وب سافاري که مرورگر اصلي در آي او اس است، از وب اپليکيشن ها هم پشتيباني مي نمايد.
منظور از "وب اپليکيشن" هر وبسايتي است که خدماتی را تحت وب ارائه مي دهد. حالا چه گوگل را در نظر بگيريم چه هر وبسايت ديگري را.
اما از وب اپليکيشن ها که بگذريم، مي رسيم به اپلکيشن هاي تحت iOS که بيشترين سهم را در استفاده و کاربرد دارند. اين اپليکيشن ها اکثرا در iOS 2.0 به بالا اجرا مي شوند و مي توانيد آن ها را از App Store تهيه نماييد. در ضمن توجه کنيد: شما مي توانيد در انواع و اقسام سيستم عامل ها؛ از اپليکيشن هاي آنلاين و تحت وب ( مبتني بر پردازش ابري) استفاده کنيد. اما اپليکيشن هاي معمولي اين گونه نيستند و فقط روي يک سيستم عامل خاص اجرا مي شوند. از اين رو به اين اپليکيشن ها Native يا "بومي" مي گويند.
-توجه:
توسعه دهندگان مي توانند براي اپلیکیشن هايي که در App Store عرضه کرده اند، هر قيمتي را در نظر بگيرند. توسعه دهندگان 70 درصد سهم فروش را هم دریافت خواهند کرد. البته اگر اپليکيشن را Free انتخاب نمايند، دیگر هيچ قيمتي نخواهد داشت و "از طریق App Store" هيچ پولی از آن در نخواهند آورد.
اما بعضي از توسعه دهندگان، بعد از انتشار برنامه خود در App Store، نسبت به خط مشی پرداخت آن با مشکل رو به رو می شوند. با توجه به قرار دادي که توسعه دهندگان، بايد موقع ثبت نام با اپل ببندند؛ اگر هر کسي پولی بابت برنامه شما بدهد، 30 درصد از آن مقدار به حساب اپل واريز شده و 70 در صد آن به حساب شما ريخته خواهد شد. البته بعضی موارد نیز به صلاح ديد اپل، 30 در صد باقی مانده به مشتري باز خواهد گشت. به هر حال باید بدانيد که اپل 30 در صد از قیمت را بر مي دارد و هر کاری هم که بکنيد، باز هم 70 در صد فروش به شما خواهد رسيد!
-محتواي SDK
همانطور که در قسمت اول مقاله اشاره شد؛ آی او اس از نسخه ی تغيير یافته ي همان هسته اي استفاده مي کند که در مک هم مشاهده مي گردد. پس براي توسعه دادن نرم افزار ها روی اي او اس هم بايد مانند مک، از Xcode استفاده نمود.
[Only registered and activated users can see links]
Xcode مجموعه ای از ابزار هاست که براي توسعه دادن نرم افزار ها تحت مک او اس ايکس و آی او اس به کار برده می شود. آخرین ورژن عمده این نرم افزار، نسخه 3.2 است. این نسخه به طور رایگان همراه Mac OS X v10.6 عرضه می شود و البته از چندین راه دیگر نيز قابل تهيه کردن است. اگر Xcode را روی سيستم خود داشته باشید. مي توانید پس از نصب کیت توسعه نرم افزاري (SDK) از آن برای کامپايل و ديباگ کردن اپليکيشن های تحت iOS استفاده نماييد.
- Cocoa Touch:
حالا می خواهيم اطلاعات بیشتری در مورد اين API در اختیار شما قرار دهيم:
[Only registered and activated users can see links]
این اي پی آي؛ مجموعه ای از چند فريم ورک مختلف است که مسئوليت مدیریت رابط کاربری برنامه ها در آی او اس را بر عهده دارد. هر طيفي از کليد ها؛ کنترل ها و ... بر ظاهر برنامه و نوع ورودی، توسط این API ، در دسترس برنامه نويس قرار مي گیرد. علاوه بر کيت رابط کاربري، این API شامل موارد ديگري است که بیشتر به مديريت برنامه اختصاص دارد.
کلکسيون دیگری که Cocoa Touch براي خود جمع آوری کرده، شامل هر چيزي است که برای ساخت یک برنامه ی عمومي تحت iOS، کاملا کافي است! شما می توانيد از گرافيک های سه بعدي - صدا گزاري حرفه اي - کار هاي تحت شبکه - کنترل دوربين - مکان يابي سه بعدي با GPS و خيلي چیز هاي دیگر استفاده کنید.
اپل در مورد وسعت فریم ورک های اين API مي گويد: Cocoa Touch از فريم ورک هاي قدرتمندي بهره مي برد که تحت زبان Objective-C نوشته شده اند و به برنامه نويس امکان مي دهد که بتواند با چند خط وظيفه مورد نظر را به برنامه اعمال کند. ضمنا Cocoa Touch امکان دسترسی به دیگر اي پی آي های زير بنایی سيستم عامل را دارد که در صورت نیاز کاربر می تواند از آن ها براي دسترسی به اطلاعات سیستمی استفاده نماید.
همچنين اپل می گويد که اين Cocoa Touch از پایداري و سرعت زیادی برخوردار است. دلیل اين را هم، استفاده از زبان Objective-C در برنامه نویسی آن عنوان مي کند. علاوه بر این، اپل عقيده دارد که استفاده از Objective-C در ساخت اين API باعث شده که برنامه نویسان هم در توسعه رابط کاربري راحت تر باشند. توسعه دهندگان مي توانند از کد هاي تحت زبان C و C++ هم در اپليکيشن های خود استفاده کنند و مطمئن باشند که Cocoa Touch، به خوبی با آن ها میکس مي شود.
لازم است بدانید: برای برنامه نویسی در Cocoa Touch زبان اصلی مورد استفاده Objective-C است که همانطور که در بالا گفته شد، هم قدرتمند است و هم سریع. یکی از مزیت های دیگر این زبان توانایی لود اینترفیس در ران تایم است. به این صورت که کد های نوشته شده برای الگوریتم های پردازشی و کد های نوشته شده برای اینترفیس، در بستری جدا اجرا می شوند و به همین دلیل می توانید هنگام برنامه نویسی، در همان حال که برنامه باز است؛ در اینترفیس تغییر ایجاد نمایید که البته این هم شرایط خاص خودش را دارد. قرار نیست این شرایط را توضیح دهیم، چون اگر با Cocoa Touch کار کنید، متوجه خواهید شد. به هر حال اپل روي ران تايم Cocoa Touch مانور هاي زیادی داده است.
حالا بیایید نگاهي کلی داشته باشیم به مهمترين مواردی که Cocoa Touch از آنها پشتیبانی مي کند و این که شما به عنوان يک برنامه نويس، بايد چه کار هایی را انجام دهيد تا در حوزه رابط کاربري موفق باشيد.
- مانند هر API مشابهی، اين یکی هم آيکون ها و علامت هاي آی او اس را دربر دارد و در اختیار کاربر قرار میدهد.
- اين ای پي آي از Multi Touch پشتيباني خوب و کاملی مي نماید. شما بايد سعی کنيد که با توجه به کاربرد برنامه و نیاز کاربر، به موقع از اين ویژگی استفاده کنید تا کاربر در تعامل با برنامه ي شما خسته نشود.
- دومين ساپورت مهم، پشتیبانی از ژیروسکوپ و شتاب سنج است. ژیروسکوپ فقط در آيفون 4 وجود دارد اما شتاب سنج در تمام دستگاه های تحت iOS یافت مي شود. فرق آنها هم اين است که ژیروسکوپ در سه محور X , Y و Z حرکت را تشخیص مي دهد اما شتاب سنج، توانايي تشخيص حرکت در دو محور X , Y را دارست. این مورد هم در برنامه خود در نظر بگیرید تا تعامل بهتري با کاربر داشته باشيد. هر چند استفاده از ژيروسکوپ فقط در بازی ها کاربرد دارد اما مي توانید در موقعیت هاي مختلفی از شتاب سنج استفاده کنيد. مثلا به کاربر این امکان را بدهيد که با تکان دادن گوشی به سمت چپ، کار های خود را Undo کند و اگر پشيمان شد بتواند با تکان دادن به سمت راست کار هاي خود را Redo کند!
- ساپورت از سلسله مراتب نمايش، ديگر ویژگی Cocoa Touch است. سلسله مراتب نمایش، يعني اين که مجموعه ها و زیر مجموعه ها در نمایش ظاهر برنامه دخيل باشند! مثلا اگر دو دکمه را درون يک پنل قرار دهید و پنل را پنهان (hide) کنید، آن دو دکمه هم هايد خواهند شد. اما اگر يکي از دکمه ها را Hide نماييد، برروی پنل و دکمه دیگر تاثيري نخواهد گذاشت.
- Localization به طور خودکار توسط این API انجام مي شود. منتها باید کمي آن را مدیریت کنيد. Localization یعنی اين که بتوانيد برنامه خود را از نظر نمايش در صفحه کنترل کنيد. مثلا اين که از چه فونتي استفاده کند - در کجاي صفحه ي نمایش قرار بگیرد - قابل مينيمايز شدن (کوچک شدن) باشد - قابل مکزيمايز شدن (تمام صفحه شدن) باشد و ... البته يک استاندارد وجود دارد که Cocoa Touch هم آن را رعايت می کند. اين استاندارد مي گوید که برنامه بايد با بيشتر فونت ها و زبان هاي زنده دنيا سازگار باشد و به هم ریخته نمايش داده نشود.
- آخرين مورد هم ساپورت دوربین است. می توانيد کنترل هاي زیادی برروي دوربین داشته باشید. البته این هم بستگي به کاربرد برنامه شما دارد. بايد بدانید که Cocoa Touch تقریبا در سراسر SDK، به کار میرود. اما اين ها نکاتي بودند که اولا : در تعامل برنامه با کاربر نقش داشتند - دوما به طور مستقيم توسط Cocoa Touch کنترل می شدند.
- صدا و تصویر:
[Only registered and activated users can see links]
- مدیا پلیر: یک فریم ورک دیگر است که به اپلیکیشن های شما اجازه می دهد تا به طور آسان بتوانند؛ به پخش ویدئو بپردازند. سورس ویدئو می تواند یک فایل دربین فایل های نصب شده ی خود برنامه باشد یا از راه دور بارگزاری شود (مانند اینترنت). همچنین در این فریم ورک کنترل های کافی هم وجود دارد تا بتوانید برنامه خود را به خوبی شخصی سازی نمایید.
- پشتیبانی از استریم زنده: اين کار به برنامه نویسان اين امکان را داده که بتوانند برنامه هاي خود را قادر سازند که از سرور های دیگر، ويدئو های High Quality را به صورت استريم زنده؛ دريافت و پخش کنند. HTTP Live Streaming برای وسايل قابل حمل طراحی شده است و می تواند کیفيت ویدئو را با توجه به سرعت در دسترس در شبکه، تطبيق دهد. اما یک چيز معلوم است: این که در ايران به خاطر سرعت کم اینترنت نمی توانيد از اين ویژگی به نحو احسنت استفاده نماييد.
- فونداسيون AV یا AV Foundation: يک منبع واحد برای ضبط و پخش فایل هاي صوتی يا تصویری است. این مورد برای اپليکيشن هایی در نظر گرفته شده که نیاز دارند از ضبط یا پخش موزیک ( که در فريم ورک مديا پلیر يافت می شود) فراتر بروند. این مورد از تنظيمات پیچیده اي براي مدیریت و کنترل آيتم های چند رسانه اي پشتیبانی مي کند. مانند: ويرايش فایل هاي چند رسانه ای - ضبط و پخش فیلم - مديريت آهنگ ها - کار با صداي استریو و ...
- کتابخانه ي آیپاد: به این وسيله شما مي توانید به موزیک هاي روی آيپد- آیفون - آيپاد تاچ دسترسي داشته باشيد. اپلیکیشن هاي شما مي توانند از موزيک های کاربر برای استفاده های مختلف، بهره مند شوند. مثلا اگر يک بازی ماشين رانی ساختيد؛ ضبط ماشين ها قادر باشند که پلی ليست های کاربر را پخش کنند. پس مي توانید کار های مختلفي با کتابخانه ی آيپاد انجام دهيد.
- هسته ی صوتي و OpenAL: هسته ی صوتي یک تکنولوژي پیشرفته براي پخش، پردازش و يا ضبط صدا مي باشد. با Core Audio اپلیکیشن هاي شما مي توانند یک يا چند صدا را به طور همزمان پخش کنند؛ توانایی پخش محتوای استريم شده صوتي را داشته باشند يا حتي به ضبط صدا بپردازند. هسته صوتي، تمام فعاليت های صوتي را مديريت می کند. مثلا به طور اتوماتيک، صدا را به هدفون ها - هدست بلوتوث يا هر وسيله ی مرتبط دیگری وصل می کند. همچنين در هسته صوتي؛ دسترسی به ویبراتور تلفن هم محيا می باشد. برای مدل های پيشرفته تر؛ ای پي آی Open AL در دسترس برنامه نويس و کاربر قرار دارد. اين API می تواند وظیفه ي پخش صوت در فضای سه بعدی را بر عهده بگيرد. یعنی از سیستم Dolby Surround پشتيباني می نمايد.
- گرافیک و انیمیشن:
[Only registered and activated users can see links]
آی او اس شامل تکنولوژی های گرافیکی مختلفی است که به شما اجازه می دهند در اپلیکیشن های خود از جلوه های بسری مختلف و انیمیشن های دو بعدی یا سه بعدی استفاده کنید. همین ویژگی باعث شده که دستگاه های تحت آی او اس در تعامل با کاربر از نظر گرافیکی هم حرف های زیادی برای گفتن داشته باشند.
-هسته انیمیشن: هسته انیمیشن به شما اجازه می دهد که از یک رابط کاربری متحرک و پویا استفاده کنید و برای این کار الگوی برنامه نویسی ساده ای در اختیار شما قرار می گذارد که متکی بر ترکیب لایه های مستقل از گرافیک با یک دیگر است. انیمیشن ها با تعریف گام های کلیدی در طول مسیر ساخته می شوند. شما خواهید توانست که با همین روش تعریف کنید که: نحوه تعامل تصاویر - متن ها - گرافیک و گرافیک های سطح بالای مبتنی بر OpenGL ES، باید چگونه باشد. هسته انیمیشن هم همین تعاریف را در Runtime (زمان اجرا) به برنامه اعمال می نماید. پس هسته انیمیشن حرکت های کلیدی را شناسایی کرده و متحرک را به نرمی بین آن دو جابه جا می نماید که باعث می شود تا برنامه به صورت خودکار حالت انیمیشنی پیدا کند.
برای مثال بیایید که تصور کنیم می خواهیم بزرگ شدن انیمیشنی طول یک دکمه به اندازه 80 واحد را بسازیم. با زبان برنامه نویسی به کامپایلر می گوییم: از 1 تا 80 بشمار و به ازای هر 1 واحد جلو رفتن، طول "دکمه 1" را یک واحد افزایش بده! (زمانی که کامپایلر به عدد 80 می رسد؛ دیگر کار را ادامه نمی دهد)(نمونه ی این کار برای ویندوز را از اینجا ([Only registered and activated users can see links])دانلود کنید)
اپل مي گوید : چون انتقال دهنده های انيميشني زیادی در iOS وجود دارند، شما مي توانید يک رابط کاربری ديناميک و کاملا پویا بسازيد که به اجزاي آن به نرمی حرکت کنند و يا محو شوند و هم چنيني می توانيد افکت هاي مختلفی را به برنامه خود اضافه نمایید. آن هم فقط با چند خط از کد هاي سازگار با هسته انيميشن!
-Open GL ES: این یک API است که از Open GL که برای کامپیوتر های شخصی می باشد مشتق شده است. این نسخه ساده تر از ای پی آی مخصوص کامپیوتر ها است و برای موبایل ها؛ تبلت ها و تلفن های هوشمند کاربرد دارد. اپل سخت افزار دستگاه های iPhone - iPodTouch و iPad را به شتاب دهنده سخت افزاری برای اجرای Open GL For Embedded Systems مجهز کرده است. این API شامل سایه زن های قابل برنامه ریزی و سایر مواردی است که با استفاده از آن می توانید؛ یک برنامه یا بازی سه بعدی را اجرا نمایید.
[Only registered and activated users can see links]
- Quartz 2D: یک API قدرتمند برای گرافیک های دو بعدی می باشد که در iOS به کار گرفته شده. این API ویژگی های قدرتمندی را به برنامه نویس ارائه می دهد که از جمله آنها می توان به منهنی های Bezier ؛ ترانسفورم های پیشرفته و موارد این چنینی اشاره نمود. می توانید از Quartz 2D برای ساخت اجزای اختصاصی برای اینترفیس برنامه ی خود استفاده کنید تا سبک مخصوصی را به اپلیکیشن خود بدهید. لازم است بدانید که Quartz 2D بر پایه فرمت های تصویری پرتابل اجرا می شود و از این رو می تواند در فایل های PDF هم به کار گرفته شود. اگر با منحنی های Bezier آشنایی ندارید؛ می توانید به تصویر زیر نگاه کنید تا متوجه نحوه عملکرد آنها بشوید.
[Only registered and activated users can see links]
- استقلال رزولوشن: می دانیم که در iPhone 4؛ با به کار گرفتن نمایشگر Retina متن ها و تصاویر در هر سایزی که باشند به طور نرم و واضح دیده خواهند شد. اما در مدل های قبلی این گوشی یا در مدل های قبلی iPod Touch وضع این گونه نبود. ویژگی Resolution Independence یا "استقلال رزولوشن" کمک می کند تا بتوانید برنامه خود را با رزولوشن های مختلفی سازگار سازید تا در تمام وسایل مبتنی بر iOS به خوبی اجرا شود. برای این کار لازم است تغییرات کوچکی در اندازه متن ها - آیکون ها و بعضی کد های مرتبط انجام شود تا برنامه شما قادر به اجرای صحیح در تمامی رزولوشن ها باشد!
[Only registered and activated users can see links]
- کتابخانه تصاویر: این هم چیزی مشابه کتابخانه آیپاد است. پس شما می توانید به تصاویر کاربر دسترسی پیدا کرده و از آن ها استفاده کنید. با این ویژگی هم کار های زیادی می توان انجام داد. ابزاری به نام Photo picker وجود دارد که به شما امکان می دهد تا کاربر را قادر کنید که یکی از عکس هایش را انتخاب کرده و درون برنامه باز کند و با توجه به قابلیت های برنامه ی شما بتواند تغییراتی را در تصاویر خودش ایجاد نماید. در ضمن با استفاده از این قابلیت؛ برنامه شما می تواند عکس ها را از دوربین هم لود کند.
[Only registered and activated users can see links]
- پایان بخش دوم:
بخش دوم مقاله ی آی او اس هم با موفقیت به پایان رسید. امیدواریم که از آن استفاده های مفیدی کرده باشید. نگفتم بخش آخر چون هنوز یک بخش دیگر هم در راه است که قرار است در آن به ویژگی های مدیریت داده ؛ اینترنت و کار های تحت شبکه آی او اس بپردازیم. به علاوه در آن چند زبان دیگر هم که در آی او اس کاربرد دارند را توضیح خواهیم داد.
بررسي iOS و مهارت های برنامه نویسی لازم برای آن : بخش اول ([Only registered and activated users can see links])
منابع: wikipedia.org (iOS-SDK) ([Only registered and activated users can see links])
wikipedia.org (iOS-apple) ([Only registered and activated users can see links])
wikipedia.org (Xcode) ([Only registered and activated users can see links])
developer.apple.com ([Only registered and activated users can see links])
[Only registered and activated users can see links]
([Only registered and activated users can see links])