راهنمای توسعه‌دهندگان موبایل به سمت کهکشان: فصل چهارم

فصل سوم را از این جا بخوانید.

فصل چهارم: توسعه آی‌او‌اس (iOS Development)

تصویر فصل چهارم کتاب
تصویر فصل چهارم کتاب


نویسندگان: سوئن هوتاپ (Swen Hutop) و دنیس کلوگه (Dennis Kluge)

در سال 2007، اپل (Apple) آیفون (iPhone) را معرفی کرد و به طور قابل توجهی نحوه درک و تعامل ما با تلفن‌های همراه را تغییر داد. علاوه بر خود دستگاه، دو عامل دیگر سهم قابل توجهی در موفقیت آن داشتند. اولاً، سیستم‌عامل جدید آی‌او‌اس (iOS)، که به طور رادیکال برای تعامل مبتنی بر ژست (gesture-based interaction) طراحی شده بود و اطمینان حاصل می‌کرد که سخت‌افزار و نرم‌افزار به طور یکپارچه با هم ادغام می‌شوند. ثانیاً، اپ استور (App Store) پلتفرم را باز کرد و امکان نصب برنامه‌های شخص ثالث (third-party apps) را ایجاد کرد که منجر به بازاری پر رونق شد که انتخاب عظیمی را در اختیار کاربران قرار می‌دهد.

با گذشت زمان، سیستم‌عامل اصلی گوشی هوشمند از یک اکوسیستم زمانی بسته، تحول شدیدی را پشت سر گذاشته است. اکنون شامل چندین شکل است: آی‌او‌اس برای گوشی‌های هوشمند، آی‌پداواس (iPadOS) برای تبلت‌ها، واچ‌اواس (watchOS) برای ساعت‌های هوشمند و تی‌وی‌اواس (tvOS) برای تلویزیون‌ها. همه مشتقات از همان پایه فنی استفاده می‌کنند و عناصر خاصی را برای ایجاد برنامه‌ها ارائه می‌دهند. این برنامه‌ها با استفاده از اکس‌کد (Xcode) به عنوان محیط توسعه (development environment) توسعه می‌یابند.

هنگام مقایسه آی‌او‌اس با اندروید (Android)، یکی از مزایای کلیدی آن عدم پراکندگی (fragmentation) در مقایسه با اندروید است: ده ماه پس از انتشار آی‌او‌اس 12، قبلاً روی بیش از 80 درصد دستگاه‌ها نصب شده بود. در مقایسه، نسخه 9 اندروید تنها در عرض یک سال کامل پس از انتشار به 10 درصد رسید. نه تنها نسخه‌های آی‌او‌اس اساساً سریع‌تر پخش می‌شوند، بلکه طول عمر آیفون‌ها نیز شگفت‌انگیز است. دوره به‌روزرسانی حدود چهار سال است: حتی آیفون 6s که اولین بار در سال 2015 با آی‌او‌اس 9 عرضه شد، هنوز هم می‌تواند به آی‌او‌اس 13 به‌روز شود.

جنبه دیگری که اپل اهمیت زیادی به آن می‌دهد، امنیت و حریم خصوصی است. به عنوان مثال، در آی‌او‌اس 13، می‌توانید از اپل آیدی (Apple ID) شخصی خود برای ورود ایمن به وب‌سایت‌ها استفاده کنید، همانطور که با لاگین فیسبوک (Facebook login) نیز ممکن است. تفاوت قابل توجه در اینجا این است که فقط داده‌های تولید شده به صورت تصادفی در اختیار برنامه‌ها قرار می‌گیرد.

توسعه برنامه‌های آی‌او‌اس

اول از همه، برای توسعه برنامه‌های آی‌او‌اس، به رایانه‌ای نیاز دارید که مک‌اواس (macOS) را اجرا کند. اپل دسترسی به ابزارهای توسعه خود را محدود می‌کند، زیرا این ابزارها فقط در پلتفرم آن قابل استفاده هستند. قبل از شروع کدنویسی، لازم است یک اپل آیدی و یک حساب توسعه‌دهنده ایجاد کنید. اگر قصد انتشار برنامه یا تحویل آن به گروه تست بتا (beta test group) را دارید، باید در برنامه توسعه‌دهندگان اپل (Apple Developer Program)⁴ مشترک شوید. هزینه‌های سالانه 99 دلار است.

معماری سیستم‌عامل آی‌او‌اس در لایه‌های مختلفی (برای نمونه به این لینک مراجعه کنید) ساخته شده است. با Core OS شروع می‌شود که دسترسی به سخت‌افزار، حسگرها و غیره را مدیریت می‌کند. Core Service و Media لایه‌های میانی هستند که به عنوان مثال تصاویر، ویدئو و صدا را مدیریت می‌کنند. و در نهایت Cocoa Touch، که چارچوب اصلی مورد استفاده توسعه‌دهندگان است. این لایه ایجاد رابط کاربری (UI creation)، ورودی لمسی (Touch Input) و غیره را مدیریت می‌کند. هر لایه انتزاع خاصی را اضافه می‌کند که مدیریت منطق زیربنایی را بسیار آسان‌تر می‌کند.

انتخاب ابزار مناسب برای توسعه نسبتاً آسان است. با اکس‌کد، اپل یک محیط توسعه یکپارچه (Integrated Development Environment - IDE) رایگان ارائه می‌دهد که به شما امکان می‌دهد برنامه خود را ایجاد، آزمایش و توزیع کنید. اگر به دنبال جایگزینی هستید، توصیه می‌کنیم نگاهی به اَپ‌کُد (AppCode) جت‌برینز (JetBrain's AppCode) بیندازید.

اکس‌کد به شما امکان می‌دهد به راحتی یک پروژه جدید ایجاد کنید؛ چندین الگو (templates) برای برنامه‌های آی‌او‌اس، آی‌پداواس و واچ‌اواس در دسترس هستند. پس از انتخاب هدف خود، باید یک شناسه برنامه (App ID) ارائه دهید. این شناسه منحصر به فرد برای تمایز برنامه شما از دیگران استفاده می‌شود. می‌توان آن را از طریق پورتال توسعه‌دهندگان اپل (Apple Developer Portal) ایجاد کرد. علاوه بر این، لازم است کلیدهایی برای امضای برنامه خود ایجاد کنید. این فرآیند اطمینان حاصل می‌کند که برنامه از شما، به عنوان یک توسعه‌دهنده تأیید شده، نشأت گرفته است. امروزه اکس‌کد کل این رویه امضا کردن (signing procedure) را به طور خودکار مدیریت می‌کند.

زبان اصلی برنامه‌نویسی برنامه، سوئیفت (Swift) است. این یک زبان چند پارادایمی (multi-paradigm language) نسبتاً جدید است که در سال 2014 توسط اپل منتشر شد و در سال‌های اخیر کشش زیادی ایجاد کرده است. سلف آن آبجکتیو-سی (Objective-C) بود، یک تفسیر شیءگرا (object-oriented) از زبان C.

الگوی اصلی مورد استفاده برای توسعه MVC – Model View Controller است. با این حال، رویکردهای متفاوتی مانند MVVM (Model-View-ViewModel) یا حتی برنامه‌نویسی واکنشی (reactive programming) امکان‌پذیر است. دومی پس از انتشار SwiftUI و چارچوب Combine توسط اپل، کشش بیشتری پیدا کرد. هر دو در یک زیرفصل بیشتر توضیح داده شده‌اند.

بسیاری از برنامه‌های آی‌او‌اس به خاطر رابط‌های کاربری تمیز و زیبایشان شناخته شده‌اند. این‌ها را می‌توان با استفاده از اینترفیس بیلدر (Interface Builder) توسعه داد، ابزاری که توسط اکس‌کد ارائه شده و به شما امکان می‌دهد نمای (view) خود را به صورت تعاملی پیکربندی کنید. راه دیگر، اعلان رابط کاربری در کد سوئیفت شما است. هر دو روش اثبات شده و کافی هستند. دستورالعمل‌های رابط انسانی (Human Interface Guidelines) اپل قوانین و استانداردهایی را برای برنامه‌ها و رابط‌های کاربری آنها ارائه می‌دهد. خواندن آن، به خصوص برای مبتدیان، ارزشمند است.

یک پلتفرم عظیم مانند آی‌او‌اس مزیت یک اکوسیستم توسعه‌دهنده بزرگ را به همراه دارد. بسیاری از کتابخانه‌ها منبع باز هستند و می‌توانند در برنامه شما ادغام شوند. کوکوپادز (Cocoapods) ابزاری است که به شما امکان می‌دهد کد شخص ثالث را در پروژه آی‌او‌اس خود ادغام کنید. به عنوان مثال، اگر نیاز به اضافه کردن Instagram API در برنامه جدید خود دارید، یک پاد (pod) برای آن وجود دارد.

برنامه‌ها را می‌توان روی دستگاه آیفون یا از طریق شبیه‌ساز (simulator) آزمایش کرد. اکس‌کد ابزاری را ارائه می‌دهد که به شما امکان می‌دهد کد آی‌او‌اس خود را روی مک‌اواس اجرا کنید. شما قادر به انتخاب بین نسخه‌های مختلف سیستم‌عامل و انواع دستگاه هستید. این به طور کامل جایگزین آزمایش روی خود دستگاه نمی‌شود، اما یک گردش کار راحت را فراهم می‌کند. به خصوص زمان انتظار را کاهش می‌دهد زیرا اکس‌کد باید هر بار که می‌خواهید پس از ایجاد تغییر، آزمایشی را شروع کنید، برنامه را کامپایل و بسته‌بندی کند.

جنبه‌های زیادی وجود دارد که باید در حین توسعه یک برنامه پوشش داده شوند. این شامل مواردی مانند تست واحد (unit testing) و اندازه‌گیری عملکرد (performance measuring) است. با XCTest و Profiler، اپل ابزارهایی را ارائه می‌دهد که قبلاً این جنبه‌ها را پوشش داده‌اند.

ما یک زیرفصل کامل را به جنبه‌های توزیع و کسب درآمد اختصاص داده‌ایم، زیرا راه‌ها و روش‌های مختلف زیادی وجود دارد. درک این نکته مهم است که برخی محدودیت‌ها و دستورالعمل‌های روشنی وجود دارد.

شروع توسعه آی‌او‌اس با برخی موانع ورودی همراه است. اینها شامل دانش سوئیفت و مقداری درک کلی در مورد نحوه توسعه برنامه‌های رابط کاربری است. خوشبختانه، طیف گسترده‌ای از منابع باز قبلاً وجود دارد. اینها در بخش دیگری پوشش داده شده‌اند. ارزش تلاش برای تبدیل شدن به بخشی از یکی از جالب‌ترین بازارهای امروز را دارد.

آی‌پداواس (iPadOS)

با اولین نسخه آی‌پداواس، که در پاییز 2019 به صورت عمومی منتشر شد، تبلت اپل نوع سیستم‌عامل بسیار خاص خود را دریافت کرد - که قبلاً همان سیستم‌عامل دستگاه‌های آیفون را اجرا می‌کرد. با آی‌پداواس، اپل موفق شده است به آی‌پد (iPad) اجازه دهد تا جهش بزرگی در زمینه استفاده حرفه‌ای داشته باشد. اول و مهمتر از همه، گزینه‌های چندوظیفگی (multitasking) به شدت گسترش یافته‌اند. علاوه بر تصویر در تصویر (Picture-in-Picture) و نمای تقسیم‌شده (Split View)، قابلیت Slide Over همچنین امکان جابجایی بسیار سریع بین برنامه‌ها را فراهم می‌کند. یکی دیگر از ویژگی‌های مورد انتظار طولانی مدت، گزینه دسترسی مستقیم به هارد دیسک‌های USB و کارت‌های SD متصل از طریق برنامه بومی فایل‌ها (Files app) است.

سایر ویژگی‌های جدید مهم آی‌پداواس 13 عبارتند از:

چند پنجره‌ای (Multiple Windows)

پشتیبانی از چند پنجره برای آی‌پدها امکان باز کردن همزمان چندین پنجره از یک برنامه را در آی‌پد معرفی کرد. به عنوان مثال، می‌توانید به سادگی نماد برنامه‌ای را از داک (dock) به کنار صفحه منتقل کنید تا پنجره‌های موجود را انتخاب کنید یا یک پنجره جدید باز کنید. سیستم دو نوع پنجره مختلف ارائه می‌دهد: پنجره اصلی (primary window)، که می‌تواند شامل چندین شیء برنامه باشد و توسط کاربران در یک دوره طولانی‌تر استفاده می‌شود. و ثانیاً، پنجره کمکی (auxiliary window). این فقط می‌تواند شامل یک شیء واحد از یک برنامه باشد. معمولاً، فقط برای انجام یک عمل واحد قبل از بستن پنجره کمکی استفاده می‌شود. به عنوان مثال، در برنامه ایمیل (Mail app)، پنجره اصلی می‌تواند برای نمایش صندوق ورودی استفاده شود، در حالی که پنجره کمکی فقط برای نوشتن یک ایمیل استفاده می‌شود.

کشیدن و رها کردن (Drag & Drop)

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

برنامه مبدأ و مقصد برای داده‌هایی که باید جابجا شوند به صورت موازی اجرا می‌شوند و متوقف نمی‌شوند، به طوری که می‌توانید به استفاده از آنها ادامه دهید. همچنین می‌توانید داک را فراخوانی کرده و برنامه دیگری را در نمای تقسیم‌شده باز کنید.

از دیدگاه توسعه‌دهندگان، امکان توسعه/طراحی برنامه در اینجا وجود دارد به طوری که کاربر به طور متوالی آیتم‌های کشیدن (Drag Items)، یعنی چیزهایی که می‌خواهد جابجا کند، را اضافه کند. سپس برنامه مقصد می‌تواند این آیتم‌ها را بپذیرد و ذخیره کند.

نماهای متنی (Text views) و فیلدهای متنی (text fields) به طور خودکار از کشیدن و رها کردن پشتیبانی می‌کنند. نماهای مجموعه (Collection views) و جدول (table views) متدها و ویژگی‌های خاصی را برای انجام این کار ارائه می‌دهند. برای نماهای متنی، یک API ارائه شده است که امکان تنظیم رفتار کشیدن و رها کردن برای نماها را فراهم می‌کند. علاوه بر این، هر عنصر رابط کاربری سفارشی را می‌توان به منظور پشتیبانی از کشیدن و رها کردن پیکربندی کرد. یکی از نکات کلیدی این است که توسعه‌دهندگان نیازی به نگرانی در مورد امنیت انتقال داده‌ها بین دو برنامه ندارند، زیرا آی‌پداواس امنیت را در این زمینه پوشش می‌دهد.

سوئیفت‌یوآی (SwiftUI)

اپل سوئیفت‌یوآی را در کنفرانس سالانه توسعه‌دهندگان جهانی (WWDC - Worldwide Developers Conference) خود در سال 2019 معرفی کرد. این نشان‌دهنده رویکرد جدیدی برای توسعه رابط‌های کاربری برای همه پلتفرم‌های اپل است. در نتیجه، اکنون امکان توسعه رابط‌های کاربری سوئیفت‌یوآی برای واچ‌اواس و بنابراین برای کوچکترین نمایشگر اپل، تا تی‌وی‌اواس برای نمایشگرهای بزرگ تلویزیون وجود دارد.

بنابراین، سوئیفت‌یوآی از یک سینتکس اعلانی (declarative syntax) استفاده می‌کند. این بدان معنی است که به توصیف آنچه پس از ورودی‌ها اتفاق می‌افتد و نحوه پاسخگویی رابط کاربری به این اقدامات کمک می‌کند. این کار کد نوشته شده را ساده می‌کند، درک را تسهیل می‌بخشد و خوانایی را افزایش می‌دهد. حتی انیمیشن‌ها نیز بسیار آسان‌تر در سوئیفت‌یوآی ادغام می‌شوند.

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

کاتالیست (Catalyst)

بازار پررونق دستگاه‌های تلفن همراه منجر به کاهش محبوبیت سیستم‌عامل دسکتاپ مک‌اواس اپل برای توسعه‌دهندگان شده است. در همان زمان، پایه فنی برای توسعه برنامه‌ها در پلتفرم‌های تلفن همراه و دسکتاپ به طور فزاینده‌ای از هم دور شده است. عامل تعیین کننده موفقیت آی‌او‌اس، یوآی‌کیت (UIKit) بوده است. این فناوری پایه و اساس تجربه رابط کاربری را که از اپل انتظار داریم، نشان می‌دهد. از سوی دیگر، برنامه‌های مک‌اواس هنوز بر اساس سلف یوآی‌کیت یعنی اَپ‌کیت (AppKit) هستند. این بدان معنی است که برنامه‌های آی‌او‌اس فقط با تلاش زیاد می‌توانستند به محیط دسکتاپ منتقل شوند. همه اینها منجر به کاهش محبوبیت مک‌اواس در بین توسعه‌دهندگان شده است.

در طول WWDC در سال 2019، اپل برنامه اقدام خود را برای رسیدگی به این موضوع اعلام کرد: پروژه کاتالیست اکنون پلتفرم‌های تلفن همراه و دسکتاپ را متحد می‌کند. قرار است کاتالیست پورت کردن برنامه‌های آی‌پداواس به مک‌اواس را با تطبیق رابط کاربری و تفسیر ورودی‌ها آسان کند. به عنوان مثال، ژست‌های لمسی به طور خودکار به تعاملات ماوس ترجمه می‌شوند.

به عنوان یک سرمایه‌گذاری در پلتفرم موبایل اپل، این بدان معناست که بازارها و هم‌افزایی‌های جدید با تلاش اضافی کمی ایجاد می‌شوند. ایجاد یک برنامه آی‌پد، به طور خودکار به این معنی است که یک برنامه مک‌اواس نیز می‌تواند ایجاد شود. همچنین به این معنی است که می‌توان گروه‌های هدف جدیدی را مورد خطاب قرار داد و کانال‌های کسب درآمد متفاوتی را باز کرد.

واچ‌اواس (watchOS)

واچ‌اواس همراه با اپل واچ در آوریل 2015 ارائه شد و مشتقی از آی‌او‌اس است که به ویژه برای این دستگاه طراحی شده است. الگوهای تعامل کاربر و کل رابط کاربری با صفحه نمایش کوچک سازگار شده است که امکان تعامل چند انگشتی را نمی‌دهد. به همین دلیل است که اپل ساعت را به یک تاج دیجیتال (digital crown) و یک دکمه کناری (side button) نیز مجهز کرده است. تاج به کاربران امکان می‌دهد در برنامه‌ها پیمایش و بزرگنمایی کنند. دکمه کناری به عنوان نوعی دکمه هوم (home button) اصلاح شده که از آیفون و آی‌پد شناخته شده است، عمل می‌کند.

قلب رابط کاربری را صفحه‌های ساعت تعاملی (interactive dials) تشکیل می‌دهند. علاوه بر نشان دادن زمان، آنها همچنین اطلاعات یا گزینه‌های تعاملی مورد نظر کاربر را نمایش می‌دهند. این پیچیدگی‌ها (Complications) امکان دسترسی به برنامه‌ها یا نمایش داده‌ها را فراهم می‌کنند.

اپل انواع مختلفی از صفحه‌های ساعت را ارائه می‌دهد. اینها از نمایش‌های مینیمالیستی تا تفسیرهای ساعت آنالوگ را شامل می‌شوند.

اکوسیستم به کاربران امکان می‌دهد برنامه‌های شخص ثالث را نصب کنند. با این حال، تا واچ‌اواس 5، اینها با یک برنامه آی‌او‌اس برای آیفون همراه بودند. دلیل این امر این بود که بخش‌هایی از منطق روی گوشی هوشمند اجرا می‌شد. آیفون همچنین اتصال اینترنت را برای نسل‌های اول ساعت فراهم می‌کرد. از آی‌او‌اس 13، اپل اجازه برنامه‌های مستقل اپل واچ را می‌دهد. واچ‌اواس 6 یک اپ استور جداگانه برای این منظور معرفی کرد. این بدان معنی است که اپل واچ اکنون می‌تواند به عنوان یک دستگاه مستقل و خودکفا در نظر گرفته شود.

برنامه‌های واچ را می‌توان با استفاده از زیرساخت توسعه ارائه شده توسط اپل ایجاد کرد. یک شبیه‌ساز ویژه در اکس‌کد برای این منظور وجود دارد. علاوه بر این، واچ‌کیت (WatchKit) به عنوان یک چارچوب (framework) ارائه شده است. از جمله موارد دیگر، دسترسی به حسگرها، ارسال اعلان‌ها و بسیاری موارد دیگر را فراهم می‌کند. چارچوب رابط کاربری آی‌او‌اس یوآی‌کیت (UIKit) نیز در ساعت موجود است.

اپل به تکامل پلتفرم ساعت هوشمند خود با به‌روزرسانی‌های سالانه ادامه می‌دهد. خودکفایی روزافزون اپل واچ و تمرکز آن بر سلامت، بازار بزرگی ایجاد کرده است. اپل هیچ آمار فروشی را اعلام نمی‌کند اما این محبوب‌ترین ساعت است و اپل حتی امروزه از رولکس (Rolex) در این بخش از بازار پیشی گرفته است.

توزیع، اپ استور و کسب درآمد

توزیع برنامه‌های آی‌او‌اس منحصراً از طریق اپ استور اپل انجام می‌شود. کاربران در حال حاضر سالانه تقریباً 120 میلیارد دلار برای برنامه‌های آی‌او‌اس هزینه می‌کنند. با این حال، دوران تب طلا (gold rush mode) روزهای اولیه به دلیل رقابت گسترده به پایان رسیده است: در حال حاضر بیش از 2 میلیون برنامه مختلف برای دستگاه‌های آی‌او‌اس در دسترس است.

آپلود برنامه‌ها در اپ استور نیاز به عضویت در برنامه توسعه‌دهندگان اپل دارد. دو مدل مختلف در اینجا وجود دارد. برنامه توسعه‌دهندگان اپل، توزیع برنامه‌ها را در اپ استور آی‌او‌اس برای مخاطبان عمومی تسهیل می‌کند. با برنامه سازمانی (Enterprise Program)، اپل همچنین امکان توزیع برنامه‌ها را فقط برای یک پایگاه کاربر اختصاصی ارائه می‌دهد. این به ویژه برای شرکت‌هایی مهم است که می‌خواهند ابزارهایی را برای استفاده داخلی، فقط برای کارمندان خود، ارائه دهند.

اپل بر کنترل دقیق محتوا و عملکرد هر برنامه‌ای که به فروشگاه ارسال می‌شود، اصرار دارد. آنها تمام ارسال‌های برنامه را بررسی می‌کنند تا خطر ارائه بدافزار (malware) به کاربران خود را کاهش دهند. برای شما به عنوان یک توسعه‌دهنده، این بدان معناست که باید دستورالعمل‌های بررسی اپ استور (App Store Review Guidelines) را به دقت بخوانید تا از رد شدن جلوگیری کنید. و آماده باشید کمی صبر کنید تا برنامه شما در دسترس کاربران قرار گیرد، زیرا فرآیند بررسی ممکن است مدتی طول بکشد. تأخیر حداقل 24 ساعته باید در نظر گرفته شود. اپل فرآیند جداگانه‌ای برای موارد اضطراری و اشکالات جدی ارائه می‌دهد.

با کمک تست‌فلایت (TestFlight)، برنامه‌ها و به‌روزرسانی‌ها می‌توانند قبل از انتشار آزمایش شوند. تا 10000 آزمایش‌کننده را می‌توان دعوت کرد که می‌توانند به طور مستقل از اپ استور از برنامه استفاده کنند. با این حال، اپل هنوز این نسخه‌های آزمایشی را قبل از توزیع بررسی می‌کند.

کسب درآمد مستقیم از برنامه‌های آی‌او‌اس اساساً بر اساس سه مدل مختلف است: خرید یک‌باره (one-time purchase)، خرید درون‌برنامه‌ای (in-app purchase) و اشتراک‌ها (subscriptions). برای کسب اطلاعات بیشتر در مورد این گزینه‌ها (و سایر استراتژی‌ها)، حتماً فصل کسب درآمد را در این کتاب بخوانید.

در سال‌های اخیر، اپل به طور فزاینده‌ای به استفاده از اشتراک‌ها روی آورده است. در اینجا، کاربران می‌توانند در برنامه یا خدمات درون برنامه مشترک شوند. اپل 30 درصد از فروش را به عنوان کارمزد برای همه این مدل‌های کسب درآمد نگه می‌دارد. این میزان برای اشتراک‌هایی که بیش از 12 ماه طول می‌کشند به 15 درصد کاهش می‌یابد.

در سپتامبر 2019، اپل یک مدل کسب درآمد جدید، شبیه نتفلیکس، به ویژه برای بازی‌ها راه‌اندازی کرد. اپل آرکید (Apple Arcade) اشتراک ماهانه‌ای را ارائه می‌دهد که دسترسی انحصاری به بازی‌های منتخب را فراهم می‌کند.

بیشتر بیاموزید

مزیت یک پلتفرم بالغ مانند آی‌او‌اس، مستندات سخاوتمندانه و مجموعه منابع آن است. تعدادی وب‌سایت عالی در اینترنت برای یادگیری توسعه آی‌او‌اس وجود دارد.

  • سایت Developer.Apple.com: شامل مرجع کامل و راهنماهای برنامه‌نویسی برای توسعه‌دهندگان برای یادگیری نحوه توسعه برنامه‌های آی‌او‌اس و مرجع کلاس تمام کلاس‌ها در چارچوب‌های عمومی آنها است. وب‌سایت کتابخانه بر اساس انواع منابع، موضوعات و چارچوب‌ها به علاوه توانایی جستجو سازماندهی شده است. یک سند مهم که باید قبل از طراحی اولین برنامه خود بخوانید، دستورالعمل‌های رابط انسانی آی‌او‌اس است. این شامل توصیه‌های مفیدی در مورد نحوه طراحی برنامه‌ها برای اطمینان از تجربه کاربری مثبت است.
  • سایت Swift.org: خانه رسمی جامعه سوئیفت.
  • سایت RayWenderlich.com: به یک سایت ضروری برای آموزش‌های رایگان آی‌او‌اس تبدیل شده است که توسط جامعه توسعه‌دهندگان او نوشته شده است با این هدف که "جالب‌ترین و چالش‌برانگیزترین موضوعات را انتخاب کرده و آنها را برای همه آسان کند تا یاد بگیرند - تا همه ما بتوانیم برنامه‌های شگفت‌انگیزی بسازیم." این سایت به ارائه کتاب‌های برنامه‌نویسی و آموزش‌های ویدئویی (با عضویت پولی) گسترش یافته است. در پادکست هفتگی آنها برای آخرین اخبار مرتبط با توسعه‌دهندگان و مصاحبه با رهبران جامعه توسعه‌دهندگان آی‌او‌اس مشترک شوید.
  • سایت iOSDevWeekly.com: یک جمع‌بندی هفتگی از بهترین پیوندهای توسعه آی‌او‌اس. دیو وِرور (Dave Verwer) این سایت را اداره می‌کند و آنها یک خبرنامه ایمیل هفتگی را هر جمعه منتشر می‌کنند.
  • سایت Merowing.info: وبلاگی از توسعه‌دهنده/مربی/سخنران، کریستوف زابلوکی (Krzysztof Zablocki) که آموزش‌ها و بینش‌هایی را در مورد توسعه آی‌او‌اس از تجربه خود به عنوان مشاور ارائه می‌دهد. او همچنین در جامعه منبع باز فعال است و ابزارها و کتابخانه‌هایی را برای توسعه‌دهندگان آی‌او‌اس ایجاد می‌کند.
  • سایت AshFurrow.com: یکی دیگر از وبلاگ‌نویسان/توسعه‌دهندگان محبوب آی‌او‌اس که با افتخار بیان می‌کند که هدف وبلاگ او "کاوش در نقاط دردناک آی‌او‌اس" است. او چندین کتاب توسعه آی‌او‌اس تألیف کرده است، سخنران فعالی است و در جامعه منبع باز مشارکت دارد.
  • خبرنامه This Week in Swift: یک خبرنامه هفتگی شامل جالب‌ترین اخبار، پیشرفت‌ها، آموزش‌ها و نکات کلی مرتبط با سوئیفت مربوط به توسعه آی‌او‌اس.

خلاصه و چشم‌انداز

از زمان انتشار اولیه آن در سال 2007، آی‌او‌اس از بسیاری جهات تغییر کرده و متنوع شده است. آی‌او‌اس که در ابتدا به عنوان یک سیستم‌عامل خالص گوشی هوشمند تأسیس شد، امروزه روی تبلت‌ها، ساعت‌ها و حتی تلویزیون‌ها اجرا می‌شود. فراتر از آن، توسعه نشان می‌دهد که اپل به طور فزاینده‌ای می‌خواهد آی‌او‌اس را به عنوان یک جایگزین کامل برای دسکتاپ تثبیت کند. دقیقاً، این با ایده آی‌پداواس تقویت می‌شود.

علاوه بر این، تمرکز بر سطوح تعامل جایگزین در حال گسترش است. به عنوان مثال، سرمایه‌گذاری‌هایی در سیری (Siri) و ادغام رابط‌های کاربری صوتی (voice UIs) در برنامه‌ها انجام می‌شود. علاوه بر این، با ARKit، تمرکز بر برنامه‌های واقعیت افزوده (augmented reality applications) قابل مشاهده است. این فضا را برای گمانه‌زنی در مورد مشتقی از آی‌او‌اس برای عینک‌های واقعیت افزوده (AR glasses)، دستگاه‌های جدید اپل و بازارهای جدیدی که باز می‌شوند، ایجاد می‌کند.

آخرین اما نه کم‌اهمیت‌ترین، واضح است که اپل به طور فزاینده‌ای یادگیری ماشین را مستقیماً در دستگاه‌های خود ادغام می‌کند. CoreML به توسعه‌دهندگان امکان می‌دهد به راحتی راه‌حل‌های هوش مصنوعی (AI) خود را پیاده‌سازی کنند.

آی‌او‌اس یک پلتفرم حیاتی و فعال با یک اکوسیستم بالغ است. به این مهمانی بپیوندید.

فصل پنجم را از این جا بخوانید.