BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

AsWing:Java开发者的ActionScript朋友?

| 作者 Moxie Zhang 关注 0 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2009年3月2日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

长久以来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?

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

RCP和RAP的关系 by 果 林

帅, 用Swing的代码来实现Flex的效果.

RCP 和 RAP也是这个关系, 只是, RAP的先天缺陷造成RAP还没喷发即已沦陷的事实.

关注了解下, 希望不要也是不伦不类吧.

额…… by benlu yu

很早前用过……那时还是as2的版本,总体还是很不错的一个框架……比较灵活,中国人自己开发的,还是要支持一下……

Re: RCP和RAP的关系 by gu fahua

看上去很不错!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT