Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
苹果不赞成Java,作为程序员,我们的技术选择是什么?_Java_Oracle_Macos - Fatal编程技术网

苹果不赞成Java,作为程序员,我们的技术选择是什么?

苹果不赞成Java,作为程序员,我们的技术选择是什么?,java,oracle,macos,Java,Oracle,Macos,可能重复: 就这样,苹果可能不再自己生产JVM,也不再将其与OS X一起提供: 我们有一个运行在Windows、Linux和OS X上的巨大Java应用程序(OS X是我们[rich]用户群的一大部分),作为开发人员,我们的选择是什么 在另一个OS X JVM(Oracle JVM)上运行我们的应用程序是否现实 还是要考虑离开Java?如果是的话,这在技术上意味着什么?尝试使用一些自动移植工具(与ExcelsiorJetforWindows没有什么不同,OSX有类似的功能吗?)?将我们的整个

可能重复:

就这样,苹果可能不再自己生产JVM,也不再将其与OS X一起提供:

我们有一个运行在Windows、Linux和OS X上的巨大Java应用程序(OS X是我们[rich]用户群的一大部分),作为开发人员,我们的选择是什么

在另一个OS X JVM(Oracle JVM)上运行我们的应用程序是否现实

还是要考虑离开Java?如果是的话,这在技术上意味着什么?尝试使用一些自动移植工具(与ExcelsiorJetforWindows没有什么不同,OSX有类似的功能吗?)?将我们的整个应用程序(这将是巨大的)重写为Objective-C并维护两个不同的版本?(Java版本和Objective-C版本?)


我们可能也会决定完全放弃对OS X的支持,至少只要微软或甲骨文不杀掉Windows上的Java。

这很大程度上取决于苹果是将其作为可选下载(如Rosetta)还是完全放弃

如果是可选下载,则与Windows下的情况相同

如果放弃,则必须考虑OS X是否是一个支持的平台。< /P> <>你可能会强烈考虑支持OpenJDK项目,这是目前填补空白的最好方法,苹果正在这里创建。 在另一个OS X JVM(Oracle JVM)上运行我们的应用程序是否现实

这取决于你的应用程序对GUI的密集程度,以及你/你的用户对你的应用程序Mac版的快速GUI和Mac“用户体验”的关注程度

但是是的,这可能是完全现实的。等着看甲骨文做什么,同时,试试看

还是要考虑离开Java

这取决于你要付出多少努力。以及你能为支持Mac用户付出多少努力。无论您如何做,最终都必须支持两个代码基

我们也可能决定放弃对OSX的支持

这是现实的

。。。至少只要微软或甲骨文不杀掉Windows上的Java

那是荒谬的胡言乱语

微软无法做到这一点,因为他们无法控制Java代码库。(如果他们试图通过后门手段,他们将面临全世界违反反垄断法的危险。)

甲骨文出于许多原因试图这么做是疯狂的。此外,他们不能(理论上)这样做,因为OpenJDK for Windows代码库是开源的,而且还有其他针对Windows的高质量Java实现(例如IBM的)

但由于我们热衷于FUD的传播,一个更可能的场景(与Windows上Java的“世界末日”相比)是:

  • 甲骨文与苹果公司达成协议,接管苹果公司对Mac codebase上Java的权利
  • Oracle通过向开发人员或最终用户出售Java on Mac许可证来“赚钱”
    这肯定是甲骨文的“本质”,他们有权这样做。这不会使它们在开源社区中流行,但有迹象表明它们并不真正关心这一点。

    在没有系统JVM的任何平台上,选项都是一样的:提供一个或让您的客户去购买一个。是的,这意味着JVM-vendor-n-version兼容性可能会遇到麻烦。Java长期存在的麻烦之一是在许多平台上,它需要很大的依赖性。主要平台(如Windoze)不包括现成的JVM。你的应用程序必须嵌入JVM或让用户安装它。这两种选择都不好:(我认为最有可能的情况是Oracle需要很长时间才能推出Mac端口,而且质量很低(您的用户现在必须使用X11,而不是本机应用程序)@Gabe-你可能是对的。这取决于苹果是否愿意与甲骨文打交道,或者这是史蒂夫·乔布斯试图关闭他围墙花园的大门。大门已经缓慢关闭了一段时间(碳、闪存、爪哇).我认为可以肯定地说,如果苹果愿意让某人生产高质量的Java实现,他们早在几年前就已经这么做了,当时他们手头拮据。我担心“写一次,到处运行”不再符合苹果的战略。现在我们有了针对OS X的Oracle Java 7。因此,我的场景的第一部分已经发生了…但第二部分(尚未:-)没有发生。事实证明,它是10.7和10.8的可选下载,最新的更新明确地为Oracle Java做准备。