我刚刚开始尝试使用Eclipse GMF。
- 有人使用这个框架过吗?
- 你在使用它时有什么好的或坏的经验吗?
- 你能推荐任何其他的图形建模工具吗?
- 编辑:有哪些好的例子可以参考?
我刚刚开始尝试使用Eclipse GMF。
有人用过这个框架吗? 是的,我现在正在使用它。它可以工作,但通常需要编写相当多的代码来生成图形。我目前正在努力利用建立在 GMF 之上的 IBM RSA/RSM UML 编辑部件/图形/节点等。
你是否有过任何好或坏的使用经历? 回顾我最初涉足 GMF/EMF/GEF 等的经历,我可以确定地说,要研究示例。这些示例中有一些重要的模式,是你必须从中学习的,而不是从文档中学习的。我还建议阅读一本新书(Eclipse Modeling Project: A Domain-Specific Language (DSL)),专门介绍 Eclipse 中的 GMF 建模。我浏览过这本书,似乎是一些更基本概念的缺失手册。为什么这本书很好呢?因为它专注于通过将 UML/Models 约束到特定领域并提供一个只允许创建有效模型的工具,从而使 UML/Models 有用。网络上没有很多文档,而 API 只能告诉你很少的信息。小心 repaint/paint 循环,这是由于在子项上调用 setBounds() 或其他 set 方法导致的,它会使 Eclipse 实例崩溃,不好玩。哦对了,API 在 eclipse 帮助文档版本之间被拆分或根本没有包含。
你能推荐任何其他的图形建模替代方案吗? 考虑使用具有自定义图像和图标的 UML profile,而不是完整的形状生成。利用 UML 图形对象和 UML profiles,花费约 2 小时就可以构建一个非常好的图像/图标编辑器。IBM RSM 工具 UML Profile 工具项目可以快速完成这项工作。通过 Eclipse 插件或 OCL,您可以在受限的 UML profiles 中做很多事情。进入 GMF 领域需要增加一个数量级的工作量,从 1 到 10 小时都没有问题。
考虑一下现有的纯DSL(领域特定语言)工具。谷歌会提供一个很好的列表。根据我所见,使用GMF的主要原因是Eclipse集成和利用现有的ecore/UML模型,这也是我使用GMF的原因。
问问自己,我需要一个易于使用的模型还是需要一个创建该模型实例的工具?如果只有1-5个专家用户,则可能不需要一个时髦的工具。
使用GMF,大多数编辑器代码可以为您生成,但主要的复杂性来自于必须修改它。
作为最近的替代方案,您可以尝试 Graphiti 和 Spray。 这里是 GMF 和 Graphiti 之间的比较 和 另一个比较。