React Native и 1С: когда один код на iOS и Android правда дешевле
React Native позволяет собрать приложение для iOS и Android из одной кодовой базы на JavaScript или TypeScript, поэтому логика, экраны и обмен с сервером пишутся один раз. Для B2B-приложений с 1С это обычно дешевле двух нативных команд, но только если не нужна тяжёлая графика. Мобильная разработка у нас стартует от 500 000 ₽.
«Один код на две платформы» не значит «вдвое дешевле» 💸
Оптовая компания из Москвы заказывает приложение для торговых представителей. Сначала только под Android: смартфоны агентам выдал отдел снабжения, других устройств в штате не было. Через полгода коммерческий директор переходит на iPhone, за ним подтягиваются руководители отделов, и звучит: «Нам нужно то же самое на iOS».
Подрядчик писал на Kotlin, поэтому для iOS нужна вторая команда со Swift, второй набор тестов и второй выпуск в магазин. Бюджет выходит близким к первому. Хуже другое: каждую правку теперь делают дважды. Скидку пересчитали в одном релизе на Android, на iPhone её не успели, и директор видит в заказе одну цену, а агент у клиента другую.
Вот что теряет компания: двойной бюджет на каждую доработку и заказы, в которых цена расходится по платформам прямо при клиенте. Пересогласование, скидка из собственной маржи, а иногда и потерянный клиент.
React Native закрывает именно эту ситуацию: экраны и логика пишутся один раз и работают на обеих платформах. Но вдвое дешевле не становится. Дизайн под каждую платформу, сборка, публикация и проверка на реальных телефонах остаются отдельными задачами. Экономия приходится на логику и экраны, то есть на то, что в проекте меняется чаще всего. Поэтому вторая платформа обходится в доработки и тесты, а не в новый проект.
Что пишется один раз, а что приходится делать под каждую платформу 🧩
React Native — фреймворк на JavaScript и TypeScript. Экраны описываются на React-компонентах, а на телефоне превращаются в нативные элементы интерфейса. Веб-страницы в оболочке тут нет, поэтому списки прокручиваются и жесты работают как в обычных приложениях.
Общим остаётся то, на что уходит основная часть разработки:
- ✓бизнес-логика: расчёт цен и скидок, корзина, статусы заказа;
- ✓экраны и навигация: каталог, карточка контрагента, форма визита;
- ✓обмен с сервером: запросы к HTTP-сервисам 1С, авторизация, очередь отправки;
- ✓локальная база для работы без связи.
Под каждую платформу отдельно делается другое:
- ✓подключение оборудования. Сканер штрихкодов на терминале сбора данных, NFC или Bluetooth-весы требуют нативного модуля на Kotlin и Swift либо готовой библиотеки, которую всё равно проверяют на вашей модели устройства;
- ✓push-уведомления. На Android-смартфонах без сервисов Google стандартный канал не работает, нужен запасной, например через RuStore или Huawei;
- ✓публикация. RuStore, Google Play, AppGallery, TestFlight и корпоративная раздача APK требуют разных сборок, подписей и описаний;
- ✓проверка на живых устройствах. Старый Samsung и свежий iPhone ведут себя по-разному, эмулятор этого не покажет.
React Native, нативная разработка, Flutter и 1С:Мобильная платформа: сравнение 📊
Выбор не сводится к «React Native или нативная». Для задач с 1С есть ещё 1С:Мобильная платформа, а для приложений со сложным собственным дизайном присматриваются к Flutter.
| Вариант | Кодовых баз | Связь с 1С | Функции телефона | Когда подходит |
|---|---|---|---|---|
| Нативная (Kotlin и Swift) | Две | Два клиента к одним и тем же HTTP-сервисам 1С | Полный доступ | Видео, 3D, дополненная реальность, сложная работа с камерой |
| React Native | Одна | Один клиент к HTTP-сервисам 1С | Через библиотеки и нативные модули | Торговые агенты, склад, клиентский кабинет с заказами, нужны и iOS, и Android |
| Flutter | Одна | Один клиент к HTTP-сервисам 1С | Через плагины | Приложение с собственным дизайном и анимацией, одинаковым на всех устройствах |
| 1С:Мобильная платформа | Одна, на языке 1С | Штатный обмен платформы | Типовой набор функций | Внутреннее приложение, типовые экраны, команда 1С-разработчиков |
Таблицу читают по последнему столбцу: технологию подбирают под задачу. Для торговых агентов, склада и клиентского кабинета с заказами React Native обычно подходит лучше всего: нужны обе платформы, интерфейс близок к стандартному, а связь с 1С идёт через HTTP-сервисы.
Если приложение внутреннее, экраны типовые, а в штате есть программисты 1С, сначала стоит посмотреть на 1С:Мобильную платформу. Мы делаем оба варианта, поэтому выбираем по задаче, а не по тому, что умеем.
Где React Native подводит ⚠️
Логистическая компания просит приложение для водителей: маршрут на карте, фото накладной, геолокация каждые несколько минут, даже когда экран погас. Прототип на React Native собирают быстро, но на реальных рейсах выясняется, что на части Android-устройств система усыпляет фоновый процесс и трек маршрута рвётся.
Ограничения системы на фоновую работу одинаковы для любой технологии. Но в React Native их приходится обходить нативным кодом на каждой платформе, и главный довод за один код слабеет.
Нативная разработка выигрывает ещё в трёх случаях: видео в реальном времени и обработка изображений на самом телефоне, 3D и дополненная реальность, приложение, которое почти целиком состоит из функций устройства.
У React Native есть и цена времени. Фреймворк выходит с новыми версиями, библиотеки устаревают, а Android и iOS каждый год меняют правила публикации. Приложение, которое не трогали год, при очередном обновлении превращается в отдельный проект. Поэтому поддержку закладываем в план сразу.
Как мы строим приложение на React Native с обменом с 1С 🔧
Мы внедряем 1С и пишем мобильные приложения одной командой, поэтому HTTP-сервисы в конфигурации и клиент на React Native делаются по одной спецификации. На стыке двух подрядчиков проекты обычно и застревают: разработчик приложения ждёт метод в 1С, а программист 1С ждёт, какой ответ нужен клиенту.
- ✓Разбираем процесс, а не экраны. Что агент делает на точке: смотрит остатки, собирает заказ, фиксирует визит, принимает оплату. Экраны выводятся из этого списка.
- ✓Проектируем интеграцию приложения с 1С: какие данные уходят на телефон целиком, какие запрашиваются по требованию, как обрабатываются ошибки обмена.
- ✓Делаем офлайн-режим. Заказ сохраняется в локальной базе, встаёт в очередь и уходит, когда появится сеть. Если пока агент был без связи, цена в 1С изменилась, срабатывает заранее описанное правило, а не ручной разбор.
- ✓Собираем общую кодовую базу и проверяем на iPhone и на реальных Android-устройствах, включая ваши ТСД.
- ✓Публикуем и передаём сборки: RuStore, закрытая раздача, TestFlight.
Если приложением пользуются клиенты, а не сотрудники (каталог, заказы, акты сверки), это отдельный сценарий. Его мы описали на странице про B2B-приложение с 1С.
Мобильная разработка у нас стартует от 500 000 ₽. Итог зависит от числа экранов, глубины обмена с 1С и количества нативных модулей под оборудование. Общие условия собраны на странице цены и тарифы, описание услуги лежит в разделе разработка мобильных приложений.
Шесть вопросов, которые стоит решить до сметы ✅
- ✓Какие платформы нужны сейчас и через год. Даже если пока только Android, общий код оставляет дорогу на iOS открытой.
- ✓Нужна ли работа без связи и насколько долгая: час в подвале склада или неделя в командировке.
- ✓Какое оборудование подключается: сканер, принтер этикеток, весы, NFC-метки.
- ✓Где будут жить сборки: RuStore, закрытая раздача, TestFlight. И есть ли в парке Huawei без сервисов Google.
- ✓Кто обновляет приложение после релиза и как часто меняется 1С, ведь каждое изменение конфигурации задевает обмен.
- ✓Какая у вас конфигурация 1С, типовая или доработанная, и можно ли публиковать HTTP-сервисы наружу.
С ответами на эти вопросы можно сразу выбрать между React Native и 1С:Мобильной платформой и назвать вилку по бюджету. Опишите процесс и парк устройств, и мы скажем, что из этого укладывается в 500 000 ₽, а что потребует нативных модулей и выйдет дороже.
❓ Частые вопросы
Сколько стоит разработка приложения на React Native?
Мобильная разработка у нас начинается от 500 000 ₽. Итоговая сумма зависит от числа экранов, глубины обмена с 1С, наличия офлайн-режима и количества нативных модулей под оборудование, например сканеры штрихкодов. Точную вилку называем после разбора процесса и парка устройств, до начала разработки.
Чем React Native отличается от нативной разработки на Kotlin и Swift?
В нативной разработке для Android и iOS пишут два отдельных приложения на разных языках. В React Native экраны и логику пишут один раз на JavaScript или TypeScript, а на телефоне они отображаются нативными элементами. Под оборудование и публикацию в магазины всё равно нужны отдельные настройки для каждой платформы.
Можно ли связать приложение на React Native с 1С?
Да. Приложение обращается к HTTP-сервисам, которые публикуются в конфигурации 1С, и получает номенклатуру, остатки, цены, а обратно отправляет заказы и визиты. Для работы без связи заказы копятся в локальной базе телефона и уходят в 1С при появлении сети. Конфигурация может быть типовой или доработанной.
Работает ли React Native на терминалах сбора данных с Android?
Да, на ТСД с Android приложение устанавливается как обычный APK. Встроенный сканер штрихкодов подключается отдельным нативным модулем или готовой библиотекой, потому что у каждого производителя свой способ передачи кода в приложение. Работу со сканером проверяют на вашей модели терминала до запуска в эксплуатацию.
Что выбрать для внутреннего приложения: React Native или 1С:Мобильную платформу?
Если приложение внутреннее, экраны типовые, а в штате есть программисты 1С, сначала стоит оценить 1С:Мобильную платформу: один язык и одна команда. React Native выбирают, когда нужен нестандартный интерфейс, сложные нативные функции или приложение для клиентов, которое должно выглядеть как обычное приложение из магазина.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

