有人在 .NET 中使用 YAML 作为数据 DSL 吗?我想使用 YAML,因为它比 XML 更轻量级。我打算将此 DSL 用作我现有应用程序之一的“高级用户”配置工具。
我的担忧:
- 使用 .NET 社区库之一对 YAML 的支持如何?
- YAML 有持久力吗?4年后还会有吗?或者我们会谈论其他格式吗?我知道 JSON 和 XML 将会出现一段时间,但我的用户不想编写或维护 JSON 或 XML 文档。
有人在 .NET 中使用 YAML 作为数据 DSL 吗?我想使用 YAML,因为它比 XML 更轻量级。我打算将此 DSL 用作我现有应用程序之一的“高级用户”配置工具。
我的担忧:
您是否考虑过使用 IronPython 脚本?这样,您不仅可以解释简单的键值类型的东西,还可以将动态执行和计算添加到您的高级用户配置中。
值得一试,因为托管 IronPython 非常简单,而且语法非常干净且易于用户阅读,即使他们不了解 Python。
如果它是面向用户的文档,请不要担心 YAML 的“持久力”。担心让用户对某些 DSL 感到满意。话虽如此,我会选择 YAML 而不是 XML。
在面向用户的部分之外,我不会过多地使用 YAML。XML 有更多的用途*我可以想象*,使用更丰富和更广泛使用的东西(尤其是 .NET)将符合您的最大利益。
即使您必须创建自己的语言来满足您的用户,不强迫他们查看 XML 可能也是值得的。
有可以构造和解析 YAML 的 YAML 库,但我似乎找不到任何方法来序列化任意对象,例如用于 C# 的 XML 或用于 Ruby 的 YAML。