写点什么

AsWing:Java 开发者的 ActionScript 朋友?

  • 2009-03-01
  • 本文字数:1404 字

    阅读完需:约 5 分钟

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

2009-03-01 08:382365
用户头像

发布了 88 篇内容, 共 273.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第五周命题作业

whiter

极客大学架构师训练营

第五周作业 一致性hash算法

魔曦

极客大学架构师训练营

消息队列与异步架构

Lane

极客大学架构师训练营

架构师训练营」第 5 周作业

edd

极客大学架构师训练营

第五周作业总结

Thrine

啃碎并发(六):Java线程同步与实现

猿灯塔

单体架构知识点及单体架构的缺陷

古月木易

单体架构

实现一致性 hash 算法

戴维斯

极客大学架构师训练营

RxJS学习总结

真嗣

RXJS

一致性hash算法java代码实现

Thrine

一致性哈希实现

elfkingw

极客大学架构师训练营

作业一:一致性hash实现

孙强

大型网站技术架构--架构篇

wei

【获奖名单公示】仅需发布3篇+文章,极客时间每日一课 VIP 等多重礼品,免费拿~

InfoQ写作社区官方

写作平台 征稿 热门活动

架构师训练营第五周总结

架构师 极客大学架构师训练营

Lesson 5 分布式系统架构- 分布式缓存和队列 心得笔记

edd

Week 05 总结

鱼_XueTr

缓存 分布式数据库 消息队列

分布式事务精华总结篇

古月木易

分布式 分布式事务

架构师训练营第五周学习总结

whiter

极客大学架构师训练营

图解:如何理解与实现散列表

淡蓝色

Java 数据结构 算法

架构师训练营第五周总结

王鑫龙

极客大学架构师训练营

半小时,将你的Spark SQL模型变为在线服务

范式AI云

Python spark Sparksql Apache Spark 数据模型

架构师训练营 - 第⑤周总结

牛牛

学习 极客大学架构师训练营

Istio 升级新方式:金丝雀升级

郭旭东

Kubernetes 云原生 istio

架构师训练营第5周总结:缓存,消息队列,负载均衡,分布式数据库

hifly

负载均衡 缓存 分布式数据库 极客大学架构师训练营 消息队列

十代酷睿凌云!开启游戏本新篇章的机械师“战空”F117-V

最新动态

架构0期Week5Work1

Nan Jiang

缓存技术和直播平台缓存总结

周冬辉

一致性Hash

梅子黄时雨

极客大学架构师训练营

分布式事务精华总结篇

奈学教育

分布式 分布式事务

单体架构知识点及单体架构的缺陷

奈学教育

单体架构

AsWing:Java开发者的ActionScript朋友?_Java_Moxie Zhang_InfoQ精选文章