写点什么

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

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

关注

评论

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

基于云效代码管理的源码漏洞检测是怎样的?

阿里云云效

阿里云 代码 代码管理 源代码 Codeup

Go实现并发聚合,批量提交功能

人生如梦

Go 并发 请求聚合

毕业总结

皓月

「架构实战营」

用 vite 2 平滑升级 vue 2 + webpack 项目实战

CRMEB

毕业总结

whoami

架构训练营

信息安全无小事!教你如何做日志脱敏

卢永德

翻译 | 解读首部 Kubernetes 纪录片

RadonDB

开源 Kubernetes RadonDB

java高级用法之:调用本地方法的利器JNA

程序那些事

Java nio 程序那些事 3月月更

华为SmartCare和AUTIN品牌升级:助力运营商走出5G发展迷宫

白洞计划

Python 获取字典中的第一个键

AlwaysBeta

Python 程序员 编程语言 字典

电商秒杀系统架构设计文档

皓月

「架构实战营」

知识管理的成功案例大赏

小炮

优雅的DO,VO,DTO转换工具MapStruct

卢永德

3月月更

【51单片机】点亮LED灯(四种形式)

謓泽

3月月更

恒源云(GpuShare)_医学图像分割:MT-UNet

恒源云

深度学习 机器翻译 transform

39 个 Java 集合框架面试题

逆锋起笔

java面试 死磕 Java 基础 3月月更 Java集合框架

程序员硬核测评:全方位测评 GaussDB(for Redis) 和开源 Redis

华为云数据库小助手

性能分析 GaussDB GaussDB ( for Redis ) 华为云数据库 开源Redis

重点操作之上线、恢复、部署 - 大屏云极简使用手册

shulinwu

写给20几岁的程序员

shellc

财富 35岁

操作系统面试总结

yuexin_tech

操作系统

产品帮助中心的制作方法及工具推荐

小炮

Linux中如何使用Htop监控工具?【网络安全】

H

Linux 网络安全

DNA to Face,会是寻人缉凶的一颗“银弹”吗?

脑极体

URL重定向及跳转漏洞

喀拉峻

网络安全

人脸识别闸机惊艳美国运动员背后的黑科技是如何实现的?

天翼云开发者社区

不为人知的网络编程(十四):拔掉网线再插上,TCP连接还在吗?一文即懂!

JackJiang

网络编程 TCP/IP TCP协议 即时通讯IM

如何打造极速数据湖分析引擎

StarRocks

数据库 数据分析 StarRocks

VuePress 博客优化之增加 Valine 评论功能

冴羽

JavaScript 前端 vuepress 博客搭建 Alogia

实用机器学习笔记二十四:模型调参

打工人!

学习笔记 机器学习算法 3月月更 模型调参

科技创新力强,旺链科技创始人刘涛荣登G60科创走廊创业榜单

旺链科技

区块链 产业区块链 创新创业

Java 8 Stream 从入门到进阶——像SQL一样玩转集合

Geek_rze78a

Java JAVA stream

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