Today the JSR for Desktop & Embedded Applications has been started and I’m proud to be part of it. The main goal of this JSR is to define a specification for common issues and behaviors that are shared between most desktop applications. This contains the following topics:

  • dependency injection via JSR330
  • common application structure
  • application life-cycle
  • localized resources
  • resource injection
  • localized configuration
  • decouple state from UI (binding)
  • persistence session state (preferences)
  • action management
  • component life-cycle
  • light-weight event bus
  • honor threading concerns (specific to UI toolkit)
  • application extensibility via plugins (implies modularity)

Until now there isn’t any line of code but I think that parts of the JSR will be influenced by some Application Frameworks like DataFX or Griffon. In addition Eclipse RCP and Netbeans have solved some of these problems and will be used as inspiration.

The website of the JSR can be found here. If you want to discuss about the JSR you should join the mailing list and star / watch the github repositories.

Oh, and because it’s a JSR it has an official number: JSR 377