为黑莓10开发游戏或应用程序有多种方法。这是件好事,不过如果你不是在黑莓平台下进行开发,或者你仅熟悉基于旧的Java的开发平台,也许你会感到无所适从。你将作何选择?从哪里着手?
促成你做出决定的因素有很多。黑莓10有四个主要开发平台可供选择,它们具有各自的开发特点、优势和框架。
在首篇日志中,我们将对一些可选的本地开发平台进行概述。
Native平台
一个好的开发平台,离不开高性能的、低级别的、本地实现,黑莓10可以做到。由于native是基于POSIX的平台,因此”int main(void) { printf(‘Hello World’); }”等指令均可在此操作系统中运行。
无论你是擅长C++,还是想避开低级别代码,黑莓10的native开发平台均可提供多种选择。
Straight C/C++
http://developer.blackberry.com/native/beta/
黑莓10基于强大的、稳定的QNX系统。该操作系统已经过超过30年的不断改进。它的POSIX界面,允许在此平台上运作标准Unix C/C++,无需额外进行编译。你也可完全进入APIs系统,包括进入网络协议栈以及EGL、OpenGL并体验使用一般方案(例如动态加载库)的灵活性。
我上传一个大型游戏框架到黑莓仅用了两天,我也听过许多开发者在本地平台方面的类似经历。如果你喜欢用C/C++进行开发,黑莓10是一个不错的平台。
Cascades
https://developer.blackberry.com/cascades/
如果你想开发一款应用,Cascades是一种基于Qt的框架,可提供最自然的黑莓10体验。应用代码和渲染均通过不同的线程处理,因此当你进行大型处理时,UI可以流畅运行60帧/秒。
许多应用程序都可采用C++、QML或二者并用进行开发。QML支持JavaScript,即使你是网页开发人员,也可以利用你现有的技能,轻松开发本地黑莓10应用程序。黑莓本地化软件开发工具包为设计人员提供支持Cascades的Momentics IDE,因此你可以预览并调整程序布局而无需调配设备或设备模拟器。
Marmalade
http://www.madewithmarmalade.com
我们与Marmalade合作,利用Marmalade软件开发工具包为C++开发人员带来一流的体验。与SDL和SFML的开放源解决方案类似,Marmalade旨在为多种平台提供底级别的兼容层。
Marmalade还具有其他特点—如优化管线的艺术资产—制定每一个目标设备,并提供企业级支持。
NME
我们还与NME合作为黑莓10提供支持。与本地开发者所选用的其他方法不同,NME不要求采用C或C++语言,而是采用一种名为Haxe的语言,它可自动转换成C++,与C++和OpenGL作用相当,而且可为Flash或Java开发人员创造一种舒适的开发环境。
NME是一种跨平台的开源框架,可轻松运用2D游戏及相关应用程序所需的图像、声音、输入、联网以及其他功能,包括Flixel或Box2D等类库。NME还专注于移动设备、桌面、Flash Player和HTML5。
cocos2d-x
流行2D游戏框架cocos2d的C++版本也可以在黑莓10上运行。
与其他版本库相似,cocos2d-x为场景管理、物理引擎、粒子特效、瓷砖(tiles)、spritesheet和其他游戏方面的功能提供结构支持。大多数框架也可以Lua或JavaScript为脚本。cocos2d-x是一种可在移动平台和桌面平台上应用的跨平台开源框架。
gameplay
如果你想用C++开发3D游戏,gameplay则是绝佳的开源框架,它完全支持黑莓10。
gameplay可满足你预期的标准,例如OpenGL的着色器、设备输入和粒子系统,还可支持物理引擎、骨骼动画、3D音频,themeable2D和3D的UI格式。如果你想采用脚本语言,可选择Lua bindings。gameplay是跨平台,支持移动平台和桌面平台。
以上仅是黑莓10本地平台上的几种方法,还有许多方法可供选择。如有任何疑问或建议,欢迎在评论中提出!