写点什么

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

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

关注

评论

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

Flink在唯品会的实践

Apache Flink

flink

传统行业为什么需要互联网人才

Geek_vidmje

百度商业大规模微服务分布式监控系统——凤睛

百度Geek说

数据库 分布式 微服务 大前端 监控

送给你一份程序员大佬整理的 HTTP 基础知识大图

Java架构师迁哥

移动开发iOS工程师秘籍(全套七层)

程序员 移动开发 ios开发

道相同、谋相通、人相守:华为副总裁周跃峰分享如何与用户精英共创数字基建

脑极体

干货拉满!阿里公开内部P9级架构师(Java)成长路线图,满满的干货

Java架构追梦

Java 阿里巴巴 架构 面试 成长路线

【论文分享】Presto: SQL on Everything(二)

小舰

4月日更

又有400多个组件支持鸿蒙了!

Geek_283163

华为 鸿蒙

Linux内核源码分析:基于最新的Linux 4.0内核(学习路线总结)

Linux服务器开发

后端 Linux内核 内核源码 内核4.0 底层原理

8K视频指的什么?8K视频处理和工作原理分析

科技猫

技术 分辨率 视频 视频处理 8k

分布式存储中间件(1):10000字把Redis扒个干净,一发入魂

北游学Java

Java 数据库 redis 分布式

一种自适应混合域音频无声水印

行者AI

音频

如何用iMazing备份恢复贪婪洞窟

懒得勤快

B站视频下载:如何下载B站视频到电脑上

科技猫

B站 分享 哔哩哔哩 视频处理 b站视频下载

Java-技术专题-同步可见性的查缺补漏

码界西柚

JVM happens-before CAS 可见性 有序性

iOS 面试策略之语言工具-Objective-C

iOSer

ios objective-c 程序员

Github瞬间爆火!被各大厂要求直接下架的面试题库也太全了

Java 编程 程序员 架构 面试

commons-pool2 池化技术探究

vivo互联网技术

Java common-pool2 池化技术

Spark地基之RDD

正向成长

spark RDD

Javac 源码调试教程

学Java关注我

Java 编程 程序员 架构 计算机

德赛西威与华为签署全场景智慧出行生态解决方案合作协议

Leveldb解读之二:Read

Jowin

leveldb

聚力区块链 共建数字中国丨“桂链”平台正式发布并启动全面接入“星火·链网”

云计算

直播系统聊天技术(四):百度直播的海量用户实时消息系统架构演进实践

JackJiang

架构设计 即时通讯 IM 直播技术

智慧公安情指勤指挥调度平台搭建,指挥中心平台搭建

实至名归!DataPipeline斩获“银行数字化科技创新大奖”

DataPipeline数见科技

分布式作业系统 Elastic-Job-Lite 源码分析——作业失效转移

比伯

Java 编程 架构 互联网 技术宅

使用开源项目必须保留作者姓名?开源软件不能商用?我们需要先学会分辨开源许可证

郭旭东

开源 开源文化

北京天源迪科亮相2021年企业数字化转型峰会暨山东CIO智库年会

DT极客

Golang 性能分析

escray

学习 极客时间 Go 语言 4月日更

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