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