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: grebenshikov.n@gmail.com
• Github: github.com/ngrebenshikov/jive

Jive the renovation of Aswing

  • 1.
    The renovation ofAsWing Nikolay @grebenshikov_n Grebenshikov Lanit-Tercom, Abakan, Siberia, Russia
  • 2.
    The roots A crossplatform 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
  • 3.
    Reasons to renovate Across platform UI framework based on OpenFL • Legacy code to maintain and develop • Imperative and event-driven views • Graphics from 90s • The lack of properties
  • 4.
    My answers A crossplatform UI framework based on OpenFL • Declarative views • Model-View-ViewModel (MVVM) • Data Binding • Flat UI
  • 5.
    MVVM A cross platformUI framework based on OpenFL • View (XML): github.com/profelis/hml • ViewModel (Haxe): properties, commands
  • 6.
    Data Binding A crossplatform 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):
  • 7.
    What’s done now? Across 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 :-(
  • 8.
    Jive in action Across platform UI framework based on OpenFL
  • 9.
    Jive is thefuture 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
  • 10.
    UI frameworks comparision Across 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
  • 11.
    UI framework rolein 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
  • 12.
    Thank you! A crossplatform UI framework based on OpenFL See you on: • Twitter: @grebenshikov_n • E-mail: grebenshikov.n@gmail.com • Github: github.com/ngrebenshikov/jive