Мобильное приложение или мобильный веб: что нужно на самом деле
Вопрос почти всегда звучит как «сколько стоит приложение», а решается он раньше: нужно ли оно вообще, или нужен экран, который открывается с телефона и работает.
Малому сервисному бизнесу нативное приложение в App Store чаще всего не нужно, а нужен интерфейс, который открывается с телефона, ставится на домашний экран и работает на объекте. Такое устанавливаемое веб-приложение входит в сборку системы от $2 000 и не требует ни магазина приложений, ни отдельного релиза. Нативные приложения под iOS и Android студия не выпускает, и это сказано прямо, а не спрятано в мелкий шрифт.
ЛИСТ-02Разбор
Что я делаю и чего не делаю
Не делаю: нативные приложения под iOS и Android, публикацию в App Store и Google Play, всё, что требует Swift, Kotlin или React Native и отдельного релизного цикла. Делаю: систему, у которой есть телефонная версия интерфейса, ставящаяся на домашний экран и открывающаяся как приложение, без адресной строки. Все три системы в проде устроены именно так: у каждой свой манифест и свой service worker, а в системе для строителя саун десктопная и телефонная раскладки собраны из разных компонентов, а не сжаты по ширине.
Когда нативное приложение действительно нужно
Когда нужны пуш-уведомления, которые обязаны дойти, даже если приложение закрыто, и веб-версия на iOS этого не гарантирует. Когда нужна работа офлайн часами, а не минутами. Когда нужен доступ к железу: Bluetooth-оборудование, постоянная геолокация в фоне, сканер, работающий как часть операционной системы. Когда приложение это сам продукт и его будут искать в магазине. Если хоть один из этих пунктов про тебя, тебе нужен подрядчик по мобильной разработке, и я скажу это на аудите, а не после оплаты.
Когда достаточно устанавливаемого веб-приложения
Когда телефоном пользуется твоя бригада и твои клиенты, а не рынок. Мастер на объекте открывает сегодняшние работы, отмечает выполненное, снимает фото до и после. Клиент открывает ссылку из SMS и смотрит, на каком этапе его проект. Владелец смотрит цифры за день. Всё это делается в браузере, ставится на домашний экран одним нажатием и обновляется без похода в магазин приложений и без ожидания ревью.
Что это меняет по деньгам и по срокам
Нативная разработка это две кодовые базы или одна кроссплатформенная плюс релизный цикл, аккаунты разработчика в двух магазинах, ревью на каждое обновление и отдельная поддержка. Веб-версия внутри системы это часть той же сборки: обновление выкатывается тогда, когда оно готово, и в тот же час оказывается у всех. Именно поэтому телефонная часть входит в CRM от $2 000, а не считается отдельным проектом.
Чего это стоило на практике
Честная история вместо обещаний. В системе для автоброкера 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Мне нужно приложение или сайт?
- Проверь по одному признаку: кто им будет пользоваться. Если твоя бригада и твои клиенты, почти наверняка хватит веб-версии внутри системы. Если ты собираешься продвигать продукт в магазине приложений и его будут искать там, тебе нужен мобильный разработчик, а не я.
ЛИСТ-05Дальше
Своя CRM вместо аренды чужой
Система, собранная под то, как реально работает твой бизнес, а не логин, под который бизнес подгоняют.
Автоматизация бизнеса: что автоматизировать первым
Автоматизировать надо не всё сразу, а в том порядке, в котором это возвращает деньги. Порядок почти всегда один и тот же, и он не начинается с отчётов.
CRM и автоматизация для русскоязычного бизнеса в США
Ты объясняешь, как реально считаешь работу, на своём языке. Я собираю систему, которая это умеет. Между этими двумя вещами обычно стоит переводчик, и он там лишний.