Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Incubator/Platform/UFacekit"

(UFacekit Design)
(UFacekit Design)
Line 38: Line 38:
  
 
As already mentionned all UFacekit deliverables are packaged as OSGi-Bundles. By following the OSGi-standards it can be used with any OSGi implementation following the standards (Felix, Knopplerfish, ...).
 
As already mentionned all UFacekit deliverables are packaged as OSGi-Bundles. By following the OSGi-standards it can be used with any OSGi implementation following the standards (Felix, Knopplerfish, ...).
[[Image:UFaceKitUML.png]]
+
[[Image:UFaceKitUML.png|1000px]]
  
 
==Relationship with other Eclipse-based Projects==
 
==Relationship with other Eclipse-based Projects==

Revision as of 16:47, 6 September 2008

Introduction

UFacekit is a proposed open source component under the Eclipse Platform Incubator project. UFacekit's purpose is to:

  • improve adoption of Eclipse Core technologies (like Eclipse-Databinding) outside RCP and SWT (e.g. Swing, GWT-Applications)
  • improve usability of Eclipse-Databinding by providing a high-level Widget-API

Background

Since the 3.3 release Eclipse ships a top-notch databinding libary (Eclipse-Databinding) to easy development of UI-Application backed with a model. In time of 3.4 we saw adoption of Eclipse-Databinding in many RCP applications and new libraries supporting model implementations (EMF) beside JavaBeans(tm) but we didn't saw support for other Widget-Toolkit (like Swing, GWT, ...) although the main libary is designed to make this possible. This means that Eclipse-Databinding is not used in applications who are not using SWT and JFace although there's no good reason to do so.

UFacekit was started a year ago by James Strachan and Tom Schindl (Angelo Zerr and Kenneth Westelinck joined the project later) with the following set of targets:

  • promote reuse of rich UI code across Eclipse (JFace/SWT), GWT and Swing runtimes by providing a facade around different UI-Technologies
  • promote the use of JFace Data Binding within GWT and Swing communities by providing Eclipse-Databinding-Observable implementations for them
  • simplify rich UI development by providing simpler facades and powerful binding

Scope

The objectives for an initial version of UFacekit are:

  • a highlevel, widget-toolkit and model-indepent Widget API to easily bind widgets (including validation and decoration support)
    • UI
      • implementation for SWT/JFace
      • implementation for Swing
    • Model
      • JavaBeans
      • EObjects (EMF)
      • UBeans
  • Observable implementations for Swing
  • Observable implementations for UBean
  • Observable implementations for XML-DOM
  • org.eclipse.core.databinding for use in GWT applications based upon current stable Eclipse release
  • Observable implementations for GWT-Widgets

Additional functionality considered for later versions of UFacekit:

  • Support for Eclipse-Forms
  • Support to define UI and UFacekit-Applications (Upplication) using EMF
  • Support to design Upplications using GEF
  • Support for other Java-UI-Toolkits (QT-Jambi, DOJO, ...)
  • Declarative Styling

UFacekit Design

UFacekit is designed in a modular way as OSGi-Bundles to use its subcomponents without a minimal set of dependencies. A developer only wants to use Eclipse-Databinding in his/her project she will only use the Swing-Observables-Bundle, if he/she only wants to use a light weight model implementation he/she only takes the UBean-Bundles.

As already mentionned all UFacekit deliverables are packaged as OSGi-Bundles. By following the OSGi-standards it can be used with any OSGi implementation following the standards (Felix, Knopplerfish, ...). UFaceKitUML.png

Relationship with other Eclipse-based Projects

UFacekit has a strong relation to the following projects:

  • Eclipse-Databinding (Core & JFace) providing the foundation for the high-level API
  • EMF

Organization

Initial Committers

  • Tom Schindl - tom.schindl@bestsolution.at
  • James Strachan
  • Angelo Zerr
  • Kenneth Westelinck

Initial Code Contribution

UFacekit-Project

Interested Parties

Tentative Plan

Q4 - 2008: A first not feature complete release

Q1 - 2009: First public release

Back to the top