“DSL 工具”和“DSL 工具”有什么区别? 和“奥斯陆”?
我刚刚开始使用特定于域的工具开发,并且正在使用 Visual Studio SDK DSL 工具。 然而,我听说微软还有另一个针对特定领域开发的举措,称为“Oslo”。
我的印象是 DSL Tools 专注于图形领域特定语言,而 Oslo 专注于文本语言,但我不确定这一点。
有人可以指出“DSL Tools”和“Oslo”之间有什么区别吗?
I've just started playing with domain-specific tools development, and I'm playing with Visual Studio SDK DSL Tools. However, I heard that Microsoft have another initiative into domain-specific development called "Oslo".
My impression is that DSL Tools is focused on graphical domain-specific languages, whereas Oslo is focused on textual one, but I'm not sure about it.
May someone pointing out what are the differences between "DSL Tools" and "Oslo"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
奥斯陆和 DSL 工具包< /a>
DSL 工具和奥斯陆< /a>
那些 MSDN 博客的帖子回答了这个问题。
Oslo and the DSL Toolkit
DSL Tools and Oslo
Those MSDN blogs' posts answer that question.
你是对的。 DSL 工具包用于创建图形 DSL 设计器。 然后,该设计器可以在 Visual Studio 内部(或您自己的主机程序内部)运行,以创建 DSL 模型的实例。 在 Visual Studio 的上下文中,这些实例可用于使用 Visual Studio 中内置的 T4 文本模板引擎生成代码或其他基于文本的工件。
还要注意,设计者不需要有图形设计界面。 创建域模型后,您可以从分层资源管理器视图或通过代码填充它。 从域模型为您生成的内容之一是用于访问模型实例的强类型 API。
You're correct. The DSL Toolkit is used to create a graphical DSL designer. This designer can then run inside of Visual Studio (or inside your own host program) in order to create instances of the DSL model. In the context of Visual Studio, these instances can then be used to generate code or other text-based artifacts, using the T4 text templating engine built into Visual Studio.
Note also that the designer does not need to have a graphical design surface. Once the domain model has been created, you can populate it from a hierarchical explorer view, or through code. One of the things generated for you from your domain model is a strongly-typed API for accessing instances of the model.
主要的两个区别是愿景和划分。
愿景,因为 DSL Tools 专注于构建在 Visual Studio 或 Visual Studio Shell 内运行的特定于领域的开发环境,而 Oslo 希望实现更轻松的数据编程,并且作为副产品还提供用于构建 DSL 的工具帮助您用自制语言指定数据。
部门,因为两次投资是在不同的部门,所以完全是不同的团队。 他们说,我们希望团队能够互相交谈,但没有人真正知道。
未来,奥斯陆(两周后不再称为奥斯陆)很可能将为 DSL 工具(元模型、数据库、查询语言)提供基础设施。 至少我们可以期待两者之间的某种整合。
The main two differences are the vision and the division.
The vision, because DSL Tools focus building domain-specific development environments that run inside Visual Studio or a Visual Studio Shell, while Oslo wants to enable easier data programming and as a side product also offers tools for building DSLs that help you to specify your data in self-made languages.
The division, because the two investments are made in different divisions, hence totally different teams. We hope, and they say, the teams talk to eachother, but no one really knows.
For the future it's most likely that Oslo (in two weeks no longer called Oslo) will provide the infrastructure for DSL Tools (metamodel, database, query-language). At least we can expect some integration between the two.