You speak:
However, it is still not possible to create complex user interfaces.
Just because you havenβt yet figured out how to do this does not mean that it is impossible;)
The reason is that in the Haxe ecosystem, the language and the compiler are extremely consistent cross-platform, NME / OpenFL provides a fairly simple cross-platform rendering environment (HTML 5 has some quirks, but others look quite strong) and therefore everything you build on top of them, will cover many platforms out of the box. It's about a fairly high level - letting the compiler and libraries take care of the platform quirks.
In MVC, UI stuff is usually " V iew". For views / user interfaces, check out these libraries:
Stablex User Interface
NME / OpenFL, cross platform . Draws components using the NME API. This is the only thing I've played with, but the demo works sequentially on android, flash, html5, native linux. Pretty impressive.
Haxeui
NME, cross platform . Again, draws components on stage.
Prime
Running using the Flash API. Not sure if it is ported to the platform. See Also Talk / Video from the WWX Conference and Slides
Guise
A truly innovative way to be able to either draw a user interface or use native, if available. Check out the blog post.
Basis
Another attempt to wrap our own components - there are still iOS and Android libraries. Pretty cool, but I haven't played with him yet.
There are many options for MVC:
- PrimeVC mentioned above.
- MMVC , based on the RobotLegs framework, but specifically designed for Haxe.
- Many small options BBMVC PureMVC etc
The advantage of MVC structures is that they separate your views from your application data (model) and logic (controller). Try spending some time familiarizing yourself with one of the MVC infrastructures, and you will see how you can write your applications in such a way that you can use one of them, and then any of the various viewing mechanisms β either native or NME β are rendered. It can be a pretty steep learning curve, but thatβs how you create applications that easily transfer between different user interface interfaces and are easy to check, so you know that they will scale as the application gets more complex.
source share