KEMBAR78
Desktop|Embedded Application API JSR | PDF
[DESKTOP|EMBEDDED] 
APPLICATION API JSR
PREVIOUS ATTEMPTS 
JSR 193 – Client Side Container 
JSR 296 – Swing Application Framework 
JSR 295 – Beans Binding 
JSR 296 had the following goals 
application life cycle 
localized resources (and injection) 
persisted session state 
loosely coupled actions 
targeted only Swing for obvious reasons
CURRENT STATE 
Several UI toolkits to choose from: 
Swing, JavaFX, SWT 
Apache Pivot, Lanterna, Qt 
Several frameworks to choose from: 
Eclipse 4 Platform, NetBeans 
Griffon 
DataFX, JacpFX, MvvmFX, JVx 
and more …
FRAMEWORKS 
Many of the listed frameworks offer the following capabilities 
implemented in different ways: 
application life cycle 
localized resources (and injection) 
persisted session state 
loosely coupled actions 
dependency injection 
event system 
centralized error management 
extension points via plugins
TARGET ENVIRONMENT 
All of the listed frameworks support the Desktop as target 
environment. 
Only a few can be used in an Embedded environment (where 
Java SE is supported). 
Embedded Java UI applications can be built as applications 
that target the Desktop; share codebase even.
GOALS OF THIS JSR 
Target Desktop and Embedded environments 
Support several toolkits 
Be an standalone JSR, i.e, no need to include in JDK 
Leverage existing JSRs: 
JSR 330 – Dependency Injection 
JSR 365 – Event bus (from CDI 2.0) 
Java Config (?)
CORE FEATURES 
application life cycle 
localized resources (and injection) 
configuration 
MVC artifacts 
loosely coupled actions 
dependency injection 
event system 
centralized error management 
extension points via plugins
POSSIBLE ADDITIONS 
Runtime: 
persisted session state 
artifact introspection API 
Buildtime: 
test support 
deployment
SUPPORTERS 
Java Champions such as 
Johan Voss, Alan Williamson, Lars Vogel, 
Jim Weaver, Gerrit Grunwald 
Well known Java community members 
Sven Reimers, Hendrik Ebbers, 
Anatole Tresch, Sharat Chander, 
Raj Mahendra (JUG Hyderabad) 
Mohamed Taman (Morocco JUG) 
Vendors 
BSI (interested)
QUESTIONS?

Desktop|Embedded Application API JSR

  • 1.
  • 3.
    PREVIOUS ATTEMPTS JSR193 – Client Side Container JSR 296 – Swing Application Framework JSR 295 – Beans Binding JSR 296 had the following goals application life cycle localized resources (and injection) persisted session state loosely coupled actions targeted only Swing for obvious reasons
  • 4.
    CURRENT STATE SeveralUI toolkits to choose from: Swing, JavaFX, SWT Apache Pivot, Lanterna, Qt Several frameworks to choose from: Eclipse 4 Platform, NetBeans Griffon DataFX, JacpFX, MvvmFX, JVx and more …
  • 5.
    FRAMEWORKS Many ofthe listed frameworks offer the following capabilities implemented in different ways: application life cycle localized resources (and injection) persisted session state loosely coupled actions dependency injection event system centralized error management extension points via plugins
  • 6.
    TARGET ENVIRONMENT Allof the listed frameworks support the Desktop as target environment. Only a few can be used in an Embedded environment (where Java SE is supported). Embedded Java UI applications can be built as applications that target the Desktop; share codebase even.
  • 7.
    GOALS OF THISJSR Target Desktop and Embedded environments Support several toolkits Be an standalone JSR, i.e, no need to include in JDK Leverage existing JSRs: JSR 330 – Dependency Injection JSR 365 – Event bus (from CDI 2.0) Java Config (?)
  • 8.
    CORE FEATURES applicationlife cycle localized resources (and injection) configuration MVC artifacts loosely coupled actions dependency injection event system centralized error management extension points via plugins
  • 9.
    POSSIBLE ADDITIONS Runtime: persisted session state artifact introspection API Buildtime: test support deployment
  • 10.
    SUPPORTERS Java Championssuch as Johan Voss, Alan Williamson, Lars Vogel, Jim Weaver, Gerrit Grunwald Well known Java community members Sven Reimers, Hendrik Ebbers, Anatole Tresch, Sharat Chander, Raj Mahendra (JUG Hyderabad) Mohamed Taman (Morocco JUG) Vendors BSI (interested)
  • 11.