e(fx)clipse, from BestSolution.at

JavaFX 2.0 Tooling and Runtime for Eclipse and OSGi

Tooling

e(fx)clipse provides JavaFX tooling for the Eclipse IDE. We are currently supporting Eclipse 3.7.2 and the currently developed Eclipse 4.2.

  • JDT Support
  • PDE Support
  • UI DSL to author FXML
  • ...

Runtime

It's not all about tooling in the e(fx)clipse project but we are also providing a runtime platform and libraries you can use in your JavaFX 2.0 applications.

  • Support for OSGi
  • Support for the Eclipse 4 Application Platform
  • ...

Platforms

JavaFX 2.0 is currently only available on Windows (GA), Mac OS X (Beta) and Linux (Developer Preview) the tooling is currently supported on all those 3 platforms as well.

JDT

By integrating into Eclipse JDT e.g. by providing a specialized classpath container, e(fx)clipse allows users to develop JavaFX applications like they develop Swing and SWT applications

PDE

By integrating into PDE e.g. by providing an enhanced PDEClasspath container, e(fx)clipse makes developing JavaFX applications for Eclipse Equinox as easy as developing SWT/Swing applications

DSL

JavaFX 2.0 allows to define the UI structure using an XML-Format named FXML unlike other XML-Formats this one has no DTD/Schema but in fact serialization for an arbitary (javafx) objectgraph which means standard XML editors are useless when it comes to fxml.

e(fx)clipse is going anther route by providing a tooling for a very simple object graph definition language named fxgraph which gets translated into fxml in the background. So at runtime you don't need an extra library because JavaFX 2.0 can load fxml-Files "natively".

One of the coolest feature of fxgraph is that it integrates with JDT (e.g. you get the JavaDoc for all referenced elements, autocompletion support, ...). The DSL allows the user to attach some extra information - e.g. CSS-Files - so that the integrated Live-Preview can make use of them.

CSS

Almost all IDEs provide a CSS-Editor but this editor only knows about the attributes used inside HTML-Browser applications. By providing a specialized CSS-Editor - who knows the CSS-Properties used by JavaFX 2.0 - authoring CSS files for your JavaFX application gets as easy as in web projects.

If you define your UI using fxgraph another nice feature is that you see directly what a change in your CSS-Definition will have in your application at runtime which helps you to try out different CSS settings without having to start and stop your application.

FXML

FXML is an DTD/Schemaless XML-Serialization specification to define JavaFX-UIs and Java object graphs in general. e(fx)clipse provides you advanced tooling to author this file format. Because the FXML-File references Java-Elements the editor tightly integrates with the JDT to e.g. show JavaDoc of Java-Elements like Classes, Methods, ... .

JRE

The e(fx)clipse standard library provides some useful extensions when writing JavaFX. The library provides for example additional layout panels people are familiar with in the SWT, using Google Guice together with FXML, Eclipse Databinding for JavaFX-Properties, ... .

OSGi

Unfortunately JavaFX is not written with OSGi in mind so there are various places which are causing problems when running inside OSGi ranging from the fact JavaFX-Binaries are located somewhere on the users system, to problems when it comes to class loading because of OSGi's visibility rules. e(fx)clipse provides helper libraries to deal with all those problems and makes writing JavaFX applications ontop of Eclipse Equinox a feel as easy as it is with SWT and Swing

RCP

At the moment one wants to develop medium to big JavaFX application one immediately asks for a platform which e.g. provides a command/handler framework, a generic extension API, dependency injection, ... . Fortunately such a platform has been written already for the Eclipse 4.x SDK because of the design of this platform it can be used with an UI-Technology and so e(fx)clipse provides support by providing so called JavaFX-Renderers to write JavaFX RCP applications