Разработка кроссплатформенных приложений
в Нижнем Новгороде
и масштабируйтесь.
С чем приходят за кросс-платформенным приложением
Две платформы, один бюджет
Клиенты сидят и на Android, и на iPhone, а денег хватает на одну сборку.
Две команды спорят о сроках
Один экран выходит на неделю позже, чем на второй платформе.
Версии разошлись
На одной платформе новая логика, на другой прежняя, и поддержка путается.
Поддержка стоит вдвое
Каждую правку делают дважды, и счёт за год выходит двойной.
Нужно проверить идею
Продукт ещё не проверен рынком, и платить за две разработки рано.
Кому подходит кросс-платформенное приложение
- Один главный сценарий
- Выход в оба магазина
- Быстрые правки
- Вход и профиль
- История операций
- Оплата и статусы
- Одна сборка на парк
- Права по ролям
- Обмен с учётом
Что входит в кроссплатформенную разработку?
ради целостного опыта на любом устройстве.
и все сразу работает, без лишней головной боли.
Стоимость кроссплатформенного
приложения в Нижнем Новгороде
Мы оцениваем проект исходя из целей: список галочек в перечне функций ничего не решает.
Цены указаны без НДС. НДС по ставке 5 % предъявляется дополнительно и включается в счёт.
Больше возможностей для вашего проекта
- Интернет-магазины
- Недвижимость
- Здравоохранение и стоматология
- Рестораны и кафе
- Салоны красоты
- Образование
- Строительство
- Юридические услуги
- Туризм и гостиницы
- Логистика
- Дизайн интерьеров
- Ремонт квартир
- Автосервисы
- Маркетплейсы
- Консалтинг
- Фотографы
Обсудим проект?
FAQ
Если не нашли ответа — напишите нам на info@toimi.pro.
Можем ли мы запуститься сразу на iOS и Android?
Да, именно так мы и работаем. Используем общий код, чтобы избежать дублирования и синхронизировать функциональность между платформами.
Приложение будет выглядеть нативно или как веб-обертка?
Мы используем нативные API и взаимодействия там, где это действительно важно. Пользователь не заметит, что это кроссплатформа — и в этом фишка.
А если у нас уже есть прототип?
Мы проведем аудит и либо доработаем рабочее, либо переработаем то, что не выдерживает нагрузку. Чистая передача — часть процесса.
Вы берете на себя и бэкенд?
Да. Мы можем разработать API, подключиться к вашим системам или интегрировать сторонние сервисы — что бы ни потребовалось вашему приложению.
Как устроена архитектура приложения с общим кодом?
Слои интерфейса, логики и данных, из которых общими остаются два последних.
Что именно делят между платформами?
Логику, работу с сервером, локальные данные и правила.
Что остаётся платформенным?
Связки с системными возможностями и часть интерфейсных деталей.
Какая доля кода выходит общей?
На типовых приложениях большая часть.
Что такое общий код только для логики?
Подход, где интерфейс пишут нативно, а логику делят.
Когда такой подход выбирают?
Когда важен родной интерфейс, а логика сложная.
На чём делят только логику?
На общем коде Kotlin для обеих платформ.
Чем это отличается от полного общего кода?
Интерфейс собирают дважды, зато он полностью системный.
Дороже ли это?
Дороже полного общего кода, дешевле двух полных сборок.
Как выбрать между подходами?
По требованиям к интерфейсу и по составу команды.
Как устроена работа с сервером?
Через общий слой запросов с описанием методов.
Нужен ли свой сервер в Нижнем Новгороде?
Он нужен при собственных данных.
Как быть с локальной базой?
Встроенную базу подключают общим модулем.
Нужен ли кеш данных?
Кеш ускоряет открытие и снижает число запросов.
Как быть с состоянием экранов?
Его держат в отдельном слое, а не внутри вида.
Зачем выносить состояние?
Логику можно проверить тестами без интерфейса.
Как быть с навигацией между экранами?
Её описывают одним местом на весь проект.
Нужно ли разделять проект на модули?
На крупном приложении модули ускоряют сборку.
Как быть с общим кодом для веба?
Логику иногда делят и с веб-версией.
Стоит ли делить код с сайтом?
Стоит там, где правила расчёта одни и те же.
Как быть с версионностью сервера?
Приложение сообщает свою версию, сервер отвечает совместимо.
Нужно ли поддерживать старые версии приложения?
Их поддерживают ограниченное время.
Как быть с обработкой ошибок?
Ошибки описывают едиными типами в общем слое.
Нужны ли тесты на общий код?
Они окупаются: одна проверка на две платформы.
Что покрывают тестами?
Расчёты, правила и работу с данными.
Как быть с тестами интерфейса?
Их пишут на основные пути и запускают на обеих платформах.
Нужна ли автоматическая сборка в Нижнем Новгороде?
Один процесс собирает обе сборки.
Как быть с хранением секретов?
Их держат вне репозитория.
Нужно ли обфусцировать код?
Для приложений с оплатой это уместно.
Как быть с размером сборки в Нижнем Новгороде?
Инструменты убирают неиспользуемый код и ресурсы.
Нужна ли документация архитектуры?
Короткое описание слоёв экономит месяцы.
Как быть с передачей проекта другой команде?
Помогают порядок в репозитории и инструкция сборки.
Нужно ли вести историю правок?
Репозиторий с ветками и описаниями обязателен.
Как быть с разбором кода в Нижнем Новгороде?
Правки читает второй разработчик до слияния.
Сколько живёт архитектура без переделки?
Несколько лет при аккуратном развитии.
Кто выбирает архитектуру?
Разработчик на этапе разбора, с объяснением заказчику.
Нужно ли выделять общий код в отдельный модуль?
Его держат отдельно от интерфейсных частей.
Как быть с зависимостями общего модуля?
Их держат минимальными.
Нужно ли описывать контракт с сервером?
Схему запросов и ответов фиксируют документом.
Как быть с генерацией кода по схеме?
Клиент к серверу генерируют из описания.
Нужно ли версионировать схему данных?
Версии схемы помогают при переносе базы.
Как быть с переносом локальной базы?
Шаги переноса описывают и проверяют на живых данных.
Нужно ли хранить историю схем?
Её держат в репозитории вместе с кодом.
Как быть с очисткой кеша при обновлении?
Правила очистки описывают заранее.
Нужно ли разделять окружения?
Тестовое и рабочее окружения разделяют настройками сборки.
Как быть с переключением окружений?
Его делают настройкой, а не правкой кода.
Смотрите также
Обновлено: