Статьи

Понимание экосистемы iOS

Прежде чем вы начнете создавать приложения для iOS, очень важно сначала понять экосистему. В этой статье будут рассмотрены основы операционной системы iOS, различных доступных устройств iOS и Apple App Store.


До появления Android и Windows Phone Apple была доминирующим игроком в мобильном пространстве, конкурируя только с Nokia и BlackBerry. С появлением новых мобильных платформ становится все более важным задавать себе вопрос, какая платформа лучше всего подходит для вас. Несмотря на то, что Apple в 2007 году стартовала, Android превзошла iOS по доле рынка . Что это значит для iOS? Это все еще платформа для разработки? Это точно так. Есть много веских причин для начала разработки под iOS.

  • Сильные финансовые стимулы. Люди тратят больше денег в Apple App Store, чем на любую другую мобильную платформу. Несмотря на то, что Android стал доминирующим игроком в мобильном пространстве, платформа iOS остается более прибыльной для разработчиков.
  • Walled Garden: Несмотря на то, что Apple App Store получил много критики от разработчиков и клиентов, особенно от процесса проверки Apple, ясно, что эта политика привела к созданию App Store, в котором качество среднего приложения выше, чем в любом другом мобильный магазин. Покупатели также склонны чувствовать себя намного безопаснее при покупке приложений в App Store, чем на других более открытых платформах, таких как Google Play.
  • Сообщество и поддержка. Сообщество разработчиков iOS — это отличное сообщество, в котором можно участвовать. Существует почти неограниченный запас статей, учебных пособий и документации, которые могут помочь вам, когда вы столкнетесь с проблемой. Кроме того, документация Apple по iOS SDK превосходна, не говоря уже о сотнях видео WWDC (World Wide Developer Conference), доступных каждому зарегистрированному разработчику iOS.

Люди часто забывают или не знают, что Android и iOS — это очень разные платформы. Хотя обе платформы были разработаны для мобильного пространства, экосистема iOS во многом отличается от экосистемы Google от Android. С точки зрения разработки, большинству людей легче разрабатывать для платформы iOS, чем для платформы Android. Не поймите меня неправильно, я не имею в виду технологический стек, который использует каждая платформа, и не имею в виду доступные инструменты для каждой платформы. Две причины лежат в основе пропасти между iOS и Android: фрагментация и скорость принятия .

Одной из основных сильных сторон Android является в то же время один из ее основных недостатков. Как многие из вас знают, операционная система Android выпущена как проект с открытым исходным кодом и поэтому может использоваться и модифицироваться. Многочисленные производители оборудования увидели потенциал Android, тем более что он был поддержан Google. В результате Android быстро завоевал популярность. Проблема в том, что каждый производитель оборудования модифицировал Android в соответствии со своими потребностями, и с момента появления Android появилось множество форм-факторов.

Несмотря на то, что доля Android на рынке может показаться огромной сумкой меда, создание программного обеспечения, работающего на каждой версии Android, доступной в настоящее время, является болезненной задачей. Из-за тысяч различных устройств, работающих под управлением Android, тестирование программного обеспечения на оборудовании также не является простой задачей. Как вы можете себе представить, поддержка и совместимость становятся настоящей проблемой.

Традиционно во многих странах рынок беспроводной связи находится под жестким контролем операторов сотовой связи. С самого начала Apple знала, что ей необходимо контролировать свои мобильные устройства, чтобы обеспечить наилучшее взаимодействие с пользователем. В результате клиенты могут обновить свои устройства iOS до последней версии iOS в тот же день, когда они будут опубликованы. Это главное преимущество платформы iOS, и он имеет существенный результат. Менее чем через три месяца после выпуска iOS 7 более 74% устройств iOS были обновлены до iOS 7.

Давайте сравним это с Android. В декабре 2013 года менее 55% пользователей Android обновили свои устройства до Jelly Bean (выпущено в июле 2012 года), а 1,1% — до KitKat (выпущено в октябре 2013 года).

Причина появления этих цифр не в том, чтобы принижать платформу Android или любую другую мобильную платформу. То, что я хочу подчеркнуть, — это влияние, которое уровень принятия оказывает на экосистему приложений этих платформ. Чем медленнее пользователи принимают новую версию операционной системы, тем дольше разработчики вынуждены поддерживать более старые версии операционной системы, и становится все менее привлекательным внедрять новые технологии, которые можно использовать только на некоторых устройствах Android.

Хотя Android догоняет, iOS по-прежнему является лучшей платформой с точки зрения монетизации. Во время самого последнего события Apple Тим Кук объявил, что клиенты загрузили более 60 миллиардов приложений и что Apple заплатила более 13 миллиардов долларов разработчикам iOS . В сентябре 2013 года, во время ежегодного мероприятия Apple по iPhone, Тим Кук объявил, что компания продала более 700 миллионов iOS-устройств . Если вы думаете о разработке для мобильной платформы, то iOS — отличный выбор, и финансовые стимулы для этого вряд ли изменятся в ближайшее время.


Если вы часто читаете Envato Tuts +, то, возможно, вы слышали о кроссплатформенных платформах, таких как PhoneGap или Titanium Mobile . Вы можете быть удивлены, почему вы должны пройти через изучение Objective-C, когда вы можете создавать приложения для iOS, используя JavaScript. Позвольте мне дать вам краткое изложение ваших вариантов, если вы решите разработать приложения для iOS.

  • Веб-приложения: веб-приложение — это ваш первый вариант, и фактически это был единственный вариант до появления нативного iOS SDK в 2008 году. Преимущество веб-приложений заключается в том, что им не приходится иметь дело с App Store или Apple. обзор процесса. Это почему? Веб-приложение — это причудливое название веб-сайта, которое действует и ведет себя как приложение. Все, что вам нужно, это браузер, такой как Mobile Safari или Google Chrome.
    Веб-приложения имеют явные преимущества. По умолчанию они кроссплатформенные, поскольку приложение запускается в браузере. Еще одним преимуществом является кривая обучения для создания веб-приложений. Если вы знакомы с веб-разработкой, то вы сразу же приступите к работе.
    Конечно, минусы веб-приложений тоже нельзя игнорировать. Веб-приложение имеет ограниченный доступ к возможностям устройств, на которых они работают. Мобильные веб-приложения достаточно мощны благодаря HTML5 и JavaScript. Тем не менее, существуют четкие ограничения с точки зрения того, что они могут сделать. Вы не сможете использовать все интересные функции iPad и iPhone. Кроме того, для работы веб-приложений обычно требуется сетевое подключение, хотя есть исключения из этого правила. Однако, возможно, самым большим недостатком исключительно создания веб-приложений является то, что в целом они будут работать значительно медленнее, чем нативные приложения. Отзывчивость веб-приложений постоянно улучшается, но не следует упускать из виду или игнорировать унаследованную задержку, добавленную браузером.
  • Мобильные кроссплатформенные фреймворки. Перспектива кроссплатформенных фреймворков заключается в том, что разработчики могут написать приложение, которое можно развернуть на нескольких мобильных устройствах из единой базы кода. Это достигается с помощью ряда различных подходов. Некоторые платформы, такие как PhoneGap, используют собственный SDK платформы для создания веб-представления, в которое встроено приложение. Как и в случае с веб-приложениями, это накладывает ограничения на функциональность. Основное преимущество заключается в том, что приложение ощущается как собственное приложение с точки зрения взаимодействия с пользователем и что оно может распространяться через хранилище платформы.
    Несмотря на то, что платформы мобильной разработки могут показаться святым Граалем для мобильной разработки, существует ряд недостатков, которые необходимо учитывать. Самым важным недостатком является то, что ваше приложение зависит от сторонней платформы. Другими словами, вся ваша кодовая база становится зависимой от компании, которая предоставляет кроссплатформенное решение. Если эта компания обанкротится или не спешит внедрять изменения, внесенные в собственный SDK, вы можете начать все сначала. Это риск, который нельзя игнорировать.
  • iOS SDK: выбор разработки с использованием собственного SDK — лучший выбор, если вы хотите создавать приложения, которые выделяются и в полной мере используют возможности устройства. Выбор нативного приложения также означает, что вы будете работать в надежной среде разработки и полагаться на инструменты, утилиты и поддержку Apple.

Одним из наиболее привлекательных аспектов экосистемы iOS является ее простота. Список устройств с поддержкой iOS на удивление короток по сравнению с Android или Windows Phone. Это означает, что тестирование iOS-приложений намного менее громоздко по сравнению с другими платформами.

Как указывалось ранее, Android превзошла iOS по рыночной доле, но это только часть истории. Платформа iOS обеспечивает более 50% использования Интернета на мобильных устройствах . Что это говорит нам о мобильном пространстве? Это говорит нам о том, что iOS остается самой используемой операционной системой в мобильном пространстве, по крайней мере, в сети, и это несмотря на более высокую долю рынка Android.

По сути, в экосистеме iOS есть два семейства устройств: семейство устройств iPhone, которое также включает iPod Touch, и семейство устройств iPad. Для полного обзора, я рекомендую вам взглянуть на этот список .

Основными отличиями в семействе устройств iPhone являются аппаратные возможности и размер экрана. Все модели iPhone 5, 5S, 5C и iPod Touch 5-го поколения имеют увеличенный 4-дюймовый экран, тогда как предыдущие модели оснащены более привычным 3,5-дюймовым экраном. Разница в размере экрана влияет на разработку, но она не добавляет много накладных расходов для большинства приложений. Я расскажу об этом больше по ходу сериала.

В 2012 году семейство iPad было расширено появлением iPad Mini. Несмотря на то, что появление iPad Mini вызвало волнение в технологической индустрии, оно мало влияет на разработчиков iOS. Экран iPad Mini значительно меньше, чем у 10 «iPad и iPad Air, но разрешение идентично разрешению 10» iPad. Из-за меньшего размера экрана iPad Mini средний размер сенсорных целей меньше, и это может представлять проблему для некоторых существующих приложений.

Apple традиционно выпускает новую версию своей мобильной операционной системы каждый год. На сегодняшний день Apple выпустила семь основных версий своей мобильной операционной системы, последней из которых является iOS 7. Поддержка устройств — это аспект iOS, который люди часто упускают из виду. Возьмите iPhone 4, например. IPhone 4 был выпущен в 2010 году и до сих пор поддерживает iOS 7. Нет мобильной платформы, которая бы даже подходила к этому с точки зрения поддержки устройств.

Одной из ключевых причин разработки для платформы iOS является невероятный успех App Store. Продажа программного обеспечения еще никогда не была такой простой благодаря как в App Store, так и в Mac App Store. Apple недавно объявила, что App Store превзошла рубеж в 1 миллион приложений. В App Store становится немного тесновато, но имейте в виду, что количество iOS-устройств также продолжает расти в геометрической прогрессии.

Мобильное пространство все еще находится в зачаточном состоянии, и все еще существует такой большой потенциал, который ждет своего открытия. Как и в конце девяностых годов прошлого века, мобильное пространство будет расти быстрыми темпами, и количество денег, которое можно заработать, увеличивается с каждым проданным смартфоном или планшетом.


Теперь у вас есть четкое представление об экосистеме iOS, и я надеюсь, что смог убедить вас начать разработку под iOS. В следующем посте я покажу вам, как начать работу с нативным SDK, настроив среду разработки. Вы будете удивлены, насколько это легко.

Если вы новичок в разработке для iOS или в целом для мобильных устройств, вам может быть интересно посетить нашу страницу разработки приложений в Envato Studio.