1

为什么我们必须运行 build.dart 脚本来使用 web_ui 进行开发?

我认为这是一个关于 web_ui 的常见菜鸟问题,但我没有找到答案。也许我错过了一些网络资源或文章。

Angular.js 或 Polymer MDV 不需要它,它们使用双向绑定。对于未来版本的 Web_ui 或 Chronium 版本,build.dart 是否仍然需要?

web_ui 的这一面让我有点失望,我觉得它可能会阻止开发人员使用它。

另一点是我不喜欢在“web”和另一个“web/out”目录中使用 HTML 源的项目组织?我们可以将脚本配置为具有另一个输出目录,例如用于模板的“templates”和用于输出的“web”吗?比

4

1 回答 1

3

如果要使用@observable,则需要运行代码生成步骤。因为 Dart 是一种更加结构化的语言,所以目前无法在运行时添加方法或更改对象的结构。因此,我们必须运行一个小的代码生成步骤,将其转换@observable为代码以跟踪和通知更改。

Polymer 不需要这个,因为它们可以在运行时更改对象。此外,Object.observe 正在登陆 V8(已经登陆?),这意味着运行时会自动执行可观察性。

我们知道这是一个问题,并且我们对如何解决它有一些想法。

  1. 构建一个自动为您构建的开发服务器。
  2. 实现(最终)镜像构建器,这将允许您在运行时更改程序结构。

选项 1 是近期解决方案,选项 2 是长期解决方案。

于 2013-06-13T11:55:24.813 回答