Single Sourcing for SWT, RAP, JavaFX and GWT with Eclipse 4 and - - PowerPoint PPT Presentation

single sourcing for swt rap javafx and gwt with eclipse 4
SMART_READER_LITE
LIVE PREVIEW

Single Sourcing for SWT, RAP, JavaFX and GWT with Eclipse 4 and - - PowerPoint PPT Presentation

Single Sourcing for SWT, RAP, JavaFX and GWT with Eclipse 4 and Wazaabi San Francisco Pavel Erofeev, Olivier Moses March 20, 2014 Speakers Olivier Moses Wazaabi project lead Pavel Erofeev Wazaabi committer Software architect at EURA


slide-1
SLIDE 1

Single Sourcing for SWT, RAP, JavaFX and GWT with Eclipse 4 and Wazaabi

Pavel Erofeev, Olivier Moïses

San Francisco March 20, 2014

slide-2
SLIDE 2

Speakers

Olivier Moïses Wazaabi project lead Pavel Erofeev Wazaabi committer Software architect at EURA NOVA

slide-3
SLIDE 3

Agenda

  • Why Wazaabi ?
  • What is Wazaabi ?
  • Demo (creation of a form using Wazaabi tools)
  • Integration with Eclipse 4
  • Demo (creation of an e4 RCP app with Wazaabi)
  • Rendering engines for various platforms
  • Demo (RAP, SWT, JavaFX, GWT)
  • Roadmap
slide-4
SLIDE 4

To model the UI:

  • Not to dilute UI structure in the code
  • Compare versions
  • Maintenance
  • Documentation

Why Wazaabi?

slide-5
SLIDE 5

What is Wazaabi

  • Live UI model (EMF)
  • Rendering engine
  • Declarative data binding
  • Tools to create models
slide-6
SLIDE 6

UI Meta-Models

  • Core model

○ common components (label, button, text field, check box, radio button, etc.) ○ common styles (color, font, border, simple layouts, etc.)

  • Specific platform models

○ layouts ○ specific components ○ specific styles

slide-7
SLIDE 7

Rendering Engine

UI models can be rendered live on various platforms:

  • SWT - full support, including Eclipse Forms UI
  • RAP - few restrictions
  • JavaFX - prototype
  • GWT - prototype
slide-8
SLIDE 8

Data Binding & Event Handling

  • Properties of UI components can be bound to fields in

business model ○ Declarative ○ Live

  • Event Handling

○ By default in Java ○ Can be in any JVM language (Groovy, Scala, Clojure) ○ And even in JavaScript

slide-9
SLIDE 9

Wazaabi Tools

  • Tree Editor (ready to be used)
  • DSL (proprietary versions exist)
  • WYSIWYG editor (in progress)

Why do we need special tools?

  • Reduce the distance between design and runtime

(immediate rendering of the model)

  • Rapid prototyping (together with end user)
  • Reduce the time: 1 sec per form (using automatic

creation of draft UI based on domain model)

slide-10
SLIDE 10

Wazaabi Tools

slide-11
SLIDE 11

When to use Wazaabi?

  • Use Wazaabi

○ To create a lot of forms ○ Write once the UI, run on various platforms ○ When your developers are not high skilled

  • Do not use Wazaabi

○ To create complex UIs that require all power of a UI framework (extend Wazaabi instead)

slide-12
SLIDE 12

Demo

Creation of a form using Wazaabi tools

slide-13
SLIDE 13
  • Continuation of live workbench model
  • Integration with e4 mechanism

Integration with E4

slide-14
SLIDE 14

Demo

Creation of an e4 app with a Wazaabi form

slide-15
SLIDE 15
  • SWT fully supported
  • JavaFX, currently in prototype, can be fully supported

(looking for sponsors…)

  • GWT, currently in prototype, need some refactoring

(reflexion ….)

Rendering Engines

slide-16
SLIDE 16

Demo

Single form rendered with SWT, JavaFX, GWT

slide-17
SLIDE 17

Roadmap

  • Release in Eclipse
  • WYSIWYG editor
  • Android rendering engine
  • Vaadin rendering engine
  • Improvement of tools
  • RAP based editor
  • Documentation
  • JSON domain models
slide-18
SLIDE 18

Try it!

www.eclipse.org/wazaabi

slide-19
SLIDE 19

Questions

slide-20
SLIDE 20