我问的是 Dart 中使用 YAML 进行包管理的原因
pubspec.yaml
,为什么他们选择 YAML,而不是 JSON? YAML 中的独特之处是什么,使其成为此用途而不是其他用途的最爱?
我认为:
YAML 更好...就像 Python
在 JSON 中你不能给出评论 对于 flutter/Dart 应用程序维护,当然需要注释,因为 PUBSPEC 文件已创建。
确实JSON文件更小、速度更快,但对于跨平台开发者来说,更注重阅读的方便性和制作的速度。而且,现在移动硬件的发展非常好。
JSON结构比较简单,所以不支持复杂的配置。
但是,YAML...请注意“空白”(制表符 v 空格)很重要。
最重要的是支持评论和更好的可读性
JSON 的设计目标是尽可能简单且通用。这在一定程度上降低了数据的可读性。相比之下,YAML 的设计目标是提供良好的人类可读格式,并提供对序列化任意本机数据结构的支持。
我是设计 pub 和 pubspec.yaml 格式的两个人之一。
我们选择 YAML 而不是 JSON,因为 JSON 不正式支持注释,而我们需要一个配置文件,让用户可以暂时注释掉其中的部分内容并添加解释性的注释。
当时,YAML 是最流行的配置文件格式之一,支持我们需要的一切以及更多。总的来说,它可以很好地满足我们的需求,尽管我确实希望它更简单并且不那么脆弱。
如果 JSON 支持注释,我们就会使用它。