Con PyObjC , puede usar Python para escribir aplicaciones Cocoa para OS X. ¿Puedo escribir aplicaciones nativas para iPhone usando Python y, de ser así, cómo?
Con PyObjC , puede usar Python para escribir aplicaciones Cocoa para OS X. ¿Puedo escribir aplicaciones nativas para iPhone usando Python y, de ser así, cómo?
Respuestas:
Actualmente no, actualmente los únicos idiomas disponibles para acceder al SDK de iPhone son C / C ++, Objective C y Swift.
No hay ninguna razón técnica por la que esto no pueda cambiar en el futuro, pero no aguantaría la respiración porque esto suceda en el corto plazo.
Dicho esto, Objective-C y Swift realmente no dan demasiado miedo ...
2016 editar
Javascript con el marco de NativeScript está disponible para usar ahora.
También puede usar PyObjC en el iPhone, debido al excelente trabajo de Jay Freeman (saurik). Consulte Aplicaciones de iPhone en Python .
Tenga en cuenta que esto requiere un iPhone con jailbreak en este momento.
Parece que esto es ahora algo que los desarrolladores pueden hacer: el Acuerdo de desarrollador de iOS se cambió ayer y parece haber sido enmendado de tal manera que la incorporación de un intérprete de Python en su aplicación sea legal:
SECCIÓN 3.3.2 - INTÉRPRETES
Antiguo:
3.3.2 Una Aplicación no puede instalar o iniciar por sí misma otro código ejecutable por ningún medio, incluido, entre otros, mediante el uso de una arquitectura de complemento, llamando a otros marcos, otras API o de otro modo. A menos que Apple apruebe lo contrario por escrito, no se puede descargar ni utilizar ningún código interpretado en una Aplicación, excepto el código interpretado y ejecutado por las API documentadas de Apple y los intérpretes incorporados. No obstante lo anterior, con el consentimiento previo por escrito de Apple, una Aplicación puede usar código interpretado incrustado de manera limitada si dicho uso es únicamente para proporcionar características o funcionalidades menores que sean consistentes con el propósito previsto y anunciado de la Aplicación.
Nuevo:
3.3.2 Una Aplicación no puede descargar ni instalar código ejecutable. El código interpretado solo se puede usar en una Aplicación si todos los scripts, códigos e intérpretes están empaquetados en la Aplicación y no se descargan. La única excepción a lo anterior son los scripts y el código descargados y ejecutados por el marco WebKit integrado de Apple.
Sí tu puedes. Escribe su código en tinypy (que es Python restringido), luego usa tinypy para convertirlo a C ++, y finalmente compila esto con XCode en una aplicación nativa de iPhone. ¡Phil Hassey ha publicado un juego llamado Elephants! utilizando este enfoque. Aquí hay más detalles,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
Sí, hoy en día puedes desarrollar aplicaciones para iOS en Python.
Hay dos marcos que es posible que desee verificar : Kivy y PyMob .
Considere también las respuestas a esta pregunta , ya que están más actualizadas que esta.
Una actualización del Acuerdo para desarrolladores de iOS significa que puede usar lo que quiera, siempre que cumpla con las pautas para desarrolladores. La sección 3.3.1, que restringía lo que los desarrolladores podían usar para el desarrollo de iOS, se ha eliminado por completo.
Fuente: http://daringfireball.net/2010/09/app_store_guidelines
Pythonista tiene una función Exportar a Xcode que le permite exportar sus scripts de Python como proyectos de Xcode que crean aplicaciones independientes de iOS.
https://github.com/ColdGrub1384/Pyto también vale la pena investigarlo.
El acuerdo del iPhone SDK también es bastante vago sobre si se le permite ejecutar lenguajes de scripting (fuera del Javascript de WebView). Mi lectura es que está bien, siempre y cuando ninguno de los scripts que ejecute se descargue de la red (por lo que los scripts preinstalados y editados por el usuario parecen estar bien).
IANAL, etc., etc.
Actualización de 2019:
Si bien el desarrollo de Python-iOS es relativamente inmaduro y probablemente evitará (afaik) que su aplicación tenga una interfaz de usuario nativa y una funcionalidad que podría lograrse en un lenguaje de desarrollo compatible con Apple, Apple ahora parece permitir la incorporación de intérpretes de Python en Native Swift / Obj-C aplicaciones.
Esto admite la importación de bibliotecas de Python y la ejecución de scripts de Python (incluso con argumentos de línea de comandos proporcionados) directamente desde su código nativo Swift / Obj-C.
¡Mi empresa en realidad está envolviendo nuestra infraestructura (originalmente escrita en Python) en una aplicación nativa de iOS! Funciona muy bien y la comunicación entre las partes se puede lograr fácilmente a través de un modelo cliente-servidor.
Aquí hay una buena biblioteca de Beeware con una plantilla de cortador de galletas si desea probar y ejecutar scripts de Python en su aplicación iOS: https://github.com/beeware/Python-Apple-support/tree/3.6 .
Técnicamente, siempre que el código interpretado NO SE descargue (excluyendo JavaScript), la aplicación puede ser aprobada. El marco Rhomobiles "Rhodes" hace precisamente eso, agrupando Ruby móvil, una versión ligera de Rails y su aplicación para su distribución a través de la tienda de aplicaciones. Debido a que tanto el intérprete como el código interpretado están empaquetados en la aplicación final, Apple no lo encuentra objetable.
http://rhomobile.com/products/rhodes/
Incluso después del último comunicado de prensa de Apple, las aplicaciones de Rhodes (ruby móvil) siguen siendo viables en la tienda de aplicaciones. Me resultaría difícil creer que tinyPy o pyObjC no encontrarían un lugar si hubiera una comunidad de desarrolladores dispuesta.
Puede hacer esto con PyObjC, con un teléfono con jailbreak, por supuesto. Pero si desea ingresarlo a la App Store, no lo permitirán porque "interpreta el código". Sin embargo, es posible que pueda usar Shed Skin , aunque no tengo conocimiento de que nadie lo haga. Sin embargo, no puedo pensar en ninguna buena razón para hacer esto, ya que pierde la escritura dinámica y también podría usar ObjC.
El único lenguaje "externo" significativo para el desarrollo de iPhone que conozco con soporte semi-significativo en términos de marcos y compatibilidad es MonoTouch , un entorno C # / .NET para desarrollar en iPhone.
Creo que no era posible antes, pero recientemente escuché sobre PyMob, lo que parece interesante porque las aplicaciones están escritas en Python y los resultados finales son códigos fuente nativos en varias plataformas (Obj-C para iOS, Java para Android, etc.). Esto es ciertamente bastante único. Esta página web lo explica con más detalle.
Todavía no lo he probado, pero lo echaré un vistazo pronto.