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

В продолжение предыдущего поста. Допустим, с первым вопросом разобрались: мобильное приложение бизнесу действительно нужно. Пользователи будут регулярно им пользоваться, есть понятные сценарии, которые удобнее реализовать на смартфоне, и экономика проекта в целом сходится.

Дальше возникает вопрос: какое приложение делать?

Вариантов, если сильно упростить, три. PWA — веб-приложение, адаптированное под мобильное использование. Кроссплатформа, например Flutter, позволяет делать решение сразу для iOS и Android с общей кодовой базой. Нативная разработка — Swift для iOS и Kotlin для Android.

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

С PWA и кроссплатформой нужно смотреть на планы развития продукта. Пуши, отдельный мобильный интерфейс и многие стандартные сценарии можно реализовать в обоих вариантах. Но если дальше появятся NFC, Bluetooth, сложная офлайн-работа или другие специфические функции, решение может быть другим.

Если по-простому:

1. нужен быстрый и относительно простой мобильный продукт — склоняемся к PWA 2. нужны полноценные приложения для iOS и Android с разумным бюджетом — смотрим кроссплатформу 3. есть сложные технические требования и глубокая работа с устройством — рассматриваем native

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

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

С другой стороны, попытка реализовать на неподходящей технологии сложный продукт тоже может дорого обойтись.

Поэтому отдельно стоит оценить экономику. Сколько будет стоить разработка, поддержка и развитие продукта на горизонте нескольких лет.