为黑莓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. C基础 redis缓存访问

    引言 先说redis安装, 这里采用的环境是. Linux version --generic (buildd@lgw01-) (gcc version (Ubuntu -14ubuntu2) ) # ...

  2. HTML 知识点总结

    HTML基本语法 HTML标签 单标签 <标签名>或<标签名 /> 双标签 <标签名>内容</标签名> 跟标签也叫元素(根元素) 属性 属性属于标签 一 ...

  3. MySQL-5.5.49安装、多实例、主从复制

    源码安装mysql yum install ncurses-devel libaio-devel -y mkdir /server/tools -p cd /server/tools wget htt ...

  4. 181. Employees Earning More Than Their Managers

    The Employee table holds all employees including their managers. Every employee has an Id, and there ...

  5. hdu 多校第一场

    1001 思路:打表可以发现只有3|n 和 4|n 的情况有解,判一下就好啦. #include<bits/stdc++.h> #define LL long long #define f ...

  6. LOJ #6281. 数列分块入门 5-分块(区间开方、区间求和)

    #6281. 数列分块入门 5 内存限制:256 MiB时间限制:500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 5   题目描述 给出 ...

  7. php在web服务器中的工作原理

    1.web工作原理 我是学习PHP网站建设的,那么网站在客户端和服务端的运行是网站运行的根本所在,那个这个运行过程是怎样的呢?我们一探就将! Web:终端 服务器web:我们把提供(响应)服务的计算机 ...

  8. 洛谷P2587 [ZJOI2008] 泡泡堂

    题目传送门 分析:一道策略游戏题,要求最大期望得分和最小期望得分.首先分析最大,很显然是可以用一种类似于田忌赛马的思维来做,将两队的实力按照从大到小(其实从小到大也可以)排序,然后就按照顺序比较,可能 ...

  9. 31、Flask实战第31天:cms后台修改密码

    cms后台修改密码界面布局 先创建cms_resetpwd.html页面,继承cms_base.html {% extends 'cms/cms_base.html' %} {% block titl ...

  10. Oracle unique / distinct

     [唯一]DISTINCT与UNIQUE的“区别”  今天一个朋友在Oracle中偶然发现UNIQUE也可以得到唯一的数据结果,问到DISTINCT与UNIQUE的区别.答案是:他们没有区别!   d ...