黑莓10开发101:Native平台
为黑莓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本地平台上的几种方法,还有许多方法可供选择。如有任何疑问或建议,欢迎在评论中提出!
黑莓10开发101:Native平台的更多相关文章
- 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...
- [C#]asp.net开发微信公众平台----目录汇总-持续更新
1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...
- [c#]asp.net开发微信公众平台(8)微信9大高级接口,自定义菜单
前7篇把最基础的消息接收和回复全做完了, 也把高级接口的入口和分拆处理写好了空方法, 此篇接着介绍微信的9大高级接口, 并着重讲解其中的自定义菜单. 微信9大接口为: 1.语音识别接口 2.客服接 ...
- C#开发微信公众平台-就这么简单(附Demo)转载
C#开发微信公众平台-就这么简单(附Demo) 来源:https://www.cnblogs.com/xishuai/p/3625859.html#!comments 写在前面 阅读目录: 服务号和 ...
- 云开发数据库VS传统数据库丨云开发101
云开发数据库与传统数据库的不同 在小程序·云开发中,最核心的便是三大组件:数据库.云存储和云函数,从今天开始,我们将开始隔日更的专栏文章,云开发101,在第一周,我们将从最最核心的数据库开始说起. 云 ...
- asp.net开发微信公众平台----目录汇总-持续更新
1.[c#]asp.net微信公众平台开发(1)数据库设计 2.[c#]asp.net微信公众平台开发(2)多层架构框架搭建和入口实现 3.[c#]asp.net微信公众平台开发(3)微信消息封装及反 ...
- 测试开发【提测平台】分享13-远程搜索和路由$route使用实现新建提测需求
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇继续提测平台开发,按惯例先给出学习的思维导图,以便快速了解学习知识和平台功能实现的重点. 基本知识点学习 远程搜索 显示的数据通过输入 ...
- Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构
分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...
- [c#]asp.net开发微信公众平台(1)数据库设计
开发微信公众平台之前,先去微信官方了解下大概的情况 这里:http://mp.weixin.qq.com/wiki/index.php :看了之后心里大致有数了,开始设计数据库,尽可能的考虑,未考虑到 ...
随机推荐
- 解析jsp的 tomcat 、resin
一.tomcat 1. 安装JDK [root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://www.lishi ...
- FineReport——决策系统组件API
FineReport数据决策系统中自定义主题包API接口由5大部件组成:框架布局.目录树组件.多tab组件.Navigation组件和Gallery组件. 首先,对theme.js进行总体配置: (f ...
- linux命令行任务管理
今天看到了linux命令行的任务管理命令感觉很实用: 1.ctrl+z 将当前前台执行的任务放到后台并暂停 2.fg恢复上次放入后台的任务 这两个命令组合起来很实用,比如在linux命令行中写pyt ...
- liunx命令大全
Linux常用命令大全 Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人 ...
- Python 什么是ORM?
关系映射 性能比源生sql效率略差一些 操作性更简单,快捷 Django的orm和sqlalchamy 区别 sqlalchamy没有django的功能全,不支持双下划线的连表跨表操作 sqlalch ...
- 关于多属性查找问题的sphinx解决方案
需求描述 mysql中,每一个文档都有多个标签,查询时可以筛选一个标签也可以筛选同时拥有多个标签的文档. 数据示例 文档 标签 1 1,2,3,4,5 2 2,3,4,5,6 3 3,4,5,6,7 ...
- 175. Combine Two Tables
Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...
- 文本检查点web_reg_find和web_find两个函数的区别
LR脚本实战:文本检查点web_reg_find和web_find两个函数的区别 web_reg_find是先注册(register)后查找的:使用时将它放在请求语句的前面. 而web_find是 ...
- ngx_lua_waf完整安装说明
测试环境:centos5.6 x32,nginx1.4.4,LuaJIT-2.0.3,ngx_devel_kit-0.2.19.lua-nginx-module-0.9.11,ngx_lua_waf ...
- Java之static理解
说到关键字static,首先想到了常量,静态变量,本文我总结了下static的用法. 1.静态变量 可以被赋值,便于类访问. 2.静态方法 静态方法与静态变量都可以被private.public修饰. ...