What is the relationship between AWT, SWT, Swing, SAF/JSR-296, JFace, the NetBeans Platform and the Eclipse RCP

StackOverflow https://stackoverflow.com/questions/4976170

سؤال

I am looking for something that puts this alphabet soup into perspective. It would be nice if it were light on the politics of the differences and tries to illuminate the similarities (if there are any).

هل كانت مفيدة؟

المحلول

similarities :

rendering -> graphic library -> plaform

AWT -> SWING -> NETBEANS PLATFORM
             -> jsr 296
SWT -> JFACE -> eclipse rcp

rendering toolkit provides basic capabilities canvas drawing, label, text, combobox,...

graphic library introduces MVC patterns, higher level component (sortable tables,date picker...)

platform help having modular application composed of modules, extending capabilities of other modules.It also adds enterprise features like background tasks, deployment solution, help mechanism, preferences store,...


differences

swt :

  • native look,
  • native implementation resource (font, images,...) should be disposed by the developper. layers on top (jface, eclipse) tries to limit leaks of theses resources.
  • most OS are supported.
  • swt composites can contains awt/swing components
  • constructor based api for container/component relationship (new Child(parent))

awt/swing :

  • jvm implementation carries the specific os implementation
  • except if using different look and feel, you see that the application isn't native
  • collection based api for container/component relationship (parent.add(child))

eclipse :

  • based on osgi to host plugins;
  • this enables robust dependency resolution, multiple versions,...)

netbeans rcp :

  • specific implementation for plugins not reusing osgi.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top