Nikolay speaks mainly about Jive. It’s a cross-platform UI based on AsWing, and explain to people where it comes from and go to.
The second part is about his opinions about UI librairies : why it’s important for a community. What features should it has. And making a small comparaison of HaxeUI, StablexUI and Jive.
1. The renovation of AsWing
Nikolay @grebenshikov_n Grebenshikov
Lanit-Tercom, Abakan, Siberia, Russia
2. 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
3. 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
4. My answers
A cross platform UI framework based on OpenFL
• Declarative views
• Model-View-ViewModel (MVVM)
• Data Binding
• Flat UI
5. MVVM
A cross platform UI framework based on OpenFL
• View (XML): github.com/profelis/hml
• ViewModel (Haxe): properties, commands
6. 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):
7. 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 :-(
9. 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
10. 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
11. 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
12. 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