registrarse - ¿Puedo escribir aplicaciones nativas de iPhone usando Python?
mobincube registrarse (12)
Usando PyObjC , puede usar Python para escribir aplicaciones Cocoa para OS X. ¿Puedo escribir aplicaciones nativas de iPhone usando Python y, de ser así, cómo?
Actualmente no, los únicos idiomas disponibles para acceder al SDK de iPhone son C / C ++, Objective C y Swift.
No hay una razón técnica por la cual esto no pueda cambiar en el futuro, pero no aguanto la respiración porque esto ocurra en el corto plazo.
Dicho esto, Objective-C y Swift realmente no son demasiado aterradores ...
2016 editar
Javascript con el marco NativeScript está disponible para usar ahora.
Creo que no fue posible antes, pero recientemente escuché acerca de PyMob, 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. PyMob página web lo explica con más detalle.
Aún no lo he probado, pero lo veré pronto.
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 el iPhone.
El acuerdo SDK de iPhone también es bastante impreciso acerca de si incluso se le permite ejecutar lenguajes de scripting (fuera de un 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.
Parece que ahora es algo que los desarrolladores pueden hacer: el Acuerdo de desarrollador de iOS se modificó ayer y parece haber sido modificado 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 ejecutar ningún 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 u otros. A menos que Apple apruebe lo contrario por escrito, no se podrá descargar ni usar ningún código interpretado en una Aplicación, excepto en el caso de un 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 incorporado de manera limitada si dicho uso es únicamente para proporcionar características menores o funcionalidades que sean consistentes con el propósito pretendido y publicitado de la Aplicación.
Nuevo:
3.3.2 Una aplicación no puede descargar o 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 incorporado de Apple.
Puedes hacer esto con PyObjC, con un teléfono liberado, por supuesto. Pero si quieres ingresar a la App Store, no lo permitirán porque "interpreta el código". Sin embargo, es posible que puedas utilizar Shed Skin , aunque no conozco a nadie que lo haga. No puedo pensar en ninguna buena razón para hacer esto, ya que pierdes la escritura dinámica, y también podría usar ObjC.
Sí tu puedes. Usted 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! usando 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 puede desear pagar: Kivy y PyMob .
Considere las respuestas a esta pregunta también, ya que están más actualizadas que esta.
Técnicamente, siempre que el código interpretado NO se descargue (excluyendo JavaScript), la aplicación puede ser aprobada. El marco de Rhodes de Rhomobiles hace justamente eso, combinando el móvil Ruby, una versión ligera de Rails, y su aplicación para 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 considera 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 cuesta creer que tinyPy o pyObjC no encuentren un lugar si hay una comunidad de desarrolladores dispuesta.
También puede usar PyObjC en el iPhone, debido al excelente trabajo de Jay Freeman (saurik). Ver aplicaciones de iPhone en Python .
Tenga en cuenta que esto requiere un iPhone con jailbreak en este momento.
Una actualización del Acuerdo de desarrollador de iOS significa que puede usar lo que quiera, siempre y cuando cumpla con las pautas del desarrollador. La sección 3.3.1, que restringió lo que los desarrolladores podrí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 de Exportar a Xcode que le permite exportar sus scripts de Python como proyectos de Xcode que crean aplicaciones de iOS independientes.