Jive the renovation of Aswing

12
The renovation of AsWing Nikolay @grebenshikov_n Grebenshikov Lanit-Tercom, Abakan, Siberia, Russia

Transcript of Jive the renovation of Aswing

The renovation of AsWing

Nikolay @grebenshikov_n Grebenshikov

Lanit-Tercom, Abakan, Siberia, Russia

The roots

A cross platform UI framework based on OpenFL

Java Swing AsWing haXeAsWing

1997

Extensible

Customizable

Loosely coupled

MVC

Ported to AS2

Then to AS3

Ported to Haxe

Adapted to NME

Then OpenFL

Reasons to renovate

A cross platform UI framework based on OpenFL

• Legacy code to maintain and develop

• Imperative and event-driven views

• Graphics from 90s

• The lack of properties

My answers

A cross platform UI framework based on OpenFL

• Declarative views

• Model-View-ViewModel (MVVM)

• Data Binding

• Flat UI

MVVM

A cross platform UI framework based on OpenFL

• View (XML): github.com/profelis/hml

• ViewModel (Haxe): properties, commands

Data Binding

A cross platform UI framework based on OpenFL

<JTextField text="{Binding predator mode=twoway}"/>

Based on the bindx library

@bindable public var predator(get, set): String;

function set_predator(v:String): String {

… bindx.Bind.notify(this.predatorPreySentence); … }

@bindable public var predatorPreySentence(get, null): String;

function get_predatorPreySentence() {

return predator + “bites” + prey; }

ViewModel (haxe):

View (xml):

What’s done now?

A cross platform UI framework based on OpenFL

MVVM Flat UI

For main components

XML Schema generator

XML completion in Intellij Idea for views

Tested platforms

HTML5 OpenFL-SnapSVG backend

Flash

Windows Mac Only desktop version :-(

Jive in action

A cross platform UI framework based on OpenFL

Jive is the future of AsWing

A cross platform UI framework based on OpenFL

• Support touch devices

• Increase the performance of HTML5 version

• To be a full stack solution

• Client/Server interconnection

• Server data sources

• Authentication/Authorization

• Generic server storage

• Project generator

• Screen transition/navigation declaration

UI frameworks comparision

A cross platform UI framework based on OpenFL

StablexUI

Architecture

Basic components

Rich components

Layouts

Touch devices support

Platforms

Special features

MVVM

Yes

Table

Layout managers

inherited from Swing

In the roadmap

Flash, HTML5, Native

DataBinding, Flat UI

View/Controller

Yes

Tab panel

Layout managers,

Percentage

Yes, Scrolling, Switches

Flash, HTML5, Native

Code in views, Theming,

View transitions

View/Controller

Yes

Rich text, Calendar

Layout managers

Yes, Scrolling

Flash, Native

CSS, Web View

UI framework role in the development ecosystem

A cross platform UI framework based on OpenFL

• It shows the ability to develop client-side apps

• It shows the types of supported apps

• It provides a fast way to start developing

• A good one attracts attention to the ecosystem

Thank you!

A cross platform UI framework based on OpenFL

See you on:

• Twitter: @grebenshikov_n

• E-mail: [email protected]

• Github: github.com/ngrebenshikov/jive