BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Sun的承诺:可靠的、可移植的、功能强大的Java Plug-In

| 作者 Craig Wickesser 关注 0 他的粉丝 ,译者 曹云飞 关注 0 他的粉丝 发布于 2007年11月24日. 估计阅读时间: 6 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Java Plug-In已经有几年的历史了,其目标是在浏览器中运行Java程序。不幸的是,它给用户和开发者带来了很多头疼的事情和挫败感。许多消费者都经历过浏览器不兼容的问题,浏览器冻结甚至JVM崩溃。然而,几周以前有报道说Sun正在彻底重写Java plug-in,为开发者和消费者带来期待已久的产品。

InfoQ最近访谈了Java SE的项目经理Nicolas Lorain,讨论了Java SE 6 Update N规划中的重写Java plug-in的事项。

当前的Java Plug-In的主要问题是什么,以至于需要彻底重写?
可靠性,可移植性和功能。当前的Java Plug-in版本是在几年之中“一块一块”的开发的,支持操作系统和浏览器家族的不同组合。现存代码基础的复杂性导致了在不同浏览器家族中不一致的行为。尤其在支持跨浏览器的脚本编程(Java/JavaScript交互)的方面问题更加严重,这使得开发人员很难编写跨浏览器的与web页面交互的applet。这不单单是对Java脚本的支持问题,Sun对跨平台的交互是非常重视的。在以前的Java Plug-in架构中不支持Java Web Start应用的某些特征,例如选择JRE版本,确定JVM命令行参数。只有彻底重写才能让applet象Java Web Start应用一样强大。

Sun将为Solaris,Linux,Windows这三个Sun支持的操作系统提供新的plug-in。Apple将与Sun紧密合作,为Mac操作系统提供plug-in。在上述操作系统上Sun已经测试了新的plug-in在Internet Explorer 6,Internet Explorer 7和Firefox 3 Alpha上的运行情况。InfoQ询问了新plug-in没有支持广泛采用的Firefox 2的原因,

为什么没有规划plug-in先在被广泛采用的Firefox 2上运行?
新Plug-in的一个主要变化是我们如何与Firefox浏览器接口。由于历史原因,目前的Plug-in使用一个复杂的,Java特有的接口,叫做OJI。在新的Plug-in中我们转而采用了工业标准的NPAPI和NPRuntime接口,这两者更广泛的被其他浏览器的Plug-in使用。我们发现需要为NPAPI和NPRuntime增加少量API来支持可移植的多线程的Plug-in,支持特定的高级JavaScript互操作。这些增加的API不是Java特有的,而是任何合适的复杂的Plug-in都需要它们。Firefox 2的代码有一些假设是基于Java Plug-in是实现了OJI接口的,所以需要做一些改变来支持基于NPRuntime接口的Java Plug-in。另外,我们期待Firefox 3在Java SE 6 Update N发布的几个月之内可用,这意味着绝大多数Java和Firefox用户将会在一个短的期间内分别升级到Java 6 Update N和Firefox 3。由于这些原因,我们决定开始集中精力让新的Java Plug-in支持Firefox 3,在第二阶段再支持Firefox 2。
Nicolas提到了其他的浏览器,例如Safari和Opera,支持它们是相当容易的,
我们这一次没有明确的宣布支持Safari和Opera,但是事实上新的Plug-in是很容易移植到它们上面的,尽管由于支持Mac操作系统并支持Safari的JRE的问题,我们不能代表Apple做任何承诺,但是我们认为移植不是问题。

新的plug-in会与 Java SE 6 Update N (也叫6uN)一起发布,然而,新的plug-in会被缺省的关掉。因此,最终用户需要配置plug-in(在Windows控制面板或者在Unix平台改变一个symlink)来使用最新的,最酷的plug-in。

最后,InfoQ与Nicolas Lorain总结了消费者想要采用新的plug-in的原因, 

  1. 绝对可靠
  2. 更好的用户体验:在applet启动或者关闭的时候不会造成浏览器停顿
  3. 鲁棒的支持包括3D图形和其他特征的高级applet内容

欲得到更多信息请访问下列链接:
查看英文原文Sun's Promise: Reliable, Portable, Functional Java Plug-in


译者简介曹云飞,西安交通大学计算机软件硕士。现就职于Ethos,热衷于新技术的钻研,软件架构与敏捷开发,目前从事Home Control方面的工作。参与InfoQ中文站内容建设,请邮件至china-editorial[at]infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT