AWT,SWT,Swing,SAF/JSR-296,JFace,NetBeans平台和Eclipse RCP之间的关系是什么

vkr*_*mer 6 java user-interface eclipse-rcp netbeans-platform

我正在寻找能够透视这个字母汤的东西.如果对差异的政治有所了解并尝试阐明相似之处(如果有的话),那就太好了.

mes*_*chs 11

相似之处:

rendering -> graphic library -> plaform

AWT -> SWING -> NETBEANS PLATFORM
             -> jsr 296
SWT -> JFACE -> eclipse rcp
Run Code Online (Sandbox Code Playgroud)

渲染工具包 提供画布绘图,标签,文本,组合框等基本功能...

图形库 引入了MVC模式,更高级别的组件(可排序表,日期选择器......)

平台 帮助模块化应用程序组成模块,扩展其他模块的功能.它还增加了企业功能,如后台任务,部署解决方案,帮助机制,首选项存储,...


分歧

swt:

  • 原生外观,
  • 本机实现资源(字体,图像,...)应由开发人员处理.顶部的层(jface,eclipse)试图限制这些资源的泄漏.
  • 支持大多数操作系统.
  • swt复合材料可以包含awt/swing组件
  • 基于构造函数的api用于容器/组件关系(new Child(parent))

awt/swing:

  • jvm实现带有特定的os实现
  • 除非使用不同的外观,您会看到该应用程序不是原生的
  • 基于集合的api用于容器/组件关系(parent.add(child))

日食:

  • 基于osgi来托管插件;
  • 这可以实现强大的依赖解析,多个版本,...)

netbeans rcp:

  • 插件的具体实现不能重用osgi.