Платформы мобильных устройств: Android, iOS, Windows Phone. Статистика использования мобильных устройств. Установка приложений. Использование языка Java и JavaScript. Магазины приложений: AppStore и Google Play. Альтернатива магазину приложений. Понятие кроссплатформенной разработки. Фрагментация операционной системы. Процесс создания мобильного приложения. Формулировка и описание задачи.
Кроссплатформенная разработка
Если разработчики в процессе написания приложения пользуются принятым для конкретной платформы языком программирования, будь то
Преимущества нативных приложений:
Недостаток один — дороговизна разработки и поддержки, в том числе потому, что для каждой платформы надо писать свой код.
Кроссплатформенные приложения пишутся сразу для нескольких платформ на одном языке, отличном от нативного. Как такой код может работать на разных устройствах? Тут тоже есть два подхода.
Первый заключается в том, что на этапе подготовки приложения к публикации он превращается в нативный для определённой платформы с помощью транспилера. Фактически один кроссплатформенный язык программирования «переводится» на другой.
Второй — в том, что к получившемуся коду добавляется определённая обёртка, которая, работая уже на устройстве, на лету транслирует вызовы из неродного кода к родным функциям системы.
Предполагается, что большая часть такого кода может переносится между платформами — очевидно, что, например, логика совершения покупок, сохранения товара в корзину, просчёта маршрута для такси, написания сообщения в мессенджер не меняется в зависимости о того, Android у клиента или iOS. Нужно лишь доработать UI и UX для платформ, но сейчас, в определённых пределах, даже это можно объединить — например, меню-гамбургер активно используется как на Android, так и на iOS. Так что даже внесений исправления в интерфейс для того, чтобы приложение отвечало духу и букве нужной платформы — вопрос желания, необходимой скорости и качества разработки.
Преимущества:
Недостатки:
Как видите, эти два метода практически являются зеркальным отражением друг друга — то, что плюсы у нативной разработки приложений, минусы у кроссплатформенной, и наоборот.
PhoneGap
Одно из самых популярных направлений в кроссплатформенном программировании, которое часто по-народному называют PhoneGap. Фактически создаётся мобильный сайт, который «оборачивается» небольшим платформенным кодом, транслирующим вызовы от системы к приложению и обратно.