En utilisant PyObjC , vous pouvez utiliser Python pour écrire des applications Cocoa pour OS X. Puis-je écrire des applications iPhone natives en utilisant Python et si oui, comment?
iphone
python
cocoa-touch
Davidmytton
la source
la source
Réponses:
Pas actuellement, les seuls langages actuellement disponibles pour accéder au SDK iPhone sont C / C ++, Objective C et Swift.
Il n'y a aucune raison technique pour laquelle cela ne pourrait pas changer à l'avenir, mais je ne retiendrais pas votre souffle pour que cela se produise à court terme.
Cela dit, Objective-C et Swift ne sont vraiment pas trop effrayants ...
la source
Vous pouvez également utiliser PyObjC sur l'iPhone, grâce à l'excellent travail de Jay Freeman (saurik). Voir Applications iPhone en Python .
Notez que cela nécessite un iPhone jailbreaké pour le moment.
la source
Il semble que c'est maintenant quelque chose que les développeurs sont autorisés à faire: le contrat de développeur iOS a été modifié hier et semble avoir été modifié de manière à rendre légal l'intégration d'un interpréteur Python dans votre application:
SECTION 3.3.2 - INTERPRÈTES
Vieux:
Nouveau:
la source
Oui, vous pouvez. Vous écrivez votre code en tinypy (qui est restreint en Python), puis utilisez tinypy pour le convertir en C ++, et enfin compilez-le avec XCode dans une application iPhone native. Phil Hassey a publié un jeu appelé Elephants! en utilisant cette approche. Voici plus de détails,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
la source
Oui, de nos jours, vous pouvez développer des applications pour iOS en Python.
Il existe deux frameworks que vous voudrez peut-être vérifier : Kivy et PyMob .
Veuillez également considérer les réponses à cette question , car elles sont plus à jour que celle-ci.
la source
Une mise à jour du contrat de développeur iOS signifie que vous pouvez utiliser ce que vous voulez, à condition de respecter les directives du développeur. La section 3.3.1, qui limitait ce que les développeurs pouvaient utiliser pour le développement iOS, a été entièrement supprimée.
Source: http://daringfireball.net/2010/09/app_store_guidelines
la source
Pythonista dispose d'une fonctionnalité d'exportation vers Xcode qui vous permet d'exporter vos scripts Python en tant que projets Xcode qui créent des applications iOS autonomes.
https://github.com/ColdGrub1384/Pyto vaut également la peine d'être examiné.
la source
L'accord du SDK iPhone est également assez vague quant à savoir si vous êtes même autorisé à exécuter des langages de script (en dehors du Javascript d'une WebView). Ma lecture est que c'est OK - tant qu'aucun des scripts que vous exécutez n'est téléchargé à partir du réseau (donc les scripts pré-installés et modifiés par l'utilisateur semblent être OK).
IANAL etc. etc.
la source
BeeWare est un framework open source pour la création d'applications iOS et Android natives.
la source
Mise à jour 2019:
Alors que le développement Python-iOS est relativement immature et empêchera probablement (afaik) votre application d'avoir une interface utilisateur native et des fonctionnalités qui pourraient être obtenues dans un langage de développement pris en charge par Apple, Apple semble maintenant autoriser l'intégration d'interpréteurs Python dans Native Swift / Obj-C applications.
Cela prend en charge l'importation de bibliothèques Python et l'exécution de scripts Python (même avec les arguments de ligne de commande fournis) directement à partir de votre code Swift / Obj-C natif.
Mon entreprise enveloppe actuellement notre infrastructure (initialement écrite en Python) dans une application iOS native! Cela fonctionne très bien et la communication entre les pièces peut être facilement réalisée via un modèle client-serveur.
Voici une belle bibliothèque de Beeware avec un modèle de cookiecutter si vous voulez essayer d'exécuter des scripts Python dans votre application iOS: https://github.com/beeware/Python-Apple-support/tree/3.6 .
la source
Techniquement, tant que le code interprété N'EST PAS téléchargé (hors JavaScript), l'application peut être approuvée. C'est exactement ce que fait le framework Rhomobiles "Rhodes", regroupant Ruby mobile, une version légère de Rails, et votre application pour la distribution via l'App-Store. Parce que l'interpréteur et le code interprété sont intégrés dans l'application finale - Apple ne le trouve pas répréhensible.
http://rhomobile.com/products/rhodes/
Même après le dernier communiqué de presse Apple - les applications rhodes (mobile ruby) sont toujours viables sur l'App-Store. J'aurais du mal à croire que tinyPy ou pyObjC ne trouveraient pas de place s'il y avait une communauté de développeurs consentante.
la source
Vous pouvez le faire avec PyObjC, avec un téléphone jailbreaké bien sûr. Mais si vous souhaitez l'introduire dans l'App Store, ils ne le permettront pas car il «interprète le code». Cependant, vous pourrez peut-être utiliser Shed Skin , même si je ne connais personne qui fasse cela. Cependant, je ne vois aucune bonne raison de le faire, car vous perdez le typage dynamique et pourriez aussi bien utiliser ObjC.
la source
Le seul langage "externe" significatif pour le développement iPhone que je connaisse avec un support semi-significatif en termes de frameworks et de compatibilité est MonoTouch , un environnement C # / .NET pour le développement sur iPhone.
la source
Je pense que ce n'était pas possible plus tôt mais j'ai récemment entendu parler de PyMob, ce qui semble intéressant car les applications sont écrites en Python et les sorties finales sont des codes sources natifs dans diverses plates-formes (Obj-C pour iOS, Java pour Android, etc.). C'est certainement tout à fait unique. Ce page Web l'explique plus en détail.
Je n'ai pas encore essayé, mais j'y jetterai bientôt un œil.
la source