Сколько времени занимает проверка гипотезы для мобильного приложения? Давайте посчитаем:
Разработка приложения, работающего в разных режимах для разных групп пользователей.
Тестирование результата.
Выкладывание приложения в магазины приложений и ожидание одобрения.
Ожидание, пока пользователи обновят приложение. В 2019-ом у большинства включено автообновление, но далеко не у всех.
Сбор и анализ статистики.
Приведение приложения к состоянию победившей гипотезы, параллельно с разработкой следующей…
Если ваши разработчики работают по Scrum с двухнедельными итерациями, обычно это означает, что тестирование гипотезы занимает полный месяц. С другими методологиями этот срок можно ужать, но незначительно.
Такое положение дел делает невозможным достижение ритма “5 гипотез в неделю”, к которому стремятся многие продуктовые команды.
Ниже я расскажу, как можно ускорить и улучшить этот процесс и укажу ряд готовых решений, которые можно использовать.
Flutter — реактивный фреймворк, и для разработчика, специализирующегося на нативной разработке, его философия может быть непривычна. Поэтому начнём с небольшого обзора.
Пользовательский интерфейс на Flutter, как и в большинстве современных фреймворков, состоит из дерева компонентов (виджетов). При изменении какого-либо компонента, происходит перерендеринг этого и всех его дочерних компонентов (с внутренними оптимизациями, о которых ниже). При глобальном изменении отображения (например, повороте экрана), перерисовывается всё дерево виджетов.
По работе мне неоднократно приходилось сталкиваться с выбором подходящей технологии для мобильной разработки. Ниже я попробовал собрать и классифицировать основные фреймворки по используемым подходам, достоинствам и недостаткам.