Разработка с нуля. Приложение: для Android, для iOS. Устройства для масштабирования: смартфоны. Техническое задание (ТЗ) на разработку мобильного приложения на React Native и WebView ПРОСЬБА УКАЗЫВАТЬ СРАЗУ ВИЛКУ НА РЕАЛИЗАЦИЮ РАЗРАБОТКИ ПО УКАЗАННОМУ ТЗ! Дизайн и тестирование полностью на нашей стороне, с вас только разработка на указанном стеке Общая информация и цель проекта Название проекта: Мобильное приложение (React Native +WebView). Цель: Выпустить мобильное приложение на стеке React Native +WebView (под операционные системы iOS/Android), которое открывает адаптивную версию сайта ПОдрядчика(pecom.ru) внутри WebView, при этом предоставляет набор нативных возможностей и интеграций, недоступных/неудобных в мобильном браузере. Модель поставки: «Под ключ»: проектирование, разработка, первичная публикация в сторах, гарантийная поддержка. Границы и стратегия релиза Входит: нативный контейнер React Native, WebView-обёртка сайта, JS-bridge, пуши, геолокация, краш-репорты, startup экран, хэндлинг ошибок, стор-публикация. Не входит: разработка самого сайта/бэкенда Заказчика (кроме точек интеграции/событий на стороне мобильного приложения), контент страниц стора, L3-поддержка инфраструктуры сайта. RN/WebView: React Native LTS, react-native-webview актуальной LTS. Требования к реализации Архитектура и компоненты React Native слой: навигационная оболочка (Startup экран(первый экран), Error/Offline), системные интеграции, шины событий. WebView: один основной контейнер, поддержка множественных вкладок. JS Bridge: двусторонний обмен сообщениями между вебом и нативом: Веб -> Натив: запросы на пуш-токен, геолокацию, системный шэр, копировать в буфер,. Натив-> Веб: гео-координаты, системные события (app foreground/background), версия приложения. Логирование: Sentry. WebView слой Включить: JavaScript, DOM storage, local storage, cookies, поддержка file input, media capture. Состояния: лоадер, skeleton, глобальный перехват HTTP-ошибок (4xx/5xx), Offline-экран с retry. Куки: единая авторизация между WebView и сайт-стендом, синхронизация токенов (Secure storage). Нативные возможности Пуш-уведомления (Подрядчик обязан предложить провайдера для гарантированной доставки пушей) Геолокация (для передачи на сайт) Шэринг/клипборд Системная информация UI/UX нативной оболочки Splash/Startup: логотип, инициализация куки/bridge/remote config. Системные экраны: Offline/Retry, Error (с кодом/трассировкой id), Permissions explainer (push/geo), Settings/About (номер версии, политика, очистка кэша, «сообщить об ошибке»). Темы: follow system. Локализация: ru-RU. Нефункциональные требования Производительность (в нативном контейнере): Время запуска до первого контента (TTI): ? 2.5 с на средних устройствах. Рендер WebView первого экрана: ? 1.5 с при нормальной сети (LTE/Wi-Fi). Стабильность: Crash-free sessions ? 99.5%. Сеть: корректная работа при 3G/EDGE (грациозные деградации, retry/backoff). Безопасность: TLS 1.2+, ATS (iOS), SSL pinning, безопасное хранение токенов, защита от MITM на критичных путях, защита от WebView-инъекций (строгая политика источников), защита персональных данных в соответствии с действующим законодательством (например, GDPR, 152-ФЗ). Пентест/мобильный сектор и/или чек по OWASP MASVS Логи/мониторинг: структурированные логи, краш-репорты, консоль JS ошибок. Публикация в сторах Подрядчик готовит первичную сборку, провижнинг, подписи, загрузки в App Store Connect/Google Play Console, отвечает на ревью-вопросы. Артефакты: иконки, сплэш, скриншоты, видео, тексты (RU), политика конфиденциальности (URL), возрастной рейтинг, категории. Bundle IDs / Keystore: оформляются на Заказчика, доступы- у Заказчика. Версионирование: семантическое, changelog. Подрядчик обязан заранее провести pre-review аудит на соответствие правилам App Store/Google Play и предложить минимальные доработки контента приложения для повышения шансов модерации. Тестирование и приемка Подрядчик готовит юнит тесты (RN-модулей и JS-моста). Критерии готовности: Все методы JS методы работают по спецификации, покрыты юнит тестами не менее чем на 80%,критичные функции на 100%. Push: получение токена, получение/открытие, deeplink-роутинг. Гео: выдаёт координаты, корректно хендлит deny/revoke. Offline/Error экраны отображаются и позволяют восстановление. Процедура приемки: демо на стенде, отчёт по тестам, устранение дефектов. Эксплуатация и поддержка Гарантия: 12 месяцев после прод-релиза (исправления багов, совместимость минорных апдейтов iOS/Android/RN/WebView при обновлении последних). SLA инцидентов: критические инциденты (краши/невозможность входа и/или просмотра сайта-по вине мобильного приложения) — реакция ? 4ч, фикc ? 24ч; остальные инциденты – реакция 12ч, фикс-48ч. Обновления: регулярные минорные (без стора -по графику), критические фиксы – не позже чем 72 часа до выхода обновлений. Сроки выполнения Срок окончания разработки и проведения демо и передачи для приемки Заказчиком– 15.03.2026. Работы выполняются поэтапно Подготовка архитектуры React Native/WebView. Реализация экранов и модулей. Интеграция с сайтом. Тестирование и приемка Заказчиком. Публикация приложений подрядчиком в App Store и Google Play. Поставляемые материалы Исходный код (должен быть размещен в репозитории Git-хранилище Заказчика). Тестовые сборки. Отчет о прохождении критериев приемки Документация (размещенная в Git-хранилище Заказчика): Dev-guide, Runbook, инструкция релиза (с описанием запуска и разворачивания проекта для платформ iOS и Android), матрица совместимых устройств, changelog Право собственности и лицензии Исключительные права на исходный код, артефакты, учётные записи стора — у Заказчика. Подрядчик гарантирует отсутствие сторонних обременений/лицензий, несовместимых с коммерческим использованием. Требования к подрядчику Опыт разработки приложений на React Native и WebView. Опыт разработки и поддержки кроссплатформенных приложений. Опыт интеграции со сторонними API. Критерии оценки заявок Соответствие требованиям ТЗ. Стоимость и сроки выполнения. Квалификация команды (портфолио, опыт, наличие специалистов). Наличие успешных кейсов разработки на React Native и WebView.