Skip to content

An Introduction To Egret Native Solution

R2D2 edited this page Jul 11, 2014 · 8 revisions

高性能JS-C Binding 原生支持架构

Egret选择在1.0 beta版本推出之时也一并发布了Egret原生打包对于Android系统的支持方案(具体的架构可以参考下图),我们主要可以为开发者提供一个使用TypeScript语言进行游戏逻辑的高级编写后,只用这一套代码就能通过2种方式分别对Web浏览器和原生提供支持。

架构设计

原生支持主要是我们在打包方案里封装了一个对于JavaScript逻辑进行解释的SpiderMonkey模块,同时还将渲染,事件,声音原本浏览器完成的环节做了一个对于系统层的映射驱动封装,项目中具体体现为一个封装好的库供打包时调用,通过这个驱动层,就实现了从浏览器Canvas绘制到系统底层硬件加速绘制的一个映射关系。开发者只需要按照我们的Egret Android打包支持规范即可将自己的游戏脚本与我们封装好的Lib库进行原生编译和打包,从而生成原生应用类型。

部署步骤

请参看官方指引: Android in Windows或者Android in Mac OS X

[IOS in Max OS X](http://docs.egret-labs.org/post/tools/native/iosapp.html)
  • 请勿在业务逻辑中调用任何与浏览器或 DOM 相关的API,如 window , document , canvas.drawImage() 等,而是应该通过 Egret 提供的各个 Context 来进行调用

路线图

  • Egret Native 解决方案目前提供的是暂不开源的社区版本。主要是考虑到目前 Native版本还处于相对早期的阶段,未来部分代码可能会有较大幅度的变化和API修改,考虑到为了降低开发者进行手工版本升级、解决向下兼容问题的的门槛,Egret团队决定暂时将此版本由核心团队维护和演化,并在合适的时机调整下一步策略。
  • 目前社区版本由于暂不开源,如果开发者有需求将使用 Egret 制作的产品运营于商业平台,并存在第三方SDK接入等问题,请与 Egret 核心团队联系,我们将提供源代码级别的技术支持或联合开发。
  • 未来的版本我们会逐步支持 iOS 与 Windows Phone 8 的原生部署

第三方库版权信息