Если вы пропустили
Проектирование и прототипирование
Участники со стороны Лайв Тайпинг:
аккаунт-менеджер ;- руководитель проекта;
- мобильные и
веб-разработчики .
Процессы создания мобильных приложений и сайтов схожи в том, что:
- разработчики получают
дизайн-макет ; - у проекта есть интерфейс и серверная часть. Второе зависит от необходимости запрашивать и получать данные;
- разработчики реализуют дизайн с помощью языков программирования, фреймворков и библиотек (примечание: в мобильной разработке также применяется язык разметки XML для вёрстки; ниже об этом ничего не написано, но не упомянуть о таком аспекте нельзя).
В остальном создания приложений для мобильных устройств обладает рядом особенностей, влияющих на стоимость проекта, продолжительность разработки и пользовательские впечатления.
Типизация проектов
В разделе о разработке веб-приложений
- Требуется ли приложению сервер.
- Работает ли приложение офлайн.
- Распространяется ли приложение через AppStore или Google Play.
Если необходим сервер, то встаёт вопрос о том, есть ли API. В зависимости от ответа составляется список тактических мероприятий:
- API есть:
- создаётся слой работы с сервером;
- создаётся слой валидации полученных данных;
- создаётся слой хранения или временного хранения данных с моделями объектов по документации API.
- API нет, но планируется:
- создаётся слой зашитых данных в виде примерных ответов от сервера в формате JSON. Структуру данных мы создаём сами, если не с кем согласовывать (например, бэкендеров на проекте ещё нет, а сервер планируется в далёком будущем);
- создаётся слой валидации полученных данных;
- создаётся слой хранения или временного хранения данных с моделями объектов, соответствующих зашитым данным.
Если API нет и не планируется, то у приложения, скорее всего, одна логическая задача. К таким можно отнести таймер, калькулятор, фильтр для фотографий или набор стикеров, который не планируется расширять.
На вопрос «Работает ли приложение офлайн» предполагается два ответа:
- да. В этом случае разработка занимает больше времени. Оно уходит на создание локальной базы данных на смартфоне, которая служит для хранения данных, полученных с сервера при рабочем интернете, чтобы потом отобразить данные без интернета;
- нет. В этом случае локальной базы данных нет, поэтому создание мобильного приложения проще и дешевле.
Android или iOS?
С незначительной оговоркой можно сказать, что к 2018 году на рынке не осталось других операционных систем, кроме этих двух. Статистика за второй квартал 2017 года говорит о том, что 87,7% мобильных устройств работают на ОС Android, 12,1% устройств работают на ОС iOS и две десятых процента делят между собой
При создании приложений для мобильных устройств стоит определиться: вы хотите выпустить приложение для пользователей iOS? Или только для владельцев устройств на Android? Или и для тех, и для других? Как говорят наши англоязычные коллеги, it depends. С одной стороны, подавляющее большинство людей пользуются
Нативное или кроссплатформенное?
Мобильные приложения делятся на нативные и кроссплатформенные. Нативные опираются на ресурсы устройства и напрямую используют камеру телефона, акселерометр и другие датчики, AR — что угодно из того, что умеет телефон или планшет. Этим приложения значительно отличаются от мобильных версий сайтов.
Для разработки под мобильные у устройства нативных приложений iOS-разработчики пользуются языками
Кроссплатформенные приложения — это нативное приложение, которое внутри себя может запускать универсальный код, независимый от конкретной ОС. Такой подход позволяет сэкономить на разработке.
Их созданием обычно занимаются
Когда
Об особенностях нативных и кроссплатформенных приложений и разнице в стоимости разработки рассказал в своей статье генеральный директор Лайв Тайпинг Александр Кузнецов.
Поддержка версий операционной системы
Технологии усложняются, приложения начинают требовать большей вычислительной мощности, и вслед за этим растёт порядковый номер операционных систем — и в поддержке нуждаются самые свежие из них.
На момент написания статьи Android отдел компании поддерживает версии от 4.4 до 8.1, что покрывает 94% всех Android устройств.
С актуальными процентными соотношениями версий ОС можно ознакомиться по этой ссылке.
Поддержка старых версий iOS и Android не только ведёт к удорожанию проекта и отказу от удобных технологий, но и не имеет смысла даже с точки зрения потребительских запросов — если рассматривать технику Apple, то в феврале 2019 года iOS 12 была установлена на 80% всех мобильных устройств.
Поддержка устройств
Диапазон поддерживаемых девайсов зависит от поддержки версий ОС.
С поддержкой
Планшетная версия
Чтобы затратить минимальное время на разработку приложения для планшетов, а не создавать второе за те же деньги, мобильному разработчику и дизайнеру необходимо действовать максимально слаженно; их главная задача — создать дизайн приложения для смартфона и планшета, используя компоненты, похожие для обоих типов устройств.
Больший, относительно телефона, размер дисплея планшета даёт уникальный пользовательский опыт. Планшетная версия необходима, например, для детских приложений, игр, профессиональных инструментов для дизайнеров, врачей и звукооператоров, в логистике, приложений с интерактивными элементами и дополненной реальностью и приложений, отображающих статистику и инфографику.
В области eCommerce её уместность сомнительна. Работая над проектом ИЛЬ ДЕ БОТЭ, мы провели анализ и выяснили, что отдача от планшетной версии приложения несоизмерима с затратами на её разработку и поддержку. В итоге мы отказались от неё и сделали вывод, что онлайн-магазинам с большим оборотом будет достаточно приложения для мобильных телефонов и сайта с адаптивной вёрсткой. О том, как мы пришли к этому, рекомендуем прочесть статью генерального директора Лайв Тайпинг Александра Кузнецова.
Нужен ли бэкенд
Формально на бэкенде мобильных приложений и сайтов происходит одно и то же, но пользовательский опыт у сайтов и приложений будет отличаться.
Повторимся, что бэкенд не нужен приложению с закрытой функциональностью, не требующему получения данных. Среди таких калькулятор, набор стикеров, таймер, будильник, заметки, приложение Prisma или приложение Mandu, разработанное в Лайв Тайпинг. Не нужен сервер также для работы функций авторизации через сторонние сервисы (Google или
Отсутствие сервера упрощает разработку, но решение о том, нужен он вам или нет, доверьте сделать нашей команде.
Теперь поговорим о дисциплине внутри команды.