Mac App Store是否接受以Python / Java / Ruby编写的应用程序?

最佳答案

好消息

是的,您可以向Mac App Store提交Java应用。过去并非如此,但至少从现在到2013年都是如此。

一个示例是成功的MoneyDance个人理财应用程序,当前在Mac App Store中为available for sale

坏消息

准备和提交您的应用既不容易也不容易。您必须跳过一些箍。

  • 您的应用不能依赖于Mac上安装的Java。您的Mac应用程序中必须包含JRE(Java Runtime Environment)。
  • 您必须在Java应用程序周围编写一个瘦的Objective-C包装器。可以在Web上获得源代码和示例/教程。
  • 与其他任何应用程序一样,您必须经历Apple要求的任何Mac App Store应用程序的复杂构建和部署过程的所有麻烦,并且存在安全限制。

  • 更多信息
  • Take your Java application to the Mac App Store撰写了两篇文章Forking the OpenJDK for fun and profitMarco Dinacci。这些文章可能会提供其他有用的信息,但是幸运的是,现在对分叉JDK的讨论已经过时了。他和其他人提供了所需的补丁程序,这些补丁程序现在已包含在正式版本中。
  • Centert Software的Dem Pilafian的
  • How to Create a Mac OS X Installer for a Java Application (Updated for Mac OS X 10.8 — Mountain Lion)
  • Packaging a Java App for Distribution on a Mac(Oracle)
  • Submitting to the Mac App Store(苹果机)

  • 顺便说一句,您可以在应用程序中同时使用SwingJavaFX。 JavaFX现在已与Java bundle 在一起,至少根据Java 7 Update 40Release Notes开始。

    Java 9

    新发布的Java 9应该使使用运行时包装应用程序的过程变得更加轻松和完善。

    模组

    Java 9带来了“模块化” Java Platform Module System (JPMS),其中与JVM bundle 在一起的大约5,000个类被分组为大约一百个称为模块的块。您只能包含包含特定应用程序实际使用的类的模块,而不是在每个库中拖拉。如果您不使用JSONCORBA,则无需包含与JSON或CORBA相关的模块。

    新的jlink工具可以为您完成此工作,以将一组模块及其依赖项组合并优化到一个自定义的运行时镜像中。另外,还会执行一些链接时优化工作,以使您的应用启动速度更快。

    这些功能在64位macOS系统以及其他平台上受支持。

    本机编译

    Java 9还带来了对本机编译的新支持,以构建针对特定硬件优化的应用程序。但是此功能是实验性的,尚未准备好用于生产。

    更新,截至2018年

    Oracle具有announced the end of web deployment技术,包括Java Web Start(以前为台式机应用程序推荐的途径)。因此,现在,Oracle希望所有Java应用程序都将与JVM bundle 交付,例如使用上述jlink工具完成的交付。

    因此,使用Java运行时包装应用程序的过程现已成为主流,这对于Apple App Store来说是很少见的。 Oracle希望以这种方式安装任何基于Java的桌面应用程序。

    关于macos - Mac App Store是否接受以Python/Java/Ruby编写的应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3997867/

    10-13 07:41
    查看更多