InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Sun CTO谈JavaFX Mobile和JavaFX Script

作者 David Beers 译者 霍泰稳 发布于 2007年5月24日

领域
语言 & 开发
主题
Java ,
脚本
标签
JavaFX脚本 ,
JavaFX Mobile

在本次JavaOne大会上,Sun通过宣布JavaFX表示了自己对客户端Java的重新重视。JavaFX是一个构建于Java技术之上完整的运行时环境,可以用来交付到桌面、移动设备、手持设备和电视等环境的富互联网应用(RIA)。在这些里的每一个硬件平台上,这个新技术都提供一个脚本语言,以结合Java的威力用于快速开发有Flash效果和交互式图形用户接口的应用程序。但是这还远不是JavaFX所展示的全部,它还代表了Sun的一个里程碑式新商业策略和一门新前沿技术。InfoQ就此采访了Sun的首席技术官Bob Brewin,他解释了这一技术对Sun、Java开发者以及使用者等这些JavaFX所真正关注的对象的意义。

问到是什么驱动了Sun在这个时候向市场推出这个技术,Brewin没有像常人所想的那样回答说是为了更丰富、更快速开发桌面Web内容的需要,而是表示说JavaFX是对Flash和AJAX增长的一种回应,现在移动手机和电视屏幕比桌面浏览器离用户更近,在他的思想里,这些才是JavaFX最重要的驱动力。这正好印证了Sun在大会上所讲的将注意力放在消费者产品上的观点,这样Sun就有可能为Java技术占领最大范围的市场。Brewin指出,现在世界上大部分人在访问互联网内容时的首要选择不是桌面计算机,而是移动手机。

根据目标硬件平台的不同,JavaFX或者构建在Java SE上或者Java ME上,但是以Mobile的眼光来看,它更像是一个可以制作交互式内容的产品化脚本接口——一个设备上的完整操作系统,包括Linux内核和本地服务等。它应该被看作Windows Mobile、Symbian OS和其他移动Linux平台的竞争对手。在移动手机上运行时,JavaFX Mobile能实现内嵌在大多数移动手机里的电话服务。所以以这个观点来看,你就能明白这一技术和Sun最近从SavaJe处所获技术的关系。Linux内核和CDC Personal Basis Profile Java runtime的目标是与高级智能手机一个级别的手持设备,以及电视和其他连接设备,但是Brewin说随着运行时的优化和完善,Sun也会将此应用到CLDC MIDP等“功能手机(Feature Phone)”。因为整个JavaFX软件系列都将会开源,所以Sun期望能通过出售完整的设备平台来增加许可(License)收入,而不仅仅是Java运行时环境。很多项目都在进行之中,甚至包括Solaris内核这一现在应用在大多数移动设备都有的ARM处理器上的简易操作系统。

问到JavaFX Script的起源,Brewin回答说这个用于脚本化交互式GUI的语言是由Sun工程师Chris Oliver所开发,当时他还在SeeBeyond技术公司(2005年被Sun收购)。很多开发者可能都熟悉它从前的名字——F3。JavaFX Script静态类型化并提供编译时错误检查机制,使得它有可能被用于开发可支持代码完成、超链接、重构等功能的强大工具。其他的语言特性包括类型推断(type-inference)、声明语法,以及完全支持2D图像、标准Swing组件和声明动画的自动数据绑定等。你还可以导入Java类,创建新的Java对象,调用它们的方法,以及实现Java接口等。

相应的制作工具也在开发之中,但是在大会上Chris展示了一个由他自己开发的可用于JavaFX脚本化的交互式GUI构建器。这个工具包含在JavaFX面向开发者社区所发布的初始版本里。因为脚本语言和工具在所有的目标平台上都保持一致,所以JavaFX看上去能实现Sun的“一次编写,处处运行”的承诺,甚至比Java自己做的还好。当然,在JavaFX脚本里被导入和调用Java对象会依赖提供的Java运行时。对于为只有有限资源和缺少Swing或者AGUI类库支持的CLDC设备所发布的JavaFX版本而言,它的功能某种程度上肯定会减弱。

桌面JavaFX现在所要考虑的一个问题是部署。对于从前没有安装过JRE的用户来说,JRE体积太大,而且现在从浏览器上进行按需安装的用户体验也不是特别好。Brewin在演讲中提出了一个可行的解决方案,在Java 6 Update 2里将会为JRE引入一种新型的部署模型,初次下载时体积非常小,只有在需要时才下载其他的JRE组件。他说这个概念非常类似Java 7中提到的Java Kernel项目。被问到类似的部署模型会不会用在Java ME上时,Brewin说当然有可能,这会由Java Community Process来推进。

让他对JavaFX和Adobe Flash做个对比时,Brewin回答说这是一个“苹果和橘子”的比较。Flash有很好的功能,但它永远不能交付Java类库的大部分功能,而JavaFX可以。他说更好的比较是在JavaFX和Apollo(Adobe将要为桌面RIA提供的一个运行时)之间。在这个擂台上,他认为JavaFX会非常有竞争力。

查看英文原文:Sun CTO Bob Brewin on JavaFX Mobile and JavaFX Script

译者 霍泰稳 是InfoQ中文站的联合创始人兼总编辑,有多年的软件开发经验和媒体从业经历。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。