[Flex]AsWing:Java开发者的ActionScript朋友?

作者 Moxie Zhang译者 张龙 发布于 2009年3月1日 上午8时38分

社区
Java
主题
RIA
标签
ActionScript

长久以来Java Swing一直是Java开发者主要的图形界面构建包,那么Java Swing的经验和技巧能否用于构建基于ActionScript 3的RIA系统呢?AsWing Framework的目标就在于此。InfoQ有幸采访了AsWing的首席开发者iiley Chen以了解AsWing是如何有助于RIA开发的。

在被问到为何创建AsWing而不是使用其他的UI框架时,iiley Chen说到:

确实,Flex出现之前有很多很酷的框架,但大多数都不易使用并且功能不完全。很多框架都缺少一些重要的组件,如Tree、 DataGrid及强大的布局管理器等等。在2005年开发第一个大型应用(一个Flash做的在线社区)时,我需要一个强大的UI框架。我有Java Swing的经验并且喜欢Swing的架构和设计模式。但我坚信如果有一个类似于Swing的Flash UI框架的话,我可以快速且舒服的构建出应用的UI。因此我开始用ActionScript2语言开发AsWing并保持其大部分API与Swing一 致。现在AsWing已经基于ActionScript3了并且重新进行了设计,同时还多次进行了重构。一些家伙甚至告诉我它比Swing和Flex还要 好用。谢谢他们,他们让我觉得开发AsWing是件有意义的事。

关于AsWing的主要优势和特点,Chen说到:

主要优势在于你可以使用纯ActionScript编码轻松构建流式/动态的UI。AsWing的核心仅仅是一些易于操纵和管理的ActionScript类。如果你具有Java Swing经验,那么这些技巧也可以用到AsWing上。
AsWing提供了40多个现代的UI组件,包括专业的ColorMixiers和一些特别的组件,如JLabelButton、Form、Folder及GridList。
此外,凭借设计良好的MVC模式,你可以轻松将数据更新到UI视图上。就像Flex拥有数据绑定一样,AsWing也有各种数据模型,他们会自动通知视图进行更新。
其中的SkinBuilder工具可以帮助开发者创建完全不同的皮肤,所用的方式仅仅是提供一些组件图片或是Flash符号。除此之外,GuiBuilder有助于UI的布局设计并生成ActionScript源代码。
最后,AsWing不是重量级的。并不像其他的UI框架(他们也是应用框架),AsWing只关注于UI。你可以将AsWing与任何其他的应用框架组合起来使用。

就开发环境来说,AsWing非常灵活。Chen说到:

AsWing的开发没有什么特别之处。任何ActionScript开发环境都可以,比如说Flex Builder、FDT及FlashDevelop等等。AsWing仅仅是个项目中可以使用的ActionScript库。你可以使用Flex编译器或 是Flash编译器来编译AsWing应用。其中的GuiBuilder工具是个AIR应用,因此需要AIR运行时才能运行它。

就AsWing的路线图,Chen说到:

目前我正忙于AsWing2.0,这是个主版本。我们将用更好的方式重新设计其感官样式。最重要的新特性就是新的皮肤技术的引 入。你只需就倾斜度、色调、圆角或阴影属性编写几行代码就可以改变组件样式而无需开发复杂的ComponentUI类。同时我们还会增加一些新组件,如 Numeric Stepper、Date Chooser、Advanced TextArea及Advanced Table等等。

Chen给出了如下的Hello World AsWing应用代码:

package{
import flash.display.Sprite;
import org.aswing.*;
public class HelloWorld extends Sprite{
    public function HelloWorld(){
        AsWingManager.initAsStandard(this);
        JOptionPane.showMessageDialog("Title", "Hello World!");

    }
}
}

Java Swing开发者对此是不是很熟悉呢?

查看英文原文:AsWing, An ActionScript Fiend of Java Developers?

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏