【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Pivot:重新发明 Java Applet?

  • 2008-06-18
  • 本文字数:1401 字

    阅读完需:约 5 分钟

上周, 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?

2008-06-18 21:001012
用户头像

发布了 71 篇内容, 共 19.3 次阅读, 收获喜欢 3 次。

关注

评论

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

PoseiSwap 治理通证POSE登录PancakeSwap,开盘涨幅超2100%

西柚子

“多”维演进:智能编码的深度进化

阿里云视频云

云计算 编码 视频编码 视频云

架构课模块一作业

庚小庚

Spring Loaded代码热更新实践和原理分析 | 京东云技术团队

京东科技开发者

spring 热更新 Loader 企业号 7 月 PK 榜

从GaussDB(DWS)的技术演进,看数据仓库的积淀与新生

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

解决ueditor表格拖拽没反应的问题

互联网工科生

数据库 Vue

山西等级保护测评机构有哪些?有几家?

行云管家

信息安全 等级保护 等保测评 等级测评 山西

基于袋鼠云实时开发平台开发 FlinkSQL 任务的实践探索

袋鼠云数栈

sql flink 实时开发

玩转“擎舵”,秒变AIGC时代营销创意“掌舵人”

Geek_2d6073

ElasticSearch - 批量更新bulk死锁问题排查 | 京东云技术团队

京东科技开发者

elasticsearch MQ 企业号 7 月 PK 榜 BulkProcessor

为什么越来越多的网站选择海外主机跨越国界?

一只扑棱蛾子

海外主机

[杂谈] 从PDF文件中进行表格抽取(tabula || paddle-pp-structure)

alexgaoyh

paddle 版式还原 表格提取 tabula pp-structure

5G与妈祖守护的那片海

脑极体

5G

ABAQUS有限元分析软件吃CPU还是GPU比较多?

思茂信息

gpu cpu 显卡 ANAQUS 有限元分析

制造业用哪款堡垒机好一点?为什么?

行云管家

网络安全 堡垒机 双因子认证 制造业

人脸识别技术在智能家居中的应用

来自四九城儿

5G与妈祖守护的那片海

白洞计划

5G

人脸识别技术的精度提高及其应用

来自四九城儿

关于Java已死,看看国外开发者怎么说的

越长大越悲伤

Java 后端

研发质量指标大 PK:MTTR vs MTBF,谁是靠谱王?

LigaAI

高可用性 研发效能度量 MTTR 研发效能管理 企业号 7 月 PK 榜

如何用 TDengine 预测 “未来”

爱倒腾的程序员

涛思数据 tdengine 时序数据库

人脸识别技术的安全性和隐私保护

来自四九城儿

GPU 容器虚拟化新能力发布和全场景实践

Baidu AICLOUD

GPU容器虚拟化

了解Java可见性的本质

阿里技术

Java java 编程

【OpenAI】ChatGPT函数调用(Function Calling)实践 | 京东云技术团队

京东科技开发者

openai 数据交互 企业号 7 月 PK 榜 Function Calling

数智驱动 百业共荣!亚信科技精彩亮相2023 MWC上海展

亚信AntDB数据库

数据库 AntDB AntDB数据库

分享实录 | NGINX 网络协议优化(下)

NGINX开源社区

nginx TCP TLS HTTP

HDC开发者盛典 | 破解创业老板高效制果汁奥秘挑战!赢取代金券、按摩枕、收纳袋等礼品~

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023

软件测试/测试开发丨Selenium的常用元素定位方法

测试人

Python 软件测试 自动化测试 测试开发 selenium

手把手教你如何做手机PCB电磁兼容性设计

华秋PCB

电磁 PCB 电路板 电子 PCB设计

文盘Rust -- FFI 浅尝 | 京东云技术团队

京东科技开发者

rust C语言 企业号 7 月 PK 榜 FFI

Pivot:重新发明Java Applet?_Java_R.J. Lorimer_InfoQ精选文章