Egret 1.0 Final Release Note
===============================

最近更新时间：2014年8月8日

欢迎您使用Egret

特别鸣谢：

* 墨麟集团-武汉鱼之乐信息技术有限公司
* 南京泥巴怪网络科技有限公司
* 北京小苹果网络科技有限公司

## 概述
Egret 1.0 Final 是 Egret 1.0的正式版本，在这个版本中，我们主要聚焦于改善性能，以及优化底层逻辑，提高架构上的可扩展性，为 Egret 未来的版本奠定基础。


## 更新内容
#### 核心显示列表
* [新特性] 兼容 Flash ActionScript 3.0 的 ByteArray 类。允许开发者导入由 AdobeAIR 制作的工具的ByteArray格式。
* [新特性] 添加初始化帧频设置，方便开发者模拟调试低帧频情况下的业务逻辑
* [修复] 解决在 iOS 设备和少部分 Android 设备上，Sound 类加载会失败的BUG
* [修复] 解决使用 egret startserver 命令启动一个服务器运行egret项目时，声音无法循环播放的问题
* [修复] 解决在特定情况下 getQualifiedClass 方法会获取错误的问题
* [修复] 解决在小米设备的默认浏览器中，一次 TouchEvent.TAP 事件会触发两次触摸事件的BUG

#### GUI体系
* [新增] 新增全新的GUI范例皮肤，比之前的皮肤更加漂亮了，从egret-examples项目获取GUI新皮肤范例。
* [修复] 修复设置UIAsset上下左右为相对位置时，绘图位图大小错误的BUG
* [重构] Egret GUI 现在的命名空间修改为 egret.gui， 如： egret.Button现在被调整为了 egret.gui.Button，更多信息请参见下文


#### 原生解决方案
* [新特性] 新增读写文件的功能。
* [新特性] 新增画线功能。
* [改进] 实现自动批处理（AutoBatching）。提升渲染速度。
* [改进] 优化文字处理速度。
* [修复] 修复特定状态下，图片旋转后绘制位置异常的BUG。
* [修复] 修复文字位置不准确的BUG。
* [重构] 重构矩阵模块。使用新的矩阵与向量处理模块。重构矩阵管理类。
* [重构] 重构渲染模块。为了实现自动批处理。重构渲染模块，以支持自动批处理。
* [重构] 重构文字模块。为了实现自动批处理。重构文字处理模块，以支持自动批处理，以及提高渲染速度。


## 路线图
Egret 接下来的版本将专注解决以下问题
* 减小 Egret 核心库体积
* 提供更完善的第三方库支持和 TypeScript / JavaScript调用支持


## 向下兼容性变更

#### egret GUI 现在的命名空间被修改为 egret.gui

#### 为什么要这样做

egret GUI 体系是基于核心显示列表部分的扩展，拥有自己的 API设计体系。如，在 egret GUI里会用 addElement 代替掉 addChild

经过egret 早期版本的社区反馈，我们发现开发者（特别是没有接触过 Flash / Flex / FlexLite 的开发者）并不了解这两者的区别，经常会出现以下类似的问题

* 为什么 new egret.Button 加载到显示列表上之后什么都看不见 ?
* 为什么 Button 上不能 addChild 一个 MovieClip ?

之所以有上述问题，主要是因为 egret核心显示列表和egret GUI在API设计上过于相近，导致了开发者的误解。按照修改后的结构，开发者可以很清晰的了解到，什么是属于核心显示列表的内容，什么是属于GUI体系的内容

#### 旧项目如何修改

考虑到目前有不少开发者采用了 Egret GUI进行开发，我们提供了一个新的命令行工具  ``` egret upgrade { your_project_name } ```命令，这个命令会搜索开发者项目的 src 文件夹，检测所有文件并进行自动的转换处理。



