Разбираем, на что смотреть при выборе подрядчика для разработки мобильного приложения помимо портфолио: как устроен процесс, кто отвечает за архитектуру и что происходит после релиза.
Еще несколько лет назад разработка мобильного приложения почти всегда означала долгие месяцы работы, десятки повторяющихся задач и написание большого количества однотипного кода. Сегодня ситуация сильно изменилась. Современные технологии, готовые инженерные решения и накопленный опыт позволяют создавать качественные приложения значительно быстрее. Однако скорость достигается не за счет «магии» или работы наспех, а благодаря тому, что опытные команды перестают каждый раз заново решать уже однажды решенные задачи.
Почему современные мобильные приложения разрабатываются быстрее
Многие представляют процесс разработки как непрерывное написание нового кода. На практике это далеко не так. Большая часть задач в коммерческих проектах повторяется: авторизация пользователей, работа с каталогом, корзиной, платежами, Push-уведомлениями, интеграциями с CRM, личными кабинетами и десятками других типовых функций.
Каждый раз писать подобный функционал с нуля — дорого, долго и попросту неэффективно. Поэтому зрелые команды постепенно формируют собственную инженерную базу: внутренние библиотеки компонентов, готовые архитектурные решения, инструменты автоматизации, шаблоны проектов и модули интеграции. Благодаря этому разработчики концентрируются не на повторении уже сделанной работы, а на реализации действительно уникальной логики конкретного проекта.
Именно поэтому две команды с одинаковым количеством разработчиков могут показать совершенно разные сроки запуска приложения. Разница заключается не в скорости написания кода, а в количестве накопленных инженерных решений и качестве внутренних процессов.
Современная мобильная разработка — это уже давно не история про «написать приложение». Это построение производственного процесса, где автоматизировано всё, что можно автоматизировать, а разработчики тратят время исключительно на задачи, которые действительно требуют инженерной работы.
Инженерные решения, которые действительно экономят время
Хороший пример — разработка мобильных приложений для интернет-магазинов на 1С-Битрикс: Управление сайтом. Практически каждому приложению требуется получать каталог товаров, фотографии, остатки, цены, характеристики, информацию о пользователях, корзину, историю заказов и множество других данных. Всё это происходит через API.
Во многих проектах именно проектирование и разработка API становится одним из самых длительных этапов. Каждый новый интернет-магазин получает собственную реализацию обмена данными, хотя по своей сути большинство задач практически идентичны.
В Codeking мы давно отказались от такого подхода. За годы работы был разработан собственный модуль интеграции мобильных приложений с 1С-Битрикс, который уже содержит готовый API практически для всех стандартных сущностей интернет-магазина: каталог, категории, поиск, фильтрацию, авторизацию пользователей, корзину, оформление заказа, личный кабинет, избранное, историю заказов и многое другое.
Но главное преимущество заключается даже не в количестве готового функционала. Наш модуль не переписывает внутреннюю работу Битрикса и не заменяет её собственной реализацией. Наоборот — он использует штатную бизнес-логику платформы и работает как слой абстракции над нативными компонентами системы.
Это означает, что логика каталога, оформления заказов, скидок, корзины и других механизмов остается именно той, которую предусмотрели разработчики платформы. Мы не создаем собственные «велосипеды», которые придется поддерживать отдельно, а аккуратно расширяем уже существующую архитектуру Битрикса.
Такой подход дает сразу несколько преимуществ. Во-первых, значительно уменьшается вероятность появления ошибок, поскольку используется уже проверенная временем логика платформы. Во-вторых, после обновлений Битрикса не приходится переписывать собственные реализации стандартных механизмов. И наконец, значительно ускоряется сама разработка мобильного приложения.
- используется нативная логика компонентов 1С-Битрикс;
- минимизируется количество потенциальных ошибок;
- не приходится писать собственные реализации стандартного функционала магазина;
- интеграция приложения с существующим сайтом занимает минимум времени;
- поддержка проекта остается простой даже спустя годы после запуска.
Благодаря этому подключение мобильного приложения к существующему интернет-магазину на 1С-Битрикс в большинстве проектов занимает порядка 1–2 часов. После этого команда сразу приступает к разработке пользовательского интерфейса и бизнес-функционала, а не тратит дни или недели на создание типового API.
На наш взгляд, именно такие внутренние инженерные инструменты и позволяют действительно ускорять разработку без ущерба качеству. Клиент получает не просто более быстрый запуск проекта, но и значительно более надежную архитектуру, которую проще сопровождать и развивать в будущем.
Почему скорость разработки не означает компромисс с качеством
Иногда можно услышать мнение, что быстро разработанный продукт обязательно будет менее качественным. На практике всё наоборот. Если скорость достигается за счет грамотной архитектуры, повторного использования уже проверенных решений и автоматизации процессов, качество проекта только выигрывает.
Именно поэтому мы постоянно инвестируем время не только в разработку клиентских проектов, но и в развитие собственной инженерной инфраструктуры. За годы работы появились внутренние библиотеки компонентов, шаблоны проектов, инструменты автоматической сборки и публикации приложений, готовые решения для интеграций и собственный модуль работы с интернет-магазинами на 1С-Битрикс.
Для большинства коммерческих проектов в качестве основного стека мы используем React Native + Expo. На сегодняшний день это, пожалуй, лучшая золотая середина между скоростью разработки, стоимостью проекта и качеством конечного результата. Такой подход позволяет получить практически нативное приложение с высокой производительностью, удобной поддержкой и единой кодовой базой для Android и iOS.
Разумеется, если проект требует глубокой работы с аппаратными возможностями устройства или использования низкоуровневых API операционной системы, мы разрабатываем отдельные нативные модули или полностью нативное приложение. Но для абсолютного большинства коммерческих проектов React Native позволяет получить оптимальный результат без неоправданного увеличения бюджета и сроков разработки.
В результате клиент получает не просто команду разработчиков, а уже готовый производственный pipeline. Большая часть рутинных процессов давно автоматизирована, интеграции не создаются заново для каждого проекта, а типовые задачи решаются с помощью собственных внутренних инструментов. Благодаря этому мы можем сосредоточиться на том, что действительно делает приложение ценным для бизнеса, — пользовательском опыте, функциональности и надежности конечного продукта.
