InfoQ

新闻

Pivot:重新发明Java Applet?

作者 R.J. Lorimer译者 沙晓兰 发布于 2008年6月18日 下午9时0分

社区
Java
主题
富客户端/桌面
标签
MVC,
GUI

上周,Greg Brown公布了一个新的Java开源GUI工具——Pivot

我想向Java开发社区的同仁们介绍一下Pivot平台。Privot是专门开发Web或桌面都可以发布的高质跨平台应用开源框架。最初,它只是VMware下的研发项目,但现在向整个社区开放。对于那些想用Java来创建富客户端应用的程序员来说,Pivot是个不错的选择。

Pivot的实现借鉴了其它工具箱的一些点子(比如Swing),此外,它也结合了Java2D在过去几年中实现的优化。在Pivot上实现应用程序的工作主要是结合Java和XML的开发。

Pivot平台的定位是内嵌于浏览器的Flex和Silverlight等富客户端开发技术的直接竞争对手。Pivot开发人员将它的某些部分看作是Java 6 update 10——也就是众所周知的consumer JRE的一部分。

2007年3月,Greg Brown曾在他的博客上发表过一篇名为“Reinventing the Applet”的文章。在这篇文章中,他谈到了当前applet技术的缺点,并就将applet变得更具竞争力这个问题提出了自己的见解。最近,他公开宣布Pivot的博文其实也是前面这篇文章的续篇。在续篇中,他把consumer JRE描述为Pivot成功的关键所在。JRE update中很多技术在使用applet开发各种嵌入式应用中起到了极为重要的作用:

  • Jave内核——Java内核大大减小了需要下载的JRE的大小。
  • 新一代的Java插件——新的Java插件的运行不再依赖浏览器,以免导致浏览器发生任何死锁、崩溃、或者运行缓慢现象。新插件在启动和其它状态转换时提供更好的用户反馈。
  • Java开发工具箱——开发工具箱提供了所有必需的API;实现了浏览器集成以提供完美安装或升级;简化了Java版本的配置;必要时帮助用户升级。
  • Java快速启动——快速启动实际上是借用操作系统硬盘缓存来缩短Java虚拟机的启动时间。
  • Direct3D集成——对于Windows用户来说,Direct3D管道中的修改应该可以改善任何应用到Java2D的显示。对于其它操作系统用户来说,之前已彻底修改过OpenGL的Java2D对此也会有所帮助。

Java 6 update 10目前尚且处于beta版,按计划,今年下半年会发布正式版本。

Pivot的出现得到了很多正面评论,也有很多人对此持质疑态度——Ben Galbraith就是这群人中的一个,在反馈用户体验的同时,他提出了很多问题:

我正在读您的类库。我觉得很有趣的是您的上层构架跟Swing太相像了。那些组件、UI控件、侦听器等等都非常相似(比如,布局的实现就特别相近),难道您想要实现的是“进化版Swing”?

当然,您确实也点到了Swing一些典型的缺点:

  • 设定的宽和高只能作为独立属性或原子属性。
  • 标签位置的绑定(但您支持标签文字的格式排版吗?好像没有吧)
  • 基于行的表格数据模型
  • 内置“表单”构建

此外,我还有一些问题不太明白:

  • 您干嘛非要构建自己的collection类?为什么,伙计,为什么您要大费周折去重新构建collection类呢?
  • 您提供跟Swing的UIDefaults类似的功能吗?
  • 您干嘛把state放到Action接口外?您有跟Swing Action接口共享action state相近的特性吗?
  • 在您的代码中,我没看到任何布局管理,您又是如何来处理布局的呢?在用户指南中提到skin可以管理布局,但除了Container中的内置方法外,我没找到任何可以实现管理的方式。

Pivot提供一个demo applet可供试用,关于如何使用Pivot的指南目前还在撰写中。从Pivot主页Greg Brown的blog上,你可以找到更多Pivot的详细资料。

查看英文原文:Pivot: Re-Inventing the Java Applet?

相关赞助商

InfoQ中文站Java社区,关注企业Java社区的变化与创新,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Java技术社区提供一流资讯。

没有回复

回复

独家内容

利用Ruby简化你的Java测试

本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。

与赵进聊SaaS

InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。

在ESB中选择路由还是编配?

在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。

分布式系统中的一致性和可用性

本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。

虚拟化导论

人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。

用户故事估算技巧

作为开发者,同时也是ThoughtWorks的咨询师,Jay Fields总结了自己估算用户故事的有效技巧。

InfoQ案例研究:纳斯达克市场回放

在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。

Hadoop基本流程与应用开发

本文介绍了Hadoop的基本流程、业务场景、代码范例以及集成测试。本文是《分布式计算开源框架Hadoop入门实践》三部曲的最后一部。