Skip to content

Egret Framework FAQ

DOM edited this page May 31, 2014 · 31 revisions

Egret Framework 新人问答集

1. Egret Framework 是什么

Egret Framework是一款使用TypeScript语言构建的开源免费的移动游戏框架。

您可以通过访问Egret官方站点了解更多信息。

2. TypeScript是什么

TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。

TypeScript扩展了 JavaScript 的句法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作。TypeScript是为大型应用之开发而设计,而编译时它产生 JavaScript 以确保兼容性。

以上内容节选自维基百科

3. 为什么Egret采用TypeScript语言开发

TypeScript是遵循 下一代 ECMAScript 标准( ES6 )的编程语言,同时通过强类型等更严格的语法检查机制来保证大型项目的可维护性。于此同时,由于 TypeScript 和 Flash ActionScript 3.0 的高度一致性,为了保证 Flash开发者的最低的迁移成本,Egret决定采用 TypeScript开发

4. TypeScript 和 ActionScript 3.0 有什么区别

5. TypeScript 和 JavaScript 有什么区别

6. 采用TypeScript作为开发语言,调试时是调试TypeScript还是JavaScript ?

在默认情况下是 JavaScript ,也可以通过在 tsc 中添加 --sourcemap 参数来创建映射文件,浏览器会对其自动加载、自动解析,实现可以调试TypeScript的功能

7. 我完全不了解Div/CSS等知识,如何使用Egret开发

Egret并不是使用 Div/CSS 来进行绘制,而是将全部元素绘制到一个Canvas上,几乎全部元素都显示在这个Canvas中,所以开发人员完全无需了解Div/CSS的知识。

8. Egret跟JQuery是类似的吗,能用来开发网页吗?

Egret是一个跨平台游戏框架,与JQuery等操作HTML标签的网页框架不是同一类型。Egret所有的代码都在一个Canvas区域内绘制呈现,并不操作任何HTML标签或CSS,所以不适用于网页开发。

在这个问题上下文中,开发者可以把 Egret 假想成就是一个 Flash,以更方便的对此进行理解。

“ Flash 和 JQuery是类似的么?可以用来开发网页么?”就可以很容易的得出同样的结论,虽然基于 Flash的全站是可以实现,并在数年前是一项流行技术,但是采用 Web标准的开发网页目前已经成为了最主流、也是最方便的方式。

9. Egret 采用的 BSD 协议对开发者有什么限制?

参考 Egret Public Beta ReleaseNote对此的说明:

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

  • 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
  • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
  • 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对 商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

简单说,开发者可以随意使用Egret代码,允许任意修改、重新发布、开发商业软件,唯一的限制是必须保留 Egret-Labs 的版权信息,不允许将 Egret代码中置于顶部的版权信息( Egret-Labs )进行随意修改或将其删除。

10. AS3-TS Conversion Tool 是否意味着 Flash游戏能通过工具转换直接移植成 Egret游戏?

答案是否定的。这个工具不是编译器,只是做简单的语法转换,并不保证转换后的代码100%能运行。因为语言特性和底层API限制,Egret无法做到跟Flash 100%兼容。所以开发者仍然需要学习Egret和TypeScript语法,尤其是注意跟Flash/AS3不兼容的地方。提供此工具主要是为了:快速将AS3里可复用的大量类库代码迁移到基于Egret的TypeScript代码。简而言之它只是一个解决体力活的工具。将绝大部分有规律的语法转换都自动完成(例如自动给变量加上this关键字,转换基本数据类型等),剩下很小一小部分报错借助IDE提示,手动调整即可。在迁移AS3类库过程中,使用此工具能节约大量的时间。