首页 > 解决方案 > 使用文本模板或 DSL [例如 YAML 或 JSX] 创建小部件

问题描述

是否有标准的颤振模式/包通过存储在类似 YAML 的文件中的规范来实例化 UI 的组件?

虽然我当然可以这样写:

   Scaffold(
      body: Center(
        child: Column(
          children: <Widget>[
            Text(

我可能更喜欢加载一些类似 YAML 的描述,这反过来会创建这个小部件层次结构。

模板/DSL 需要有插槽,可以在其中以编程方式插入其他小部件,并且必须连接到用代码编写的逻辑。

问:这样的东西存在吗?

标签: dartflutter

解决方案


对此的简短回答是否定的。

长答案是......仍然没有。但是社区对某种 DSL 很感兴趣,如果某个时候没有开发出来,我会感到非常惊讶。它是否会有官方支持和工具支持是另一个问题(正在进行工作以允许更多可扩展的自定义构建步骤,这肯定可以简化这一点)。有关DSL(即 JSX,但它表明如果 Flutter 要支持 JSX,它将通过启用其他 DSL 的机制)进行非常广泛(有时是激烈)的讨论,请参阅这个颤振 github 问题。


推荐阅读