Skip to content

An Introduction To Egret Native Solution

WanderWang edited this page Sep 24, 2014 · 8 revisions

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

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

架构设计

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

部署步骤

请参看官方指引:

[Android in Windows](http://docs.egret-labs.org/post/tools/native/androidforwindows.html)或者[Android in Mac OS X](http://docs.egret-labs.org/post/tools/native/androidformac.html) [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团队决定暂时将此版本由核心团队维护和演化,并在合适的时机调整下一步策略。
  • 未来的版本我们会逐步支持 iOS 与 Windows Phone 8 的原生部署