Reputation: 1606
I'm looking to develop an application for iOS, Android, Windows Phone and for Desktop no matter if it's web or standalone. Does anyone have experience with Haxe + NME or Kivy that they can share in detail?
I've been looking for something that can deploy to all platforms and these are the 2 best options I seem to have found. I'm not looking to make a game though. It's more like an app with a lot of touch listeners on images. Touch image then hide this, create that, and do a lot of math behind the scenes. I do however need a pathfinding library but pretty much all engines I've worked in had the A-star pathfinding library. I also need a slideView library so users can swap pages like they do on their smartphone desktop. Any information you can share on the following topic is greatly appreciated. Thanks in advance for reading and for any help provided. Sorry for the trouble
Upvotes: 4
Views: 2555
Reputation: 5947
no experience with Haxe here, but I can answer for Kivy:
First, windows phone is currently unsupported, to my knowledge, no one attempted any port, it's probably doable, but it doesn't exist yet, and no core contributor have a windows phone device, so until that changes, or someone with that motivation comes in, there is low probability that it will happen.
For your interactive needs, Kivy would fit the bill pretty easily, being really focused on making touch handling per-widget easy to define. We don't have much information about your math needs, if they are heavy, you'll probably want something like numpy to be usable behind the scene, and/or use threads to do the heavy lifting without blocking the application, this can totally be done with Kivy, so i see no particular issue there. For A*, there isn't any implementation directly inside kivy, but you should be able to use a python implementation (there are dozens out there), if your needs on this side require more performance, you can cythonize it to increase performances, or use a C implementation compiled for each target.
Hope this helps.
Upvotes: 6
Reputation: 6008
long time Haxe user here, though personally I mostly use Haxe for web-app projects, not NME as much. Until recently NME's main focus has been (far and away) gaming. There has been a few recent efforts to create nice UI toolkits building on NME's cross platform strengths:
https://github.com/RealyUniqueName/StablexUI - Demo (works on HTML5, flash, native desktop&mobile)
https://github.com/ianharrigan/haxeui
but they are very recent additions, so if you're looking for a tried and tested solution Kivy (never heard of it before, but looks cool!) looks like it has a bit more maturity and a bit more polish going for it.
In terms of performance and overall reliability, Haxe/NME is great, but it's getting those native-feeling UI widgets that will be your pain point. Other than that though, it's an amazing language to work with :) Python's pretty good as well though... each to their own!
At the time of writing, people are experimenting with using Native UI (there is a talk at the upcoming conference about an Objective C target, and the Java and C# targets are becoming more mature, so there are your 3 main mobile platforms covered) so that could be an option if you want native ui components, though it's not ready yet, this is me just hoping that it might become reality over the next year or so :)
Good luck with your project either way! If you do choose to go with Haxe/NME, be sure to ask questions (either here, the NME forums, or the Haxe mailing list) so that people can help you on your way.
Upvotes: 4