Mark Reinhold先生于2012年7月宣布 ,他们计划从Java 8撤回Jigsaw项目 ,因为Jigsaw计划于2013年9月(从现在开始一年)推迟其发布。 这个日期是众所周知的,因为Oracle已决定实施Java的两年路线图计划,因此2013年9月实际上是Java 7发布之后的两年。
根据拼图的网站…
“该项目的目标是为Java SE平台设计和实现一个标准模块系统,并将该系统应用于平台本身和JDK。 该项目的最初目标是设计和实现一个模块系统,其重点仅在于模块化JDK的目标,并将该系统应用于JDK本身。 对Java平台真正标准模块系统的需求不断增长,促使项目范围扩大,以产生一个模块系统,该模块系统最终将成为Java SE平台的JCP批准部分,并满足ME和EE平台的需求。 。”
他们还说:
“竖锯最初是为Java 7设计的,但后来推迟到Java8。”
现在他们想将其推迟到Java 9中:-(有关更多决策的更多详细信息,请参见Reinhold博客上的“问答”。您可以阅读并关注那里的讨论。这是我的看法:
没有Jigsaw,我相信将Java无处不在非常困难。 没有Jigsaw,在智能手机和平板电脑时代,多平台的想法就仅限于服务器。 拼图可能是“火车上的迟来”,但它使Java迟到了整个平台生态系统
观察市场,我们可以看到开发正变得依赖于平台(iOS,Android等)。只有Java可以克服这种趋势,因为它具有在多平台实现方面的丰富经验,现在是时候了! 否则,在3或4年内,设备上将没有Java,而开发社区将拥有足够的知识来使用它。 因此,Java基本上将是服务器端技术。
我的预测背后的原因如下:移动设备的资源有限,模块化的JVM将允许考虑每个设备的约束来创建定制的JVM。 我让那些设备制造商大吃一惊:“我不会在我的产品中分发可能对用户体验产生负面影响的产品”。 这就是苹果公司(至少是公众的一种说法)避免为iOS浏览器分发Flash插件的论点。 可能正因为如此,Adobe最终放弃了在移动设备上使用Flash。 模块化JVM将简化与许多设备播放器的许多Oracle协商。 苹果将Java作为iPad和iPhone应用程序的语言包含进来是合理的。 谷歌最终将JVM嵌入到Android中,以利用新的Java语言功能更快地发展,而只忙于将JVM扩展到特定Android功能的模块。 甚至有可能使诺基亚免于破产:D
您可能想知道Apple和Google是否会采用JVM作为标准的运行时平台。 您听说过机会成本吗? 它指出,我们当前的选择和活动实际上正在阻碍其他可能的选择和活动。 棘手的部分是选择成本最低或利润最高的机会。 话虽如此,我们可以看到考虑Java不是一种选择的情况,因为在那些公司做出决定时Java不是模块化的。 如果Java是模块化的并且苹果采用了Java,那么iOS平台的应用程序至少是Android的三倍。 谷歌的战略是“ Java”追赶苹果。 只有Java才能允许Google在这么短的时间内做到这一点。 因此,忽略Java并非那么简单。
现在,甲骨文与谷歌对决:当然,推动Java向前发展的努力应该在经济上可行,而要使用Java,谷歌必须花一些钱。 不幸的是,Oracle和Google使用不同的货币。 甲骨文考虑许可问题,而谷歌考虑广告问题。 这些货币不兼容,很难转换,因为虽然许可证是成本,但广告是利润。 因此,甲骨文永远不会达成增加谷歌成本的协议,但是有可能达成降低谷歌利润的协议。 换句话说,为了使Java适用于Android,Oracle可以从通过Java应用程序销售的广告中获得Google一定比例的利润。 Google与Yahoo,AOL等许多公司进行了这种交易。 为什么不使用Oracle?
如果Oracle没有提供JDK团队在Java 8中实现Jigsaw所需的全部资源,那么Oracle很快将完全退出普及游戏。 如果不将JDK分为可管理和高效的部分,Oracle将没有理由说服业界相信Java是长远之计。
在决定放弃拼图之前,我请甲骨文考虑一下后果! 他们必须忽略固定发布路线图,并接受任务的难度。 只要Jigsaw即将推出Java 8,我们就可以对Java 7感到满意(无论如何它并未得到广泛采用)。这个固定的发布周期实际上可以在Java 8之后出现。
我想错了,对甲骨文正式宣布在下一个JavaOne中对Apple和Android设备上的JavaFX的绝对支持感到惊讶;-)但是,我认为可能性很小:-(
参考: Hildeberto博客博客中来自JCG合作伙伴 Hildeberto Mendonca 的延期项目拼图的后果 。
翻译自: https://www.javacodegeeks.com/2012/09/project-jigsaw-consequences-of-deferring.html