Post on 18-Aug-2015
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 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