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?¿Puedo escribir aplicaciones nativas de iPhone usando Python?
Respuesta
Actualmente, 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 contaría con que esto ocurra en el corto plazo.
Dicho esto, Objective-C y Swift realmente no son demasiado miedo ...
2016 editar
Javascript con el marco NativeScript está disponible para usar ahora.
Escribí una aplicación multifuncional para iPhone en Objective-C y una aplicación para Mac de múltiples funciones en PyObjC, y debo decir que, de acuerdo con la experiencia, la sintaxis de Objective-C para estructuras de datos en particular (como matrices) y diccionarios) es significativamente más engorroso y tedioso que el de Python. Básicamente me he negado a hacer más desarrollos en mi aplicación de iPhone hasta que Apple incluya compatibilidad con PyObjC. La sintaxis comparativamente prolija y tediosa de Objective-C me distrae increíblemente cuando intento desarrollar el flujo descendente de mis algoritmos. –
@Dave Verwer: ¿esta respuesta todavía está actualizada? – bukzor
@bukzor nope, vea http://stackoverflow.com/questions/3691655/embedding-python-in-an-iphone-app – cobbal
También puede usar PyObjC en el iPhone, debido al excelente trabajo de Jay Freeman (saurik). Ver iPhone Applications in Python.
Tenga en cuenta que esto requiere un iPhone con jailbreak en este momento.
El acuerdo de iPhone SDK 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, etc
Usted puede hacer esto con PyObjC, con un teléfono con jailbreak, por supuesto. Pero si quieres ingresar a la App Store, no lo permitirán porque "interpreta el código". Sin embargo, es posible que pueda usar 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.
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.
Sí, pero con el nuevo Acuerdo de desarrollador de iPhone debemos esperar y ver qué sucederá con Mono Touch. – TalkingCode
@Holli: el ahora nuevo acuerdo de desarrollo pone MonoTouch en claro –
@phsr Sí, ya lo noté. Una gran noticia. – TalkingCode
Sí, 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/
una actualización del Acuerdo para desarrolladores de iOS significa que se puede usar lo que quiera, siempre y cuando cumpla con las pautas de desarrollo. 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
Afortunadamente, este lenguaje ha sido eliminado de 3.3.1 !! –
Técnicamente, siempre y cuando el código interpretado no se descarga (excluyendo JavaScript), la aplicación puede ser aprobado. 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 de que el último comunicado de prensa de Apple - Rodas aplicaciones móviles (rubí) siguen siendo viables en la aplicación de la tienda. Me cuesta creer que tinyPy o pyObjC no encuentren un lugar si hay una comunidad de desarrolladores dispuesta.
Parece que esto es ahora se permite algo que los desarrolladores hacer: el Acuerdo para desarrolladores de iOS fue cambiado ayer y parece haber sido ammended en una manera tal como para hacer que la incorporación de un interpretter Python en su aplicación jurídica:
SECCIÓN 3.3.2 - INTÉRPRETES
antigua:
3.3.2 Una aplicación no puede en sí instalar o iniciar otros 01 ejecutable Códigopor cualquier medio, incluida la limitación mediante el uso de una arquitectura de plug-in , llamando a otros marcos , otras API u otras. salvo disposición contraria de Apple en la escritura, el código no puede ser interpretado sea descargado o usado en una aplicación excepción de código que se interpreta y dirigido por API documentadas de Apple y incorporada intérprete (s). No obstante lo anterior, con el consentimiento previo por escrito de Apple, una aplicación puede utilizar incrustado código interpretado de una manera limitada si tal uso es únicamente para proporcionar características o funcionalidades menores que son consistente con la intención y finalidad anunciada de la aplicación.
Nuevo:
3.3.2 Una aplicación puede no descargar o instalar código ejecutable. El código interpretado solo se puede usar en una Aplicación si todas las secuencias de comandos, código y los intérpretes están empaquetados en la Aplicación y no se descargan. La única excepción a la es la de las secuencias de comandos y el código descargado y ejecutado por integrado en el marco WebKit de Apple.
creo que no era posible antes, pero recientemente he oído hablar de PyMob, que parece interesante porque las aplicaciones están escritas en Python y los productos finales son códigos fuente nativa en varias plataformas (Obj-C para iOS, Java para Android etc.). Esto es ciertamente bastante único. This página web lo explica con más detalle.
Aún no lo he probado, pero lo echaré un vistazo pronto.
Aparentemente, se lanzará como un proyecto comercial. A partir de ahora (28-Sep-12) el sitio dice: "Estamos aceptando clientes para un programa Beta limitado. Contáctanos para preguntar" y eso es todo. – ccpizza
Sí, hoy en día puede desarrollar aplicaciones para iOS en Python.
Hay dos marcos que puede desear pagar: Kivy y PyMob.
Considere también las respuestas a this question, ya que están más actualizadas que esta.
Kivy y PyMob no generan aplicaciones nativas – Serjik
Depende de su definición de "nativo". La pregunta implica una definición que cubre escribir la aplicación de Python para OSX, hasta cierto punto de la misma manera que ahora puede escribirlos para iOS. –
Pythonista tiene una función Exportar a Xcode que le permite exportar sus scripts de Python como proyectos de Xcode que crean aplicaciones de iOS independientes.
- 1. iPhone aplicaciones web que se ejecutan como aplicaciones nativas
- 2. Test Driven Design para aplicaciones nativas de iPhone
- 3. ¿Puedes desarrollar aplicaciones nativas para iPhone en Ruby?
- 4. ¿Cómo matar aplicaciones nativas de 'adb shell'?
- 5. Distribución de aplicaciones de rieles como aplicaciones nativas
- 6. Diseñador visual para aplicaciones Win32 nativas
- 7. Depuración de aplicaciones nativas Android NDK
- 8. ¿Existe alguna manera de automatizar la conversión de aplicaciones web a aplicaciones nativas de Android o iPhone?
- 9. ¿Html5 y Javascript reemplazarán las aplicaciones nativas?
- 10. ¿Puedo escribir aplicaciones iOS (Cocoa) en JavaScript?
- 11. ¿Puedo escribir un servidor SOAP usando python espuma?
- 12. ¿Se prefieren PyGTK o PyQT para hacer aplicaciones de Python nativas de GTK?
- 13. ¿Cómo desarrollo páginas web para el iphone que parecen aplicaciones nativas?
- 14. opciones de desarrollo de aplicaciones nativas de Windows
- 15. Cómo escribir funciones de lista nativas de Erlang en CouchDB
- 16. Aplicaciones iPhone
- 17. Biblioteca/Framework de Python para escribir aplicaciones P2P
- 18. Desarrollo de aplicaciones para iPhone y Android
- 19. Hacer que las aplicaciones Java parezcan nativas en Windows, ¿cómo?
- 20. ¿puedo desarrollar aplicaciones de Android usando gwt?
- 21. iOS/Android: ¿diseño de aplicaciones, totalmente nativas o PhoneGap?
- 22. ¿Cómo comenzar a escribir aplicaciones para iPad?
- 23. Enviando tweets desde aplicaciones de iPhone usando Oauth
- 24. Conectando a APNS para iPhone usando Python
- 25. Cancelación de eco acústico en Flash/Flex usando librerías nativas
- 26. ¿Cómo puedo escribir un complemento para VS2010 usando MEF?
- 27. ¿Cómo puedo visualizar mosaicos OSM usando Python?
- 28. ¿Puedo hacer desarrollo de iPhone usando VMWare en XP?
- 29. Escribir aplicaciones multiplataforma en C
- 30. iPhone: ¿Cómo puedo almacenar UIImage usando NSUserDefaults?
Los desarrolladores de iPhone están marcando esta pregunta como desactualizada (demasiado localizada), y los intentos de resolver esto también generan quejas de que sigue siendo correcta. Entonces, si estás aquí como resultado de una búsqueda, ten en cuenta que esta respuesta es del '08 y es posible que no tenga una respuesta correcta. – Will
Para explicar mejor: Apple una vez tuvo una sección en su acuerdo que específicamente enumeró los lenguajes de programación permitidos C, C++, Objective-C y Javascript. Esto fue motivo de mucha confusión, dudas y miedo. Finalmente, Apple dejó de nombrar los idiomas. Sé con certeza que, incluso mientras esto estaba en su lugar, había una variedad de aplicaciones en la tienda, en proceso de publicación o en desarrollo que usaban secuencias de comandos Lua de una forma u otra. – LearnCocos2D