У меня действительно есть опыт с этим на самом деле. Я сделал так, чтобы получить форму из API в виде объекта json, а корневой объект, который является формой, будет состоять из массива таблиц, а каждая таблица будет состоять из массива элементов. и каждый элемент является объектом, описывающим поле формы. и в зависимости от элемента типа я создал пользовательские компоненты, такие как singleLineInput, multiLineInput, checkbox, radioButton, comboBox и отобразил бы соответственно с помощью оператора switch. Я упростил свой ответ, просто чтобы дать вам быстрый старт. На самом деле я получал много данных в объекте json, описывающих тему формы и версию формы. так как каждый раз, когда я менял форму в Интернете, она создавала новую версию и синхронизировалась с мобильным приложением, поскольку мобильное приложение работало в автономном режиме, его нужно было сохранять локально на мобильном телефоне.