开发基于 RIA 的网站有很多种方法。对于和多媒体内容息息相关的业务和个人来说,Flash 形式的网站尤其动人。 Fosfr 是一个 ActionScript 3 网站构建框架,专门用来创建 Flash 网站。InfoQ采访了Fosfr 的创始人—— Jeff DePascale ,以深入了解 Fosfr。
Q. 是什么驱使你开始开发这个 Fosfr 框架的?
A. 我大部分工作都跟小型网站开发相关。Fosfr 最早是为了保证各网站的版本能保持一致。最初,AS2 中有组特别的类严格控制站点的构建,Fosfr 作为 AS3 框架主要是以前面提到的那个类库为基础来扩展,给我所有的 Flash 构建——无论是小型网站,还是独立的 SWF,或者是其它项目——提供了稳定、一致的基础。
Q. 你为什么觉得会有 AS3(或者说 Flash)网站的需求?
A. 目前有两种对立的看法,一部分认为 Flash 有益于互联网的发展,另一部分人认为 Flash 只是让整个网络充斥着用户体验很烂而又无法被检索到的网站。就我个人认为,每个技术都有各自发展的天地,非要说某种技术在像互联网这样迥异的媒体中比另一种技术更适合,未免有些误导。Flash 有缺点吗?当然有,SEO 方面就是其中一个非常大的缺点。Flash 有没有被用到一些不合适的场合?当然也有。但是,如果能有效应用它的长处的话,Flash 能提供强大的富用户体验,
Q. 你能概括下 Fosfr 的基本构架吗?
A. Fosfr 的整体实现是一个三层 SWF 结构。一个是核心层,或者说是主 SWF。这个核心层包含了预加载器,可以看作是项目的宿体。核心层之上是 shell SWF,这里包含了所有通用的网站元素,诸如导航栏、脚注等等。最后,那些可变内容则放在子 SWF 文件中。
Fosfr 的优点还在于它有用于生成文档的类库。Fosfr 提供自定义文档类,所有.as 文件都能得到扩展(包括外部类);它提供直至自动生成文档这个层次的自定义方法,这些方法可以是为了调试、跟踪、导航,也可以是为了访问 Fosfr 的其它控件,比方说 cookies、url 信息等等。项目的任何一个地方,你都能直接索引到 fosfr 对象,快速访问到框架的任何一个方面,可以访问到加载在项目中的所有 SWF。
整个项目由一个外部 XML 配置文件来驱动,根据这个配置文件,能构从该 xml 文件本身直接访问 Fosfr 主要控件的所有属性。借助于自动生成文档的类库的后台工作,只需要在每个.as 文件中添加几行简单的代码就能实例化整个框架。只要几分钟,你就能得到可以立刻运行的一个功能完善的网站了。
Fosfr 还能和 Prequel 集成使用,Prequel 是我开发的一个预加载 API;Fosfr 还能集成 SWFAddress ,完全自动完成,不需要任何手动处理。通过 Fosfr 创建文档的类库来开发结合 SWFAddress 的子 SWF 的自定义功能会非常容易。
另外,如果你只需要一个 SWF 文件和一个对应的预加载器,那么可以只实现 Fosfr 的核心文件和 shell 文件,可以省去其中的导航/SWFAddress 功能;或者通过框架中的 FosfrLite 创建一个独立的 SWF。FosfrLite 也可以选择使用 XML 配置文件。
Q. Fosfr 能和已有的 CMS 甚至诸如 Wordpress 这样的日志平台集成吗?
A. Fosfr 的 XML 配置文件包含了一个专门针对自定义网站元素的结点。CMS 或 XML 编辑插件直接与这部分 xml 配置交互的话,能够很容易操作在 Fosfr 上创建的任何 SWF 文件的各个方面。目前还没有给 Wordpress 及类似平台专门开发插件的计划,但我会在以后的开发中实现此类集成。
Q. 开发 Fosfr,你用的是什么开发工具?还有,Fosfr 和 Flex 有关吗?要是没有,以后会把这两者结合起来吗?
A. 开发 Fosfr,我用的是 FlashDevelop ,这也是这段日子以来一直在用的开发工具。在调试方面,我结合采用了集成在 Fosfr 当中自定义调试器和 Flash 播放器的标准调试器。目前我还没有任何计划要把 Fosfr 集成到 Flex 当中的计划。
Q. 你对 Fosfr 的前景有何规划?
A. 目前,Fosfr 的版本上处于 0.8。在推出 1.0 版本之前,我计划完成处理自定义事件和事件提醒的系统,在调试器上再多加一些功能,而且希望到时候还能集成我正在抓紧开发的、更新、更强壮的 Prequel 版本。处于开发阶段、尚未结合在公共发布当中的模块还有 tab 管理和音频管理。我还计划开发另外的文档管理类库来捆绑 papervision3D 站点的创建。1.0 及其之后的版本将囊括这些特性,而且会不断添加新功能。就眼前来说,更重要的是确定什么是目前要完成的,要编写快速入门指南,最好还要创建一个 AIR 应用把 XML 配置文件转变为向导。我希望开发人员能在半个小时以内就能轻松掌握 Fosfr,而且我觉得 Fosfr 能大幅度缩短产品的开发周期,这无疑是它的一大优势。但是如果没有快速入门指南和向导的话,这个优势也很难实现。Fosfr 非常有用,能够极大地缩短开发周期,但前提是你要懂得怎么去使用这个工具。我在不了解如何使用某个 API 的前提下直接去用这个 API,还确实遇到过很多问题。Fosfr 在 1.0 之后就不会有这些问题。所以编写指南是目前最迫切的一件事。之后,我会发布完全值得信赖的 1.0 版本,会尝试让公众关注到这个项目,目前我有意识地尽量把关注度控制到最小。
Q. 为什么要把这个开发框架叫作“Fosfr”?
A. 从技术上来说,它的全称是“Flash Open Source Framework”。然而,由于之前 SWFObject 和 SWFFit 因为名字当中有“Flash”这个词,在注册商标的时候遇到很多问题,所以现在严格采用 Fosfr。另外,这个名字厅听上去也很酷。
InfoQ 会关注并且追踪报道 Fosfr 的开发进度。
评论