Orium Studios

Мобильное приложение или мобильный веб: что нужно на самом деле

Вопрос почти всегда звучит как «сколько стоит приложение», а решается он раньше: нужно ли оно вообще, или нужен экран, который открывается с телефона и работает.

Малому сервисному бизнесу нативное приложение в App Store чаще всего не нужно, а нужен интерфейс, который открывается с телефона, ставится на домашний экран и работает на объекте. Такое устанавливаемое веб-приложение входит в сборку системы от $2 000 и не требует ни магазина приложений, ни отдельного релиза. Нативные приложения под iOS и Android студия не выпускает, и это сказано прямо, а не спрятано в мелкий шрифт.

ЛИСТ-02Разбор

01

Что я делаю и чего не делаю

Не делаю: нативные приложения под iOS и Android, публикацию в App Store и Google Play, всё, что требует Swift, Kotlin или React Native и отдельного релизного цикла. Делаю: систему, у которой есть телефонная версия интерфейса, ставящаяся на домашний экран и открывающаяся как приложение, без адресной строки. Все три системы в проде устроены именно так: у каждой свой манифест и свой service worker, а в системе для строителя саун десктопная и телефонная раскладки собраны из разных компонентов, а не сжаты по ширине.

02

Когда нативное приложение действительно нужно

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

03

Когда достаточно устанавливаемого веб-приложения

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

04

Что это меняет по деньгам и по срокам

Нативная разработка это две кодовые базы или одна кроссплатформенная плюс релизный цикл, аккаунты разработчика в двух магазинах, ревью на каждое обновление и отдельная поддержка. Веб-версия внутри системы это часть той же сборки: обновление выкатывается тогда, когда оно готово, и в тот же час оказывается у всех. Именно поэтому телефонная часть входит в CRM от $2 000, а не считается отдельным проектом.

05

Чего это стоило на практике

Честная история вместо обещаний. В системе для автоброкера service worker однажды сломал работу с айфона: клиент открывал главную и получал ошибку, на десктопе всё было в порядке. Причина была в том, как кэш классифицировал запросы. Это разобрано и записано в документации проекта вместе с тем, по какому признаку было понятно, где искать. Мобильная версия это не галочка в списке возможностей, а вещь, которая ломается по-своему, и полезнее знать, как она ломалась, чем читать, что она работает.

ЛИСТ-03Контроль качества

Что реально работает.

Три системы в продакшене, 2116 автотестов, 399 миграций базы и 14 guard-тестов, написанных после ошибок, которые типы поймать не могли. Код и база принадлежат клиенту с первого коммита.

2116

автотестов

399

миграций базы

14

guard-тестов

3

системы в проде

ЛИСТ-04Общие примечания

Вопросы, которые задают на самом деле.

N01Ты делаешь приложения для App Store?
Нет. Нативные приложения под iOS и Android и публикацию в магазинах студия не делает. Делаю телефонную версию системы, которая ставится на домашний экран и работает как приложение. Если тебе нужен именно магазин, я скажу это сразу и не возьму проект.
N02Чем устанавливаемое веб-приложение отличается от сайта на телефоне?
Иконкой на домашнем экране, запуском без адресной строки, собственным интерфейсом под маленький экран и кэшем, который позволяет открыть уже загруженное при плохой связи. Технически это манифест и service worker, и они есть во всех трёх системах в проде.
N03Оно работает офлайн?
Частично и честно: уже загруженное открывается, новое не отправляется, пока связь не вернётся. Если тебе нужна полноценная работа офлайн на несколько часов, это довод в пользу нативного приложения, и я так и скажу.
N04А пуш-уведомления?
На Android работают, на iOS работают только для установленного на домашний экран приложения и с оговорками. Поэтому в системах, которые я собираю, срочные уведомления идут в Telegram и SMS, а не в браузерный пуш: канал, доставка которого зависит от настроек телефона, не годится для того, что обязано дойти.
N05Сколько это стоит?
Телефонная версия входит в сборку системы от $2 000 за 30-45 дней и отдельно не считается. Отдельная цена появилась бы только у нативного приложения, а его студия не делает.
N06Мне нужно приложение или сайт?
Проверь по одному признаку: кто им будет пользоваться. Если твоя бригада и твои клиенты, почти наверняка хватит веб-версии внутри системы. Если ты собираешься продвигать продукт в магазине приложений и его будут искать там, тебе нужен мобильный разработчик, а не я.