他山之石,可以攻玉

时间:2022-01-27 21:48:21

译者引言:俗话说“他山之石,可以攻玉”,本文中的各位专家都站在自己的角度阐述了Flash需要向C#/Silverlight学习和借鉴的特性,另外还简要地介绍了一下haXe。

一些Flash/AS开发人员希望在他们的开发工具中能看到Silverlight/C#的特性。haXe是是一个多平台语言,它可以编译swf文件,并弥补AS3的不足。

Joa Ebert是一名Flash开发者,他对很多开源Flash项目都作出了自己的贡献。当说明了在自己使用AS3遇到的问题后,他说希望能看到三点改变:

贡献.对SDK和Flash Player的贡献是一个很棒的选择。但是我仍然希望贡献中包含Flash平台工具。
  • 为最新的说明书拓展开源Wiki,让更多的人为其做贡献。
  • 创建一个开放式的AS文档。  
  • 停止开发类似于TextLayoutFramework的项目(开始时闭源,过了6个月又开源了)。  
  • 创建代码复查流程,让大家可以不用通过恶心的JIRA就可以做出贡献。
  • 建立可用的roadmap,让大家都知道Adobe中的新鲜事。
语言
  • 添加对泛型的支持。  
  • 真实的方法重载.  
  • 包含同步特性的线程支持。  
  • 重新考虑一下常量关键字,现在这东西根本没法用。  
  • 实现标准的OOP特性,比如私有的构造函数,抽象方法和抽象类。
  • 用泛型创建集合框架
  • 创建一个健壮的并发性框架。
性能
  • 提升VM性能,特别是对象分配和方法调用
  • 如果能加入可跟踪的JIT(即时编译),和热区就太好了。
  • 改进编译器性能和输出。

另一位Flash开发者Sascha Balkauhas希望AS中加入以下特性:

  • 方法重载(因为在写开源框架和库时没有方法重载会闹出很多笑话).  
  • 泛型  
  • 线程 (我喜欢)  
  • 多核CPU支持  
  • 私有的构造函数(把它们带回来!)  
  • 真实的抽象类/方法
  • 枚举 (期待已久了,可就是没有)  
  • 硬件渲染 (PV3D是很好,但是东西多了就没折了!)  
  • 编译器性能 (如果哈haXe编译器雄起的话,只好把MXMLC丢在一边了!)  
  • 最后,我希望AIR运行时能有更好的OS-integration(比如改变屏幕分辨率),更好的性能和改进资源管理(这种AIR浪费RAM的方式不要再在这个星球上出现了!)

NicolasCannasse也在抱怨AS3,但是他给出了解决方案:haXe。haxe是一个开源的多平台语言,它可以用来编写程序,然后编译成很多种格式:比如JavaScript, NekoVM, PHP, C++或Flash6到10。根据Cannesse的说法,haXe有很多特性可以吸引AS程序员

  • 强类型语言  
  • First-class方法和函数 (闭包)
  • 正则表达式
  • 高级类型系统包含 :  
    • 类和接口  
    • 枚举
    • 函数类型  
    • 匿名类型(结构)
    • 动态
  • 枚举  
    • 可选的构造函数参数  
    • 类型参数 (多态)
  • 完整的类型推导:你不用键入局部变量  
  • 有可选约束的类型参数(泛型)
  • 模块系统 : 包+私有定义  
  • 结构化图表类型  (推断类型)使用类型推导和匿名类型
  • 多态方法

AS需要集成很多重要的特性以便和C#竞争,当然Flash还是设计工具的老大。与此同时,AS3社区的挫折感与日俱增。也许预定于10月4日到7日举办的Adobe MAX 2009大会将为Flash的未来增加一丝曙光。Max 2009大会的话题有:

  • 路标: Flash平台运行时  
  • 路标: Flash平台服务器和服务
  • 路标: Flash平台工具和框架
  • 路标: web专业工具和CS系列中服务
  • Flash Catalyst的前方是什么  
  • Adobe AIR 2会带来什么
  • ColdFusion 9新特性  
  • Flash Builder 4  新特性  
  • Flash Player  新特性  
  • Flex 4新特性