为黑莓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

http://www.haxenme.org

我们还与NME合作为黑莓10提供支持。与本地开发者所选用的其他方法不同,NME不要求采用C或C++语言,而是采用一种名为Haxe的语言,它可自动转换成C++,与C++和OpenGL作用相当,而且可为Flash或Java开发人员创造一种舒适的开发环境。

NME是一种跨平台的开源框架,可轻松运用2D游戏及相关应用程序所需的图像、声音、输入、联网以及其他功能,包括Flixel或Box2D等类库。NME还专注于移动设备、桌面、Flash Player和HTML5。

cocos2d-x

http://www.cocos2d-x.org

流行2D游戏框架cocos2d的C++版本也可以在黑莓10上运行。

与其他版本库相似,cocos2d-x为场景管理、物理引擎、粒子特效、瓷砖(tiles)、spritesheet和其他游戏方面的功能提供结构支持。大多数框架也可以Lua或JavaScript为脚本。cocos2d-x是一种可在移动平台和桌面平台上应用的跨平台开源框架。

gameplay

http://www.gameplay3d.org

如果你想用C++开发3D游戏,gameplay则是绝佳的开源框架,它完全支持黑莓10。

gameplay可满足你预期的标准,例如OpenGL的着色器、设备输入和粒子系统,还可支持物理引擎、骨骼动画、3D音频,themeable2D和3D的UI格式。如果你想采用脚本语言,可选择Lua bindings。gameplay是跨平台,支持移动平台和桌面平台。

以上仅是黑莓10本地平台上的几种方法,还有许多方法可供选择。如有任何疑问或建议,欢迎在评论中提出!

黑莓10开发101:Native平台的更多相关文章

  1. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

  2. [C#]asp.net开发微信公众平台----目录汇总-持续更新

    1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...

  3. [c#]asp.net开发微信公众平台(8)微信9大高级接口,自定义菜单

    前7篇把最基础的消息接收和回复全做完了,  也把高级接口的入口和分拆处理写好了空方法,  此篇接着介绍微信的9大高级接口, 并着重讲解其中的自定义菜单. 微信9大接口为: 1.语音识别接口 2.客服接 ...

  4. C#开发微信公众平台-就这么简单(附Demo)转载

    C#开发微信公众平台-就这么简单(附Demo)  来源:https://www.cnblogs.com/xishuai/p/3625859.html#!comments 写在前面 阅读目录: 服务号和 ...

  5. 云开发数据库VS传统数据库丨云开发101

    云开发数据库与传统数据库的不同 在小程序·云开发中,最核心的便是三大组件:数据库.云存储和云函数,从今天开始,我们将开始隔日更的专栏文章,云开发101,在第一周,我们将从最最核心的数据库开始说起. 云 ...

  6. asp.net开发微信公众平台----目录汇总-持续更新

    1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...

  7. 测试开发【提测平台】分享13-远程搜索和路由$route使用实现新建提测需求

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇继续提测平台开发,按惯例先给出学习的思维导图,以便快速了解学习知识和平台功能实现的重点. 基本知识点学习 远程搜索 显示的数据通过输入 ...

  8. Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构

    分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...

  9. [c#]asp.net开发微信公众平台(1)数据库设计

    开发微信公众平台之前,先去微信官方了解下大概的情况 这里:http://mp.weixin.qq.com/wiki/index.php :看了之后心里大致有数了,开始设计数据库,尽可能的考虑,未考虑到 ...

随机推荐

  1. 一个真正的客户端非阻塞的 connect

    前言  - 一个简短开场白 winds 的 select 和 linux 的 select 是两个完全不同的东西. 然而凡人喜欢把它们揉在一起. 非阻塞的connect业务是个自带超时机制的 conn ...

  2. 如何在苹果官网下载旧版本的Xcode

    如何在苹果官网下载旧版本的Xcode 前段时间XcodeGhost事件让很多应用中招,不乏一些知名的互联网公司开发的应用.事件的起因是开发者使用了非官方的Xcode,这些Xcode带有xcodegho ...

  3. Leetcode 之Binary Tree Inorder Traversal(43)

    树的中序遍历.先不断压入左结点至末尾,再访问,再压入右结点.注意和先序遍历的比较 vector<int> inorderTraversal(TreeNode *root) { vector ...

  4. spring cloud报错解决:java.lang.ClassNotFoundException: com.netflix.servo.monitor.Monitors

    见鬼的事发生了. 在家里电脑上拿样例代码,运行时OK的.但一到公司电脑,用同样的代码,就会报下面的错误 ===================== Caused by: java.lang.Class ...

  5. 【JBPM4】完成任务

    示例代码: ProcessEngine processEngine = Configuration.getProcessEngine(); TaskService taskService = proc ...

  6. 2017-2018 ACM-ICPC Northern Eurasia (Northeastern European Regional) Contest (NEERC 17) 日常训练

    A - Archery Tournament 题目大意:按时间顺序出现靶子和射击一个位置,靶子的圆心为(x, y)半径为r,即圆与x轴相切,靶子不会重叠,靶子被击中后消失, 每次射击找出哪个靶子被射中 ...

  7. Java篇:IO流

    流(IO) 四个基本流: InputStream(输入字节流).OutputStream(输出字节流).writer(输出字符流).reader(输入字符流)-四个基本流都是抽象类不能实例化,固只能用 ...

  8. GraphQL学习

    视频地址:https://www.youtube.com/watch?v=Y0lDGjwRYKw&list=PL4cUxeGkcC9iK6Qhn-QLcXCXPQUov1U7f GraphQL ...

  9. CF 某套题 O :Grid (简单BFS)

    题意: 从左上角跳到右下角最少需要多少步,跳的规则为:可以向四个方向的任意一个方向跳当前格子中的步数,若跳不到右下角输出IMPOSSIBLE. 题解: BFS搜索,注意判断边界,标记. 代码: #in ...

  10. LCA算法笔记

    LCA,最近公共祖先,实现有多种不同的方法,在树上的问题中有着广泛的应用,比如说树上的最短路之类. LCA的实现方法有很多,比如RMQ.树链剖分等. 今天来讲其中实现较为简单的三种算法: RMQ+时间 ...