一直以来,我都是自己写一个Library包来为项目开发提供基础类。这个Library有些是自己写的,有些的拿了别人的代码,整合在一起。而事实上,这些功能大多在目前的Flash开源项目中都有,我的工作基本属于重复开发。
为什么开发项目难以发扬光大?我认为有部分原因是因为大家各自为政,开发了很多类似的东西,而没有集中精力来做好一个;虽各有所长,但不统一,所以,我打算在下一阶段集中维护和整合别人的开源项目应用到自己的项目中,这样我就可以跳出自己开发这些Library的框框,致力于项目的开发。
一下是我打算整合的一些开源项目,更多的开源项目可以到 osflash.org 找到。
Core
- as3corelib : charles.bihis 和Adobe团队维护的一个项目,里面有很多的功能,包括一些编码、JSON、Formater和一些网络相关的类,比较实用。而且bug比较少。
Application framework
- puremvc : 小型的项目你可以随便写就可以,但是大型的多人开发的项目,你最好有一个好的框架,puremvc也许不是最好的,但是它确实是一个不错的选择。
Data Structures
- as3ds : 一般情况下我们都用Array和Dictionary就差不多了,但是不代表你不需要一个队列什么的,as3ds在类命名上感觉有些怪,但是性能还是不错。
UI Component
- Flash CS3 UI Component : 也许很多人骂v3组件,但是对于一些小型项目来说,它可以大大降低我们的开发速度,因为你可以叫Designer去自己布局这些组件,而不用你来换肤之类的。
- Liquid Components : 这个组件还没有发布,但是我很期待它,看看demo吧,所有组件的Skin只需是一张图片,有了这个组件,你只需要designer按照文档给你图片就可以了,哈哈~当然,请确保你不是designer。
Layout Manager
- Yahoo Layout Utility : 布局管理器对于有大量列表和需要自适应窗口大小的程序来说,就变得必不可少,我在这里推荐 Yahoo Flash 开发组开发的组件。它提供一组支持Flash CS3的组件,编码规范,文档齐全。如果不需要,不妨去看看。
Multi files download
- masapi : 一个相当好用的多文件加载框架. 在项目的开始时,我们一般都需要加载很多很多的XML、图片等文件,用它我们就可以整合所有的文件加载,并显示到一个进度条中。
Animation
- tweener : 提供一组静态的接口,使用起来很是方便。
- boostworthy : 这个比起 tweener 来说,更加强大,且结构规范合理。为什么要两个都用呢,是因为很多的设计人员会用这两个做demo效果,为保持参数的统一,所以我打算都用。
3d engine
- papervision3d : 3D已经是一种趋势,Adobe自己都打算推出了呢,但是目前比较主流的还是这个PV3d,所有如果有3d方面的项目,肯定少了它。
Localization
-
Flex ResourceBundle :对于多语言,我认为用Flex自带的这个功能就不错,你可以不使用Flex组件,但是你可以在ActionScript Project 中使用这个功能,它仅仅加大你swf文件9k.并且Flex3 支持动态加载语言,并附送DateFormater、StringFormater功能。 ResoureBundle 在 Flex3 正式版中已不再支持ActionScript project。
Logging
- 实在是没有找到很好的,目前来说我还是用的自己开发的。如果哪位有发现好用的,推荐给我。同时我也打算加强我那个Output工具。
Unit test
- asunit : 测试关系到一个项目的成败,如果你需要白盒测试,asunit是不错的选择。
这里罗列的是我在项目中用到的,当然不乏更好的选择。它们之间有些很少一部分的功能存在重叠,比如masapi 中也有一个Data Structures包,但是总体来说很是比较和谐,基本不会出现冲突。
列出来给大家一个参考,如果你有更好地,也可以告诉我。
来自:http://www.wersling.com/blog/?p=163