Quais linguagens de programação podem ser usadas para desenvolver aplicativos para iPhone, iPod Touch e iPad (iOS)?

84

Quais linguagens de programação podem ser usadas para desenvolver aplicativos para iPhone, iPod Touch e iPad (iOS)?

Além disso, existem planos no futuro para expandir a quantidade de linguagens de programação que o iOS oferecerá suporte?

Anton
fonte

Respostas:

46

A Apple suspendeu as restrições sobre aplicativos não Objective C / C / C ++ - você simplesmente não pode carregar o código que não está no pacote de aplicativos.

MonoTouch permite que você use linguagens .NET - C # é diretamente compatível, mas se você tiver o Windows, pode fazer assemblies em qualquer linguagem .NET e usá-la.

Há rumores de que a Apple oferecerá suporte a outros idiomas diretamente - eu continuo ouvindo ruby, mas são apenas rumores.

Acho que Lua está sendo usada para lógica de jogo em muitos aplicativos.

EDIT (em 2018): Geralmente você pode usar qualquer idioma que possa compilar para iOS ou até mesmo instalar intérpretes de idioma. A principal coisa que você não pode fazer é carregar o código da Internet que não estava no pacote de aplicativos.

As pessoas fazem isso o tempo todo de qualquer maneira (consulte React Native Apps carregando JavaScript de servidores), mas, tecnicamente, não é permitido. A principal coisa que chamará a atenção da Apple se você fizer algum tipo de App Store que carregue coisas inteiras do tipo App.

EDIT (em 2020): de @Pylot nos comentários: Eu sei que isso é muito tempo atrás, mas agora, pelo menos tecnicamente, você pode carregar o código que não está embutido no aplicativo, já que você pode escrever com JavaScript usando o webview. Não ficar sua resposta é errado ou algo assim, definitivamente concordo com você. mas estava procurando algo e encontrei este post no caminho. Descobri que se alguém ver isso, isso pode ajudá-los.

Lou franco
fonte
3
Objective-C ++ é a ponte entre ObjC e C ++, então está bem.
Lou Franco,
RubyMotion permite construir aplicativos iOS nativos usando Ruby. Porém, não é gratuito.
Uygar Y
1
Eu tentei Lua para a lógica dentro do meu aplicativo, com luasqlite também (solução corporativa, então nenhuma rejeição de loja poderia estar envolvida, ocorrendo ou não) e posso testemunhar que funciona maravilhosamente bem. Lembre-se de que Lua tem uma pegada de memória muito baixa, portanto, você pode executar dezenas de interpretadores ao mesmo tempo sem consumir mais do que um Mb de memória (que é o que eu realmente fiz ...). Veja também gran.pancho.villa a resposta sobre Swift.
Rick77 de
1
Eu sei que isso foi há muito tempo, mas agora, pelo menos tecnicamente, você pode carregar o código que não está embutido no aplicativo, pois você pode escrever com JavaScript usando o webview. Não ficar sua resposta é errado ou algo assim, definitivamente concordo com você. mas estava procurando algo e encontrei este post no caminho. Achei que se alguém ver isso, isso pode ajudá-los.
Pylot
@pylot - Eu adicionei seu comentário à resposta - obrigado
Lou Franco
17

O contrato SDK e as diretrizes da App Store foram alterados (cerca de setembro de 2010).

Agora você provavelmente pode usar qualquer linguagem compilada que compilará no mesmo formato de arquivo de objeto ARM estático que o Xcode produz e que se vinculará a (apenas) APIs públicas dentro das estruturas e bibliotecas da Apple. No entanto, você não pode usar uma linguagem compilada JIT, a menos que pré-compile todo o código-objeto antes de enviá-lo à Apple para revisão.

Você pode usar qualquer linguagem interpretada, desde que incorpore o intérprete e não permita que o intérprete ou o aplicativo baixe e execute qualquer código interpretável que não seja o código embutido no pacote de aplicativos antes do envio à Apple para revisão ou o código-fonte digitado -in pelo usuário.

Objective C e C provavelmente ainda serão as linguagens de programação mais ideais para qualquer coisa que exija alto desempenho e o suporte API mais recente (* veja a atualização abaixo), já que essas são as linguagens para as quais a Apple direciona seus frameworks iOS e ajusta seus chipsets de processador ARM. A Apple também oferece suporte ao uso de Javascript / HTML5 dentro de um UIWebView. Esses são os únicos idiomas para os quais a Apple anunciou suporte. Qualquer outra coisa você terá que encontrar suporte em outro lugar.

Mas, se você realmente quiser, há pelo menos meia dúzia de intérpretes BASIC disponíveis na App Store do iOS, então até a metodologia de programação da "Idade da Pedra" agora é permitida.

Adicionado: (*) No final de 2014, também é possível desenvolver aplicativos usando a nova linguagem de programação Swift da Apple. Desde o início de 2015, os binários enviados devem incluir suporte de 64 bits (arm64).

hotpaw2
fonte
11

Com planos de aposentar aos poucos o Objective-C, usado há muito tempo, a Apple introduziu uma nova linguagem de programação, chamada Swift, para projetar aplicativos e aplicativos para rodar em dispositivos Apple iOS e computadores Apple Macintosh.

Apple diz: " Swift é uma nova linguagem de programação para aplicativos iOS e OS X que se baseia no melhor de C e Objective-C, sem as restrições de compatibilidade com C. Swift adota padrões de programação seguros e adiciona recursos modernos para tornar a programação mais fácil, mais flexível e mais divertido. A ardósia limpa de Swift, apoiada pelos frameworks Cocoa e Cocoa Touch maduros e muito amados, é uma oportunidade de reimaginar como o desenvolvimento de software funciona. "

Apresentando o Swift

insira a descrição da imagem aqui

gral.pancho.villa
fonte
6

Quais linguagens de programação podem ser usadas para desenvolver aplicativos para iPhone, iPod Touch e iPad (iOs)?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. Esses são apenas os que vêm à minha cabeça agora. Tenho certeza de que há centenas, senão milhares de outros. (Por exemplo, não há razão para que você não possa usar qualquer linguagem .NET com MonoTouch, ou seja, VB.NET, F #, Nemerle, Boo, Cobra, ...)

Além disso, há planos no futuro para expandir a quantidade de linguagens de programação que os iOs oferecerão suporte?

Certo. Quase todas as comunidades de linguagem de programação neste planeta estão trabalhando atualmente para fazer sua linguagem funcionar no iOS.

Além disso, muitas pessoas estão trabalhando em linguagens de programação projetadas especificamente para dispositivos de toque, como iPod touch, iPhone e iPad, por exemplo, a linguagem Thyrd de Phil Mercurio .

Jörg W Mittag
fonte
4
-1. Ruby, Python e ActionScript ainda não funcionam no iOS. No passado, houve tentativas de colocar o CL e o Scheme em execução, mas não acho que elas estejam atualizadas. Mesma coisa com Haskell. JavaScriptCore é uma estrutura privada agora; você pode fazer um script em Objective-C usando JS em um webview, mas isso é realmente desajeitado.
Jonathan Sterling,
4
@Jonathan Sterling: Você deve dizer isso aos desenvolvedores que vendem aplicativos Ruby na App Store há mais de um ano. Tenho certeza de que eles ficariam muito interessados ​​em saber que seus aplicativos não existem.
Jörg W Mittag
4
Rhomobile não conta. Esses não são aplicativos nativos reais. Eles estão apenas presos em um webview.
Jonathan Sterling,
@ Jonathan Sterling: Posso estar um pouco atrasado para a festa aqui, mas Actionscript é compatível com iOS, via AIR para iOS. (E foi na época do comentário original 10/10). Ele também consegue um ótimo desempenho também ...
Marty Pitt,
5

A linguagem de programação do iOS (e Mac OS) é Objective-C e C. Você tem que usar a plataforma Xcode para desenvolver aplicativos iOS, na próxima versão que já está disponível em beta, o Xcode 4 suporta também C ++.

Esteira
fonte
Você não precisa usar o Xcode para desenvolver aplicativos iOS ou Objective C ou C ++. Por exemplo, você pode usar RubyMotion, que faz uso das ferramentas de linha de comando. Além disso, há uma série de soluções de desenvolvimento de terceiros para o desenvolvimento de um aplicativo que pode ser executado em iOS e Android
Martin Lockett
4

Agora também é possível usar OCaml para desenvolver aplicativos iOS. Não faz parte da distribuição padrão e requer modificações fornecidas pela empresa Psellos. Veja aqui para mais informações: http://psellos.com/ocaml/ .

Ashish Agarwal
fonte
2

Este pode ser um tópico antigo, mas eu gostaria de mencionar o Appcelerator Titanium , que permite que qualquer pessoa versada em HTML5 / JavaScript / CSS desenvolva aplicativos iOS.

Shaond
fonte
Se não estou enganado, você pode trocar o JavaScript por Ruby ou Python ao usar Titanium.
Torbjørn
2

Apenas Objective-C é permitido por agora ... mas desde alguns meses atrás você tem permissão para escrever scripts que serão interpretados em sua aplicação.

Portanto, você pode escrever um interpretador LUA ou um interpretador Python e, em seguida, escrever alguma parte de seu aplicativo nesta linguagem de script. Se você quiser que seu aplicativo seja aceito na App Store, esses scripts devem ser incluídos no aplicativo (seu aplicativo não pode baixá-lo da Internet, por exemplo)

veja as novas regras da app store

Dwursteisen
fonte
1

objetivo-c é o idioma principal usado.

eu acredito que existe uma estrutura mono touch que pode ser usada com c #

A Adobe também está trabalhando em algumas ferramentas, uma delas é o iPhone Packager, que pode utilizar código Actionscript

Aaron Saunders
fonte
O link parece estar morto?
Zameer Ansari
1

Você pode usar a linguagem de programação "smart BASIC". É uma linguagem BASIC genuína, mas muito avançada, com todo o seu poder e simplicidade. Usando seu SDK gratuito, o código BASIC pode ser facilmente publicado como um aplicativo independente da App Store. Existem muitos aplicativos na App Store, escritos em linguagem de programação "smart BASIC".

Kibernetik
fonte