An interesting/awesome project that is getting momentum is Lime + OpenFL.
Lime (Light Media Engine) is an abstraction layer that makes it simple to go cross-platform with only one codebase; without the compromise of relying upon a scripting language or a virtual machine.
Lime is a lower level cross platform toolkit that uses Haxe to target multiple platforms. OpenFL uses it to make a very similar API to Flash much like the origins of Haxe itself. Lime wraps WebGL, OpenGL/ES and more to get started quickly with the boilerplate for each platform much like Cocos2D-x and other cross platform toolkits.
Lime currently supports the following platforms:
- Windows
- Mac
- Linux
- iOS
- Android
- BlackBerry
- Tizen
- Emscripten
- HTML5
Haxe has been a cross platform toolkit targeting many platforms from one codebase since its inception. The timing of mobile, web gaming, WebGL/OpenGL/ES, apps and the subsequent demands for cross platform codebases + toolkits to be productive (Unity, Cocos2D-x, MonoGame, etc) suit to Haxe’s strengths. Lime and Haxe fit that well and it looks to be a great start that includes: very fun base platform, easy syntax and js/as3 like, lower level Lime OpenGL access, higher level OpenFL, native access when needed easily and targeting all worthy platforms including deeper ones like Blackberry and Windows. Just like Cocos2D-x and others you can do more natively on the device and it gives you the control of a custom engine with the rails of a community, definitely check it out.