¿Qué lenguajes de programación se pueden utilizar para desarrollar aplicaciones para iPhone, iPod Touch y iPad (iOS)?

84

¿Qué lenguajes de programación se pueden utilizar para desarrollar aplicaciones para iPhone, iPod Touch y iPad (iOS)?

¿También hay planes en el futuro para expandir la cantidad de lenguajes de programación que admitirá iOS?

Anton
fuente

Respuestas:

46

Apple eliminó las restricciones sobre las aplicaciones que no son Objective C / C / C ++; simplemente no puede cargar código que no esté en el paquete de la aplicación.

MonoTouch le permite usar lenguajes .NET: C # es compatible directamente, pero si tiene Windows, puede hacer ensamblajes en cualquier lenguaje .NET y usarlo.

Hay rumores de que Apple admitirá otros idiomas directamente; sigo escuchando ruby, pero son solo rumores.

Creo que Lua se está utilizando para la lógica del juego en muchas aplicaciones.

EDITAR (en 2018): generalmente puede usar cualquier idioma que pueda compilar para iOS o incluso instalar intérpretes de idiomas. Lo principal que no puede hacer es cargar código de Internet que no estaba en el paquete de la aplicación.

La gente hace esto todo el tiempo de todos modos (consulte React Native apps cargando JavaScript desde servidores), pero, técnicamente, no está permitido. Lo principal que llamará la atención de Apple si crea algún tipo de tienda de aplicaciones que cargue cosas similares a aplicaciones.

EDITAR (en 2020): de @Pylot en comentarios: sé que esto fue hace mucho tiempo, pero ahora, al menos técnicamente, puede cargar código que no está incrustado en la aplicación, ya que puede escribir con JavaScript usando la vista web. No quedarte tu respuesta está mal ni nada, definitivamente estoy de acuerdo contigo. pero estaba buscando algo y encontré esta publicación en el camino. Pensé que si alguien ve esto, podría ayudarlos.

Lou Franco
fuente
3
Objective-C ++ es el puente entre ObjC y C ++, así que está bien.
Lou Franco
RubyMotion le permite crear aplicaciones nativas de iOS usando Ruby. Sin embargo, no es gratis.
Uygar Y
1
Probé Lua para la lógica dentro de mi aplicación, con luasqlite también (solución empresarial, por lo que no podría haber rechazos de tiendas, ya sea que ocurran o no) y puedo testificar que funciona de maravilla. Tenga en cuenta que Lua tiene una huella de memoria muy muy baja, por lo que en realidad puede ejecutar una docena de intérpretes al mismo tiempo sin consumir ni un Mb de memoria (que es lo que realmente hice ...). Consulte también la respuesta de gran.pancho.villa sobre Swift.
Rick77
1
Sé que esto fue hace mucho tiempo, pero ahora, al menos técnicamente, puede cargar código que no está incrustado en la aplicación, ya que puede escribir con JavaScript usando la vista web. No quedarte tu respuesta está mal ni nada, definitivamente estoy de acuerdo contigo. pero estaba buscando algo y encontré esta publicación en el camino. Pensé que si alguien ve esto, podría ayudarlos.
Pylot
@pylot - Agregué su comentario a la respuesta - gracias
Lou Franco
17

El acuerdo del SDK y las pautas de la tienda de aplicaciones se han modificado (alrededor de septiembre de 2010).

Probablemente ahora pueda usar cualquier lenguaje compilado que se compile en el mismo formato de archivo de objeto ARM estático que produce Xcode y que se vinculará (solo) a las API públicas dentro de los marcos y bibliotecas de Apple. Sin embargo, no puede utilizar un lenguaje compilado JIT a menos que precompile todo el código objeto antes de enviarlo a Apple para su revisión.

Puede utilizar cualquier idioma interpretado, siempre que incorpore el intérprete, y no permita que el intérprete o la aplicación descarguen y ejecuten ningún código interpretable que no sea el código integrado en el paquete de la aplicación antes de enviarlo a Apple para su revisión o el código fuente escrito. -en por el usuario.

Objective C y C probablemente seguirán siendo el lenguaje de programación más óptimo para cualquier cosa que requiera un alto rendimiento y el último soporte de API (* ver actualización a continuación), ya que esos son los lenguajes para los que Apple apunta a sus frameworks iOS y sintoniza sus chipsets de procesador ARM. Apple también admite el uso de Javascript / HTML5 dentro de UIWebView. Esos son los únicos idiomas para los que Apple ha anunciado soporte. Cualquier otra cosa tendrá que encontrar apoyo en otro lugar.

Pero, si realmente lo desea, hay al menos media docena de intérpretes BASIC ahora disponibles en la tienda de aplicaciones de iOS, por lo que ahora se permite incluso la metodología de programación "Stone Age".

Agregado: (*) A finales de 2014, también se pueden desarrollar aplicaciones utilizando el nuevo lenguaje de programación Swift de Apple. A principios de 2015, los binarios enviados deben incluir compatibilidad con 64 bits (arm64).

hotpaw2
fuente
11

Con planes de retirar lentamente el Objective-C de uso prolongado, Apple ha introducido un nuevo lenguaje de programación, llamado Swift, para diseñar aplicaciones y aplicaciones que se ejecuten en dispositivos Apple iOS y computadoras Apple Macintosh.

Apple dice: " Swift es un nuevo lenguaje de programación para aplicaciones iOS y OS X que se basa en lo mejor de C y Objective-C, sin las limitaciones de la compatibilidad con C. Swift adopta patrones de programación seguros y agrega funciones modernas para facilitar la programación, más flexible y más divertido. La pizarra limpia de Swift, respaldada por los marcos maduros y apreciados de Cocoa y Cocoa Touch, es una oportunidad para volver a imaginar cómo funciona el desarrollo de software " .

Introduciendo Swift

ingrese la descripción de la imagen aquí

gral.pancho.villa
fuente
6

¿Qué lenguajes de programación se pueden utilizar para desarrollar aplicaciones para iPhone, iPod Touch y iPad (iOs)?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. Esos son los que me vienen a la cabeza ahora mismo. Estoy seguro de que hay cientos, si no miles, de otros. (Por ejemplo, no hay ninguna razón por la que no pueda usar ningún lenguaje .NET con MonoTouch, es decir, VB.NET, F #, Nemerle, Boo, Cobra, ...)

Además, ¿hay planes en el futuro para ampliar la cantidad de lenguajes de programación que admitirá iOs?

Por supuesto. Casi todas las comunidades de lenguajes de programación de este planeta están trabajando actualmente para que su lenguaje se ejecute en iOS.

Además, mucha gente está trabajando en lenguajes de programación diseñados específicamente para dispositivos táctiles como iPod touch, iPhone y iPad, por ejemplo, el lenguaje Thyrd de Phil Mercurio .

Jörg W Mittag
fuente
4
-1. Ruby, Python y ActionScript aún no funcionan en iOS. En el pasado, hubo intentos de ejecutar CL y Scheme, pero no creo que estén actualizados. Lo mismo pasa con Haskell. JavaScriptCore es un marco privado en este momento; puede crear un script Objective-C usando JS en una vista web, pero eso es realmente torpe.
Jonathan Sterling
4
@Jonathan Sterling: Debería decirle eso a los desarrolladores que han estado vendiendo aplicaciones Ruby a través de la App Store durante más de un año. Estoy seguro de que les interesaría mucho saber que sus aplicaciones no existen.
Jörg W Mittag
4
Rhomobile no cuenta. Esas no son aplicaciones nativas reales. Simplemente están atrapados en una vista web.
Jonathan Sterling
@Jonathan Sterling: Puede que llegue un poco tarde a la fiesta aquí, pero Actionscript es compatible con iOS, a través de AIR para iOS. (Y fue en el momento del comentario original el 10 de octubre). Incluso tiene un rendimiento bastante bueno también ...
Marty Pitt
5

El lenguaje de programación de iOS (y Mac OS) es Objective-C y C. Tienes que usar la plataforma Xcode para desarrollar aplicaciones iOS, en la próxima versión que ahora está disponible en la versión beta, Xcode 4 también es compatible con C ++.

Estera
fuente
No es necesario utilizar Xcode para desarrollar aplicaciones de iOS o Objective C o C ++. Por ejemplo, puede usar RubyMotion, que hace uso de las herramientas de línea de comandos. Además, hay una serie de soluciones de desarrollo de terceros para desarrollar una aplicación que se puede ejecutar en iOS y Android
Martin Lockett
4

Ahora también es posible utilizar OCaml para desarrollar aplicaciones iOS. No forma parte de la distribución estándar y requiere modificaciones proporcionadas por la empresa Psellos. Consulte aquí para obtener más información: http://psellos.com/ocaml/ .

Ashish Agarwal
fuente
2

Este podría ser un hilo antiguo, pero me gustaría mencionar Appcelerator Titanium , que permite a cualquier persona versada en HTML5 / JavaScript / CSS desarrollar aplicaciones iOS.

shaond
fuente
Si no me equivoco, puede cambiar JavaScript por Ruby o Python cuando use Titanium.
Torbjørn
2

Ahora solo se permite Objective-C ... pero desde hace unos meses se le permite escribir scripts que serán interpretados en su aplicación.

Por lo tanto, es posible que pueda escribir un intérprete de LUA o un intérprete de Python y luego escribir una parte de su aplicación en este lenguaje de programación. Si desea que su aplicación sea aceptada en la App Store, estos scripts deben estar incluidos con la aplicación (su aplicación no puede descargarla de Internet, por ejemplo)

ver nuevas reglas de la tienda de aplicaciones

dwursteisen
fuente
1

objetivo-c es el idioma principal utilizado.

creo que hay un marco mono touch que se puede usar con c #

Adobe también está trabajando en algunas herramientas, una es este Empaquetador de iPhone que puede utilizar código de ActionScript.

Aaron Saunders
fuente
¿El vínculo parece estar muerto?
Zameer Ansari
1

Puede utilizar el lenguaje de programación "smart BASIC". Es un lenguaje BÁSICO genuino pero muy avanzado con todo su poder y sencillez. Con su SDK gratuito, el código BASIC se puede publicar fácilmente como una aplicación independiente de la App Store. Hay muchas aplicaciones en App Store, escritas en lenguaje de programación "smart BASIC".

Kibernetik
fuente