o front-end se adapta ao que for passado pelo back-end • Genérico o suficiente a mudanças • Se a experiência do usuário muda • Se a interface do aplicativo muda
de tela que vão ser gerados de acordo com o protocolo Yosef que foi passado para a lib. Eles devem possuir um tipo, conter uma lista de propriedades que serão aplicadas ao mesmo e também podem ter “filhos”. Cada componente conhece a lista de propriedades que podem serem aplicadas neles mesmos.
lib possui uma classe principal, a DynamicViewCreator, essa classe possui um Builder que é usado para o controle de quais componentes serão usados // a json string following the specification val json = readJson("assets/example.json") val creator = DynamicViewCreator.Builder() .build() // an ActionListener callback val actionListener : OnActionListener? = null val view = creator.createViewFromJson(context, json, actionListener)
que forma poderia ser recebida a informação de alguma ação nos componentes? Um listener que é passado no método que cria a view será o responsável por receber valores de ações que são feitas nos components