Formtastic

Formtastic
FlutterNuxtTypeScriptPostgreSQLDjangoPythonGo

Обзор проекта

Formtastic — это сервис для создания форм и опросов, используемый в бизнес-сценариях с высокими требованиями к стабильности, скорости и гибкости интерфейса. По мере роста проекта стало ясно, что дальнейшее развитие требует не только обновления клиентских технологий, но и целенаправленной оптимизации серверной части.

Экран авторизации

Экран авторизации

Главный экран

Главный экран

Редактор форм

Редактор форм

Список шаблонов

Список шаблонов

Редактор шаблонов

Редактор шаблонов

Миграция с Django на Nuxt

Изначально фронтенд Formtastic был реализован с использованием шаблонов Django. Это позволило быстро стартовать, но со временем такой подход стал ограничивать развитие продукта. Интерфейс становился всё сложнее, изменения требовали участия бэкенд-разработчиков, а сервер выполнял слишком много работы по рендерингу HTML, что негативно влияло на масштабируемость.

В результате мы архитектурно разделили систему. Django остался основным бэкендом и API, в то время как весь пользовательский интерфейс был перенесён на отдельный фронтенд на Nuxt. Это обеспечило чёткое разделение ответственности и позволило интерфейсу развиваться независимо от серверной логики.

После миграции скорость разработки UI заметно выросла. Команда начала быстрее выпускать новые экраны и улучшать пользовательский опыт, в то время как нагрузка на сервер снизилась, так как он перестал заниматься рендерингом страниц. Nuxt с SSR и SSG также обеспечил значительный выигрыш в SEO и скорости загрузки, что положительно повлияло на маркетинг и публичные страницы.

Параллельно начала развиваться серверная часть. В областях с повышенной нагрузкой и строгими требованиями к производительности часть логики была извлечена из Django и реализована на Go в виде отдельных сервисов. Это снизило задержки, упростило горизонтальное масштабирование и устранило узкие места без полной переработки бэкенда.

Миграция с нативных приложений на Flutter

Мобильные клиенты Formtastic изначально разрабатывались как два независимых нативных приложения — для iOS и Android. По мере роста продукта этот подход становился всё менее эффективным: разработка замедлялась, функции выпускались несинхронно, а поддержка двух кодовых баз увеличивала общую стоимость владения.

Переход на Flutter позволил нам объединить мобильную разработку в единую кодовую базу. Это значительно упростило поддержку и сделало выпуск новых функций предсказуемым. Обновления начали выходить одновременно на обеих платформах, а интерфейс и поведение приложения стали полностью согласованными для всех пользователей.

С точки зрения бизнеса эффект был прямым: затраты на разработку и поддержку снизились, время выхода на рынок ускорилось, а команда получила возможность быстрее тестировать гипотезы и развивать продукт без пропорционального увеличения затрат. При этом Flutter позволил сохранить высокую производительность и качественный пользовательский опыт.

iOS приложение

Список документов

Список документов

Редактор форм

Редактор форм

Список форм

Список форм

Синхронизация документов

Синхронизация документов

Заставка

Заставка

iPad приложение

Экран авторизации

Экран авторизации

Главный экран

Главный экран

Редактор форм

Редактор форм

Поиск форм

Поиск форм

Диалог создания документа

Диалог создания документа

Итоги

Formtastic — это пример продуманной технологической эволюции продукта. Перенос фронтенда с Django на Nuxt упростил разработку веб-версии и обеспечил выигрыш в скорости и SEO. Целенаправленное использование Go на сервере решило проблемы производительности без радикальных изменений платформы. Переход с нативных мобильных приложений на Flutter снизил затраты на владение и ускорил развитие продукта. В результате система стала более стабильной, гибкой и лучше подготовленной к масштабированию.

Детали проекта

Клиент
Formtasic GmbH
Дата
10 января 2022 г.
Продолжительность
1 Год

Заинтересованы в похожем проекте?

Давайте обсудим, как мы можем помочь воплотить ваше видение в жизнь.

Связаться с нами