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

Приложения для форм довольно похожи друг на друга. Люди привыкли создавать опросы, формы обратной связи и страницы заказа с помощью таких конструкторов. Вот основные требования к отличному конструктору форм:
Добавление различных вариантов полей: текстовые поля свободного ввода, выпадающие списки, даты, переключатели, флажки, слайдеры диапазона и другие;
Базовое оформление (включая светлую и темную темы);
Установка отдельных полей как обязательных, скрытых или опциональных;
Настройка ограничений на типы данных (email-адреса, положительные числа и т.д.);
Наличие адаптивного отображения для мобильных устройств;
Встраивание формы на любой сайт.
Все эти функции включены в компонент формы Directual (подробное описание можно найти в Документации). Посмотрите на пример формы на базе Directual, встроенной прямо здесь:
Типичный принцип работы конструкторов форм довольно прост. Вы создаете поля, метки, вопросы, подсказки и правила валидации в визуальной среде. Затем ответы собираются в таблицеподобном виде или сохраняются в стороннем приложении через интеграцию. Также пользователь может получать уведомления о новых ответах по электронной почте.
Сложности возникают, когда вы хотите, чтобы форма была неотъемлемой частью приложения. Большинство широко используемых конструкторов форм не справляются со следующими бизнес-задачами:

Был только один способ справиться с такими задачами — писать код для формы традиционным способом — долго и дорого. На самом деле, так было до сегодняшнего дня. Компонент формы Directual позволяет легко решить все вышеупомянутые задачи! Давайте разберемся, как это работает!
Благодаря мощным функциям backend, форма Directual становится крайне настраиваемой.
Еще одна задача, которую решает конструктор форм Directual — синхронная обработка ответов. Этот сценарий использования включает следующие приложения:
Посмотрите на следующую форму, где вы можете проверить погоду в своем городе. Вот она:
За кулисами работает синхронный сценарий, который вызывает API OpenWeatherMap и возвращает текущую температуру и влажность. Вот он:

Сценарий Directual
Конструкторы форм раньше решали такие простые задачи, как опросы. Но почти любое приложение содержит формы. И форма внутри приложения должна быть тесно интегрирована с ним. Это соответствует философии Directual Design — сочетанию мощного backend, взаимосвязанных компонентов и возможности создавать новые сложные интерфейсы на React.
P.S. Форма Directual — это открытый React-компонент. Не стесняйтесь изучить его код на GitHub.