emf是什么格式

Sapphire是一个新提出的Eclipse项目,旨在简化UI开发。 JAXenter与最初的提交者Konstantin Komissarchik进行了交流,以了解Sapphire如何与e4,EMF相适应,以及Oracle为什么要帮助将Sapphire开发为Eclipse项目……。

JAXenter:您认为编写Java桌面UI的当前陷阱是什么?

Konstantin Komissarchik:无论使用哪种窗口小部件工具包,开发人员使用的API都旨在优化灵活性并尽可能减少假设。 如果您要开发真正独特的东西,那就太好了,但是每天编写的大部分UI都不能从这种灵活性中受益。 实际上,它受到了伤害。 实现简单的屏幕不仅需要大量工作,而且很难实现一致性。 开发人员实现了不同的UI模式来解决相似的问题。 在诸如布局,按钮宽度和边距之类的普通项目上花费了大量的时间来实现一致性。

令人惊讶的是,仅用一个浏览按钮显示一个文本字段就必须编写多少UI代码,确保发生数据绑定和验证问题浮出水面。 该代码成为产品的维护责任。 甚至最好的开发人员也陷入使UI组件直接与其他UI组件进行对话的陷阱。 由此产生的事件处理程序网络将来几乎不可能维护和发展。

最重要的是,所编写的代码与特定的窗口小部件工具箱相关联。 如果要将应用程序从Swing迁移到Eclipse RCP,则必须从头开始重新编写所有UI。 如果您有一个满意的桌面应用程序,但是要添加基于浏览器的客户端,则必须再次从头开始。

JAXenter:像Sapphire一样,用UI中的属性编辑器替换小部件有什么好处?

Konstantin Komissarchik: Sapphire方法的好处是,开发人员告诉系统他想完成什么而不是如何完成。 使用Sapphire,开发人员说“我要编辑人员对象的LastName属性。” 使用SWT之类的小部件工具箱,开发人员说“创建标签,创建文本框,像这样布置它们,配置其设置,设置数据绑定等。”

使用Sapphire,类似的数据模式将以类似的方式出现在UI中。 不仅如此,UI定义从本质上讲更加可移植。 由于Sapphire并未规定编辑给定属性的确切方式,因此渲染器的实现者可以选择一种最适合他们所针对的平台的方法。 相同的UI定义可以生成用于丰富桌面体验的SWT应用程序,以及可以在恶劣的网络条件下在旧浏览器中运行的Web应用程序。

JAXenter: Sapphire和e4的UI规范声明方法有何不同?

Konstantin Komissarchik: e4 UI定义由单个小部件组成UI,而Sapphire UI定义由属性编辑器组成UI。 两者都有自己的位置。 e4项目将产生下一代Eclipse RCP,并具有处理任意复杂的UI需求的能力。 蓝宝石将位于此之上,并将提供一种高级语言,适用于要求更为平凡的大多数情况。

JAXenter:对于Sapphire,您为什么选择不使用EMF作为建模框架?

Konstantin Komissarchik:我们花了很多时间在内部进行辩论。 实际上,第一次尝试是基于EMF。 最终,它归结为易于使用并且学习曲线浅。 我们使用Sapphire的目标是改善开发人员编写UI的方式。 尽管我们的方法以数据模型为中心,但从根本上讲,我们并不是在促进建模。 归结为尽最大努力利用典型Java开发人员已经具备的知识。 我们不想学习复杂的建模框架成为采用的障碍。 例如,Sapphire的建模框架使用Java批注,并且对进行JAXB或JPA开发的任何人都会很熟悉。

同时,我们不希望将已经在EMF上进行投资的开发人员从Sapphire中受益。 我们对探索蓝宝石可以利用现有EMF模型的方式感兴趣。

JAXenter: Sapphire的最初代码贡献来自Oracle的Eclipse Enterprise Pack。 Oracle将Sapphire开发为Eclipse项目的动机是什么?

Konstantin Komissarchik:多种动机导致了这一举动。 首先,OEPE利用来自Eclipse项目的工具来为Oracle客户创建完整的解决方案。 如果这些项目可以使用Sapphire,那么随着项目能够更快地生成高质量的UI,我们可以看到针对标准技术的更好工具。 当然,这直接使Oracle受益。

我们还意识到,我们自己无法充分发挥蓝宝石的潜力。 例如,我们目前只有一个SWT渲染器。 我们很乐意与Eclipse社区的其他成员一起建立高质量渲染器库,因为这将为每个人增加Sapphire的价值。

翻译自: https://jaxenter.com/sapphire-the-first-attempt-was-emf-based-101701.html

emf是什么格式

emf是什么格式_蓝宝石:第一次尝试是基于EMF。相关推荐

  1. 完美通行证身份证号格式_使用通行证js进行节点js身份验证

    完美通行证身份证号格式 In this article, I will share my knowledge of authenticating node.js server using passpo ...

  2. 黑客马拉松 招募_我如何赢得第一次黑客马拉松-研究,设计和编码的2个狂野日子

    黑客马拉松 招募 I had no coding or engineering background. I studied biology in college, with no clue about ...

  3. 腾讯视频下载格式_怎么下载腾讯视频

    不管这个腾讯视频好用与否,都有一大批用户,本文播放器家园网小编分享腾讯视频下载格式_怎么下载腾讯视频.腾讯视频时刻为您推荐最新最火的视频,精彩不断随时观看.支持各种画质的下载,没网也能享受高视觉的享受 ...

  4. Office文档上传后实时转换为PDF格式_图片文件上传后实时裁剪_实现在线预览Office文档

    Office文档上传后实时转换为PDF格式_图片文件上传后实时裁剪 前置条件 安装LibreOffice 安装OpenOffice 安装Unoconv 安装ImageMagick.x86_64 安装G ...

  5. linux 解压安卓kernel,android kernel | 环境搭建 + 第一次尝试

    搭建环境过于艰辛,做个记录.... 环境搭建 内核代码下载 git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git 漏洞项目代码 ...

  6. skyline R34与R35分类器---第一次尝试

    skyline R34与R35分类器-第一次尝试 本篇旨在记录我第一次基于薄弱的理论基础,通过自己获取skyline图像数据集,企图实现R34 与 R35的二分类,最终效果一般(很多地方未做优化,尤其 ...

  7. 硬盘突然变raw格式_磁盘分区变成RAW格式怎么办?手把手教你解决方法

    分区变成RAW格式怎么办? 移动硬盘.U盘.硬盘.SD卡都是很常用的数据存储设备,用户在平时使用这些设备的时候难免会因各种原因而遇到一些问题,例如分区变成RAW格式.无法访问.提示格式化.误删除等.遇 ...

  8. Win10怎么把磁盘格式化成exfat格式_使用命令格式化磁盘为exfat的方法

    Win10怎么把磁盘格式化成exfat格式_使用命令格式化磁盘为exfat的方法 发布时间:2020-03-10 14:24发布者:系统城-liumei浏览数:1100 exFAT是Microsoft ...

  9. emf矢量图格式转eps格式,解决Illustrator无法打开emf等格式

    一般SCI期刊要求图片为eps格式 步骤1 使用ppt绘图,保存为emf矢量图格式 步骤2 新建Word,将上步保存的矢量图插入,再保存为pdf格式 步骤3 使用 Adobe Illustrator ...

最新文章

  1. 原生态纯JavaScript 100大技巧大收集
  2. 弹框--更新下载--安装
  3. 第四-generation音频:互联网智能声音会火
  4. python计算分段函数_Python练习题2.2计算分段函数
  5. mysql 数据库乱码_Mysql数据库乱码问题的对应方式
  6. Android 图标上面添加提醒(二)使用开源UI类库 Viewbadger
  7. Netty工作笔记0054---EventLoop组件
  8. mysql的联表删除
  9. opencv漫水填充算法
  10. Kaggle实战之leaf classification(树叶分类)
  11. C#获得汉字对应区位码
  12. 微软office Excel 2013 2016 如何启用宏功能的图文教程
  13. opencv: C++实现将彩色图转换为灰色图
  14. matlab中dstep与step,DINT和DWORD的区别
  15. 深入理解快速排序和STL的sort算法
  16. Midjourney:一步一步教你如何使用 AI 绘画 MJ
  17. 邮箱每日发送有上限吗?各大邮箱每天限制发信数量多少?
  18. python输出26个大写字母_python 一句话输出26个英文字母
  19. java版FFT/STFT——转载
  20. 基于局部平面拟合的法向估计

热门文章

  1. 个人设计web前端大作业
  2. Android监控屏幕解锁和点亮
  3. 基于Q_learning的宝藏猎人
  4. 百度统计的token值和站点ID怎么获取?附图文教程
  5. ZBlog神马MIP数据提交收录SEO插件
  6. scikit-learn: isotonic regression(保序回归,非常有意思,仅做知识点了解,但差点儿没用到过)...
  7. Python数据分析与机器学习实战<八>决策树、随机森林
  8. TypeScript2
  9. 黑盒测试之正交试验法
  10. B 端和 C 端的区别