Лучший способ построить управляемый разговор в Flutter/Dart

#flutter #dart #listview #chatbot

Вопрос:

Я хочу построить управляемую беседу, в которой у пользователя есть несколько вариантов на выбор. В зависимости от того, на какую кнопку нажимает пользователь, разговор должен продолжаться, показывая три дополнительные кнопки. Мой вопрос в том, каков был бы наилучший подход для создания чего-то подобного? Моей первой идеей было создать «мозговой класс», который предопределял бы все возможные пути, которые могли бы возникнуть. В нем как бы хранится дерево решений. Затем при каждом нажатии кнопки список расширяется новыми дополнительными опциями. Этот список можно использовать для непрерывного обновления экрана с помощью a ListViewBuilder .

Это хорошая идея или плохая практика? Альтернативой, которую я вижу, было бы использование базы данных, такой как firebase, но я не эксперт в этом. Могут ли быть готовые пакеты, которые подходят для моей задачи?

введите описание изображения здесь

Комментарии:

1. Этот вопрос кажется очень основанным на мнении, и вы не получите «решения» для него. Лично я бы согласился с ListViewBuilder, но не с классом мозга. Вместо этого я бы настроил вашу логику в дереве JSON, которое будет анализироваться на основе внешних данных (возможно, сначала файла, но позже из базы данных, такой как Firebase). Это позволило бы мне иметь больше свободы, и мне не понадобилась бы новая версия приложения, когда я хотел бы изменить способ общения. Повторно используйте логику для создания вопроса/ответов в зависимости от того, что было выбрано.