Mac App Store accepte-t-il une application écrite en Python/Java/Ruby?


Le Mac App Store accepte-t-il une application écrite en Python/Java/Ruby?

Author: Peter Hosey, 2010-10-22

6 answers

Les Bonnes nouvelles

Oui, vous pouvezsoumettre une application Java au Mac App Store. Ce n'est pas vrai dans le passé, mais c'est vrai au moins à partir de maintenant en 2013.

Un exemple est le succès MoneyDancepersonal finance app actuellement disponible à la vente dans le Mac App Store.

Les mauvaises nouvelles

Préparer et soumettre votre application n'est ni simple ni facile. Vous devez sauter à travers des cerceaux.

  • Votre application ne peut pas dépendre de l'installation de Java sur le Mac. Vous devez inclure un JRE (Java Runtime Environment ) dans votre application Mac.
  • Vous devez écrire un wrapper Objective-C mince autour de votre application Java. Le code source et les exemples/tutoriels sont disponibles sur le web.
  • Comme toute autre application, vous devez passer par tous les tracas de la construction compliquée et rigmarole de déploiement avec des restrictions de sécurité Apple exige de toute application Mac App Store.

Plus Info

, Par la manière, vous pouvez utiliser à la fois Swing et JavaFX dans votre application. JavaFX est maintenant livré avec Java, au moins à partir de Java 7 Update 40 selon ces Notes de version.

Java 9

La nouvelle version de Java 9 devrait rendre ce processus d'emballage d'une application avec un runtime encore plus facile et meilleur.

Modules

Java 9 apporte la "modularisation", Java Platform Module System (JPMS) , où les quelque 5 000 classes fournies avec une JVM sont regroupées en une centaine de morceaux connus sous le nom de modules . Vous pouvez inclure uniquement les modules contenant des classes réellement utilisées par votre application particulière plutôt que de transporter chaque bibliothèque. Si vous n'utilisez pas JSON ou CORBA, alors vous n'avez pas besoin d'inclure les modules liés à JSON ou CORBA.

Le nouveau jlink tool fait ce travail pour vous, pour assembler et optimiser un ensemble de modules et leurs dépendances dans une image d'exécution personnalisée. En prime, un travail d'optimisation du temps de liaison est effectué pour accélérer le lancement de votre application.

Ces fonctionnalités sont prises en charge sur les systèmes macOS 64 bits, ainsi que sur d'autres plates-formes.

Compilation native

Java 9 apporte également un nouveau support pour le natif compiler, pour créer une application optimisée pour un matériel spécifique. Mais cette capacité est expérimentale et n'est pas encore prête pour une utilisation en production.

Mise à jour, à partir de 2018

Oracle a annoncé la fin du déploiement web de la technologie , y compris Java Web Start , l'avenue précédemment recommandée pour les applications de bureau. Alors maintenant, Oracle s'attend à ce que toutes les applications Java soient livrées avec une JVM, comme c'est le cas avec l'outil jlink mentionné ci-dessus.

Donc, le processus de envelopper une application avec un runtime Java qui était quelque chose d'une rareté juste pour l'App Store d'Apple est maintenant courant. Oracle s'attend à ce que toute application de bureau basée sur Java soit installée de cette façon.

 16
Author: Basil Bourque, 2018-05-05 06:42:52

Oui et non. Apple ne se soucie pas de la langue dans laquelle votre application est écrite, mais elle ne peut pas dépendre ou installer quoi que ce soit en dehors du binaire que vous soumettez à Apple. Les directives pertinentes sont les suivantes:

2.14
Apps must be packaged and submitted using Apple's packaging technologies included in Xcode - no third party installers allowed
2.15
Apps must be self-contained, single application installation bundles, and cannot install code or resources in shared locations
2.16
Apps that download or install additional code or resources to add functionality or change their primary purpose will be rejected

Donc, bien que cela signifie que vous ne pouvez pas dépendre de Ruby ou de Python, vous pouvez utiliser un framework comme MacRuby pour construire votre application dans Ruby et intégrer l'interpréteur Ruby. Parlant pour MacRuby, les applications ont été soumises avec succès au Mac App Store de cette façon.

 4
Author: Dominic, 2011-02-05 21:38:25

Ruby ? Oui !
Apple a déjà accepté une de mes applications écrites en MacRuby.

 3
Author: xhan, 2011-10-06 07:16:17

AFAIK, Cocoa vous permettra d'inclure du code écrit dans différents langages (y compris Ruby et Python, mais pas Java je ne pense pas).

Vérifiez le SDK Apple pour plus d'informations, mais je crois (grâce à Cocoa) que ce n'est pas un problème.

 2
Author: Benjamin Allison, 2011-01-17 19:07:23

Pour les applications Python, j'ai écrit un article complet expliquant comment créer et soumettre de telles applications au Mac App Store. Il comprend le code source et les scripts de construction pour un exemple d'application barebones que j'ai soumis avec succès.

 2
Author: David Foster, 2014-06-25 07:25:31

Peut-être Java, si vous regroupez l'application Java dans une application mac.

 0
Author: Coder404, 2012-05-10 00:23:52