Transcript
Page 1: Technology independent UI development with JVx

UI independentApplication Development

in practice

Roland Hörmann

Page 2: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Are there enough web UI frameworks?

Which one will work in 5 or 10 years?

Core Applications have to run longer?

How can I handle different UI Plattforms?

Page 3: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

An

UI independent Framework

is the solution

Page 4: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Same Source Code – different UI Platforms

Small & simple

Full Stack Framework

- Web, Mobile & Desktop Applications

Swing

HTML5 + Ajax

Native iOS & Android

Page 5: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Web

Page 6: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Mobile

Same Source Code!

Page 7: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Desktop Swing

Same Source Code!

Page 8: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Overview

HTML5 + Ajax

Mobile

Native iOS & Android

Web Desktop

GU

I Te

chn

olo

gie

s

Swing

Others…

FX, …

Same Java Source Code

You

rA

pp

licat

ion

Business Logic, Persistence, Database

Page 9: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

GUI Architecture

HTML5 + Ajax

Web Desktop

GU

I Te

chn

olo

gies

Swing

Others…

FX, …

Same Java GUI Source Code

You

rA

pp

licat

ion

GUI specificLauncher

GUI API – javax.rad.genui.*

JVx.swing JVx.fxJVx.vaadinGUI specificImplementation

ApplicationWeb Start

ApplicationBrowser

Page 10: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

GUI Architecture

Mobile

Native iOS & Android

GU

I Te

chn

olo

gies

Same Java Source Code

You

rA

pp

licat

ion

REST

GUI API – javax.rad.genui.*

Native iOS & Android App

JVx.mobile Server

Simple representation of Screens formobile usage and handles all serverinteractions.

Headless instantiation ofScreens

Page 11: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

System Architecture

Mobile

PersistenceContext und Dependency Management Authentication Management

Serv

er

Web Desktop

Clie

nt

iOS & Android App Browser Java ClientWeb Start

GUI API – javax.rad.genui.*

GUI

Business Logic, PersistenceYou

rA

pp

licat

ion

Page 12: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

General Features

• Open Source Application Framework– Apache 2.0 License

• Full Stack Framework– Full Application Stack (GUI to Persistence)– Simple APIs, short learning curve– Well documented– Easy to extend

• Database independent• Applicationsserver independent• Multi-Tier Architecture

Page 13: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Major GUI Features

• GUI platform independent– Web (vaadin)

– Mobile (iOS, Android)

– Desktop (Swing, in the future JavaFx)

• Unified dynamic model for all data-bound GUI controls– Uses persistence metadata as base

Datatypes, Sizes, Datatype dependent editors(e.g.: „Date“ -> date editor, Master data -> Dropdown list)

– Editor (Number, Date, Dropdown), Table, Tree, Chart

Page 14: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Global Features 1/2

• Flexible authentication management withdifferent security managers– Database table, NTLM, LDAP, XML

• CRUD Triggers on Client & ApplicationServer– Before/After Insert, Update, Delete, Select, …

• Event & Listener concept

• Multilanguage support

Page 15: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

Global Features 2/2

• Lazy Loading– Only visible information is loaded

– No Paging, fully integrated in GUI Controls

– Millions of records can be processed

• Flexible application frame– Integrated in the Framework – consisting of Toolbar, Menu,

Login/out, Change password, Help, About, Save, Reload, …..

– Easy to extend and easy to adjust.-> Corporate Design – CSS, Layout-> Web Applicationen style

– Fully user-definable application frame through usage ofinterfaces

Page 16: Technology independent UI development with JVx

JVx - Application Framework

UI independent application development in practice

More Features

• Online Help System for Web & Desktop Applications

– Table of contents, Search, HTML

• User and roles management– Database tables, if Rolle==admin then function x

Page 17: Technology independent UI development with JVx

- Web, Mobile & Desktop Applications

http://sourceforge.net/projects/jvx/


Top Related