← Все записи

Одна кодовая база для веба, iOS и Android

Что даёт связка Angular, Ionic и Capacitor в финтехе и в собственных приложениях — и где она требует внимания.

Я использую одну и ту же связку в двух очень разных мирах. В Lumeo — финансовой платформе для бизнеса — это дашборды, отчётность и данные в реальном времени на восьми языках. В D.I.S.C. — небольшое приложение, которое должно хорошо работать на телефоне участника посреди тренинга. В обоих случаях один код собирается в веб, iOS и Android.

Из чего состоит связка

Что это даёт бизнесу

Главное — одна команда и одна логика вместо трёх. Новая функция в платёжном или аналитическом интерфейсе сразу появляется на всех платформах. Ошибка исправляется один раз. Код-ревью, тесты и стандарты — тоже одни на все платформы.

Для собственного продукта эффект ещё сильнее: один человек может довести приложение до магазина, не переписывая его под каждую платформу.

Где нужно внимание

У связки есть слабые места. Вот что я проверяю на реальных устройствах в каждом релизе:

Бесплатная версия и Pro в одном приложении

Отдельный приём, который пригодился в D.I.S.C.: бесплатный режим для участника и Pro для ведущего живут в одном приложении. Pro открывается встроенной покупкой в магазине, а сервер подтверждает лицензию. Сборки отличаются только магазином: свой код покупки для RuStore, Google Play и App Store.

Когда я бы выбрал другое

Если продукт — это тяжёлая графика, сложные анимации на 60 кадрах в секунду или глубокая работа с железом, лучше писать нативно. Но для финтеха, бэк-офисов, кабинетов и форм — то есть для большинства бизнес-приложений — одна кодовая база окупается уже на втором релизе.