写点什么

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:382326
用户头像

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

关注

评论

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

虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录

刘悦的技术博客

Python 面试

云原生的理解

JiangX

容器 云原生 数字化转型 数字化 28天写作

朋友问他是否该跳槽了?我是这么跟他说的

田维常

面试

IT版“历史上的今天”

IT蜗壳-Tango

七日更

Nginx实现在局域网内真正的ip_hash负载均衡​

会飞的猪

认识产品经理(第一章上)

让我思考一会儿

区块链交易所软件开发|区块链交易所APP系统开发

系统开发

hive窗口函数/分析函数详细剖析

五分钟学大数据

Hive SQL

如果不完美,接受就好了「14/28」

道伟

28天写作

联发科推出天玑1200,新一年的头道“5G甜点”究竟滋味如何?

脑极体

重学JS | 玩转File API

梁龙先森

面试 大前端 编程语言 28天写作

为什么Java程序会执行一段时间后跑的更快?

Java架构师迁哥

数字人民币带来更好支付体验 没有网络时也能使用

CECBC

数字人民币

关于Dapper实现读写分离的个人思考

yi念之间

soul数据同步(二)zookeeper同步策略

xzy

源码分析 网关 Soul网关 soul sou

Windows DHCP最佳实践(四)

BigYoung

运维 windows Windows Server 2012 R2 DHCP

团队复盘之kiss

张老蔫

28天写作

Soul网关源码阅读(十)自定义简单插件编写

Java 源码阅读 网关

认识产品经理(下)

让我思考一会儿

剖析一站式分布式事务方案SeataFescar-Server

比伯

Java 编程 架构 面试 计算机

做一枚旗帜Be a Flag

石君

28天写作

2020出行之变(一):自动驾驶的“跃渊”时刻

脑极体

Dubbo源码解析(1)-整体框架介绍

冰三郎

源码分析 dubbo RPC

简单易懂的单臂路由介绍及一看就会的实验

中金数据集团与腾讯云合力拓展信息安全、区块链业务领域

CECBC

区块链产业

干货|更通用的P2P网络协议栈——Libp2p

QTech

IPFS Libp2p

听了微信创始人张小龙的演讲,更加坚定Filecoin的光辉未来

时空云

分布式存储 IPFS Filecoin

大数据知识专栏 - MapReduce 的 Reduce端Join

小马哥

大数据 hadoop mapreduce 七日更

讨论:Service层的接口是不是多此一举?

xcbeyond

Java 接口管理 28天写作

35+的测试人都去哪儿了?所谓“青春饭”真的只是在贩卖焦虑吗?

程序员阿沐

编程 程序员 软件测试 教程 测试工程师

nodejs中使用worker_threads来创建新的线程

程序那些事

多线程 nodejs 并发控制 程序那些事 子线程

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