BT

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

Oracle弃用Nashorn JavaScript引擎

| 作者 Kesha Williams 关注 3 他的粉丝 ,译者 谢丽 关注 10 他的粉丝 发布于 2018年6月20日. 估计阅读时间: 4 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

Oracle通过JDK增强提案(JEP)355宣布弃用Nashorn JavaScript引擎,最终将从未来所有的JDK中删除。ECMAScript的语言结构变化太快,Oracle发现,维护Nashorn JavaScript引擎变得非常困难。

Nashorn最初是在JDK 8中引入的,用于取代Rhino脚本引擎。当其发布时,Nashorn是ECMAScript-262 5.1的完整实现,增强了Java和JavaScript的兼容性。最近还增加了新的ECMAScript 6(ES6)特性。借助Nashorn,开发人员可以从JavaScript调用Java代码,也可以从Java代码调用JavaScript函数。Nashorn可以作为Java应用程序的嵌入式解释器,提供使用Nashorn命令行工具jjs从命令行运行JavaScript的能力。当在Java中对JavaScript代码求值时,Nashorn实现了javax.script API。Oracle表示,弃用Nashorn不会影响javax.script API。

移除Nashorn后,有些应用程序可能会因为需要JavaScript而无法运行。

具体要弃用的模块如下:

  • jdk.scripting.nashorn——包含jdk.nashorn.api.scriptingjdk.nashorn.api.tree包;
  • jdk.scripting.nashorn.shell——包含jjs工具;
  • jdk.dynalink——包含Dynalink支持库。

Oracle实验室高级研究总监Thomas Wuerthinger表示,GraalVM是一个不错的替代方案,与Nashorn相比,它的性能更好,与ECMAScript的兼容性也更好。虽然GraalVM现在还没有生产就绪,但Wuerthinger向开发者社区保证,在Nashorn真正弃用之前,基于GraalVM的JavaScript实现将在所有相关平台上实现生产就绪。

在Nashorn真正弃用之前,基于#GraalVM的JavaScript实现将在所有相关平台上实现生产就绪。它将提供更好的性能,并且完全兼容ECMAScript的最新标准。

— Thomas Wuerthinger (@thomaswue) 2018年6月7日

真正要在将来的JDK版本中删除相关的类型和模块,Oracle会提交一份单独的JEP。

开发社区的总体反应是担忧,尤其是那些在业务逻辑中大量使用了Nashorn的。Oracle听上去愿意撤回JEP 335,如果有足够的开发人员反馈的话。

还有一种选择是有一组可信赖的开发人员清楚表达今后维护Nashorn的愿望。如果那种情况在这份JEP完善之前出现,那么它还是可以撤回的。如果那是在这份JEP完善之后,但是在Nashorn被移除之前,则可以再提交一份JEP来逆转这次弃用。

按照Oracle的说法,Nashorn的使用情况很难跟踪,因此,有任何回退都会及时发布通知,而不管JEP 335是否通过。使用Nashorn的开发人员应该向Oracle提供反馈,以便他们可以更好地了解Nashorn的使用情况。

感兴趣的读者可以通过InfoQ Java首页时刻关注所有Java相关的新闻。

查看英文原文:Oracle Deprecates the Nashorn JavaScript Engine

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

有人用这个吗? by lei zhao

有啥用?

这个库生产上没人用吧 by 饶 绍泉

我觉得可以从标准库删除,交给开源组织维护

Re: 有人用这个吗? by 张 鑫

我在用呢,高度依赖

Re: 有人用这个吗? by lei zhao

你们是什么场景啊?Java内部的JS,太不标准了。

允许的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通知我

4 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT