web-dev-qa-db-fra.com

Quels langages de programmation peut-on utiliser pour développer des applications pour iPhone, iPod Touch et iPad (iOS)?

Quels langages de programmation peut-on utiliser pour développer des applications pour iPhone, iPod Touch et iPad (iOS)?

En outre, existe-t-il des projets dans le futur pour étendre le nombre de langages de programmation pris en charge par iOS?

83
pylonicon

Apple a levé les restrictions sur les applications non-Objective C/C/C++ - vous ne pouvez tout simplement pas charger de code qui ne fait pas partie du lot d'applications.

MonoTouch vous permet d'utiliser les langages .NET - C # est directement pris en charge, mais si vous avez Windows, vous pouvez créer des assemblys dans n'importe quel langage .NET et les utiliser.

Il y a des rumeurs selon lesquelles Apple prendra directement en charge d'autres langues. J'entends sans cesse Ruby, mais ce ne sont que des rumeurs.

Je pense que Lua est utilisé pour la logique de jeu dans de nombreuses applications.

EDIT (en 2018): En règle générale, vous pouvez utiliser n'importe quel langage que vous pouvez compiler pour iOS ou même installer des interprètes. La principale chose que vous ne pouvez pas faire est de charger du code à partir d'Internet qui n'était pas dans le bundle d'applications.

De toute façon, les gens le font tout le temps (voir React applications natives chargeant JavaScript depuis des serveurs), mais, techniquement, ce n’est pas autorisé. La principale chose qui attirera votre attention de Apple si vous créez une sorte d’App Store qui charge des éléments entiers de type App.

43
Lou Franco

L'accord du SDK et les directives de l'App Store ont été modifiés (vers septembre 2010).

Vous pouvez maintenant probablement utiliser n'importe quel langage compilé qui compilera dans le même format de fichier d'objet statique ARM que celui produit par Xcode et qui reliera (uniquement) les API publiques dans les frameworks et les bibliothèques d'Apple. Cependant, vous ne pouvez pas utiliser un langage compilé JIT à moins de pré-compiler tout le code objet avant de le soumettre à Apple pour examen.

Vous pouvez utiliser n’importe quel langage interprété, tant que vous intégrez l’interprète, sans interdire à l’interprète ou à l’application de télécharger et d’exécuter du code interprétable autre que le code intégré à l’ensemble d’applications avant de le soumettre à Apple pour révision ou le code source saisi par l’utilisateur.

Objective C et C resteront probablement le langage de programmation le plus optimal pour tout ce qui requiert des performances élevées et le dernier support des API (* voir la mise à jour ci-dessous), car ce sont les langages pour lesquels Apple cible ses frameworks et mélodies iOS. ses ARM processeurs. Apple prend également en charge l'utilisation de Javascript/HTML5 dans un UIWebView. Ce sont les seules langues pour lesquelles Apple a annoncé son soutien. Sinon, vous devrez trouver un soutien ailleurs.

Toutefois, si vous le souhaitez vraiment, au moins une demi-douzaine d'interprètes BASIC sont désormais disponibles sur l'App store iOS, de sorte que même la méthodologie de programmation "Stone Age" est désormais autorisée.

Ajouté: (*) À partir de la fin de 2014, il est également possible de développer des applications utilisant le nouveau langage de programmation Swift d'Apple. Au début de 2015, les fichiers binaires soumis doivent inclure la prise en charge 64 bits (arm64).

17
hotpaw2

Apple, qui envisage de retirer progressivement Objective-C, utilisé de longue date, a introduit un nouveau langage de programmation, appelé Swift, pour la conception d'applications et d'applications s'exécutant sur Apple appareils iOS et Apple Ordinateurs Macintosh.

Apple déclare: "Swift est un nouveau langage de programmation pour les applications iOS et OS X qui s'appuie sur le meilleur du C et de l'Objective-C, sans les contraintes de la compatibilité C. Swift adopte des modèles de programmation sécurisés et ajoute des fonctionnalités modernes pour rendre la programmation plus facile, plus flexible et plus amusante. La table rase de Swift, appuyée par les frameworks matures et très appréciés de Cocoa et de Cocoa Touch, est l’occasion de repenser le fonctionnement du développement logiciel. "

Présentation de Swift

enter image description here

11

Quels langages de programmation peut-on utiliser pour développer des applications pour iPhone, iPod Touch et iPad (iOs)?

Ruby, Python, Lua, Schéma, LISP, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C++, C. Ce ne sont que ceux qui me viennent à l'esprit en ce moment. Je suis sûr qu'il y a des centaines sinon des milliers d'autres. (Par exemple, il n’ya aucune raison pour que vous ne puissiez utiliser aucun langage .NET avec MonoTouch, c’est-à-dire VB.NET, F #, Nemerle, Boo, Cobra,. ..)

En outre, y a-t-il des projets dans le futur pour augmenter le nombre de langages de programmation que les IO prendront en charge?

Sûr. Quasiment toutes les communautés de langages de programmation de cette planète travaillent actuellement à faire en sorte que leur langue fonctionne sur iOS.

En outre, de nombreuses personnes travaillent sur des langages de programmation spécialement conçus pour les appareils tactiles tels que iPod touch, iPhone et iPad, par exemple. La langue Thyrd de Phil Mercurio.

6
Jörg W Mittag

Le langage de programmation d'iOS (et de Mac OS) est Objective-C et C. Vous devez utiliser la plate-forme Xcode pour développer des applications iOS. La prochaine version désormais disponible sur la version bêta, Xcode 4 prend également en charge le C++.

5
Mat

Il est également désormais possible d’utiliser OCaml pour développer des applications iOS. Il ne fait pas partie de la distribution standard et nécessite des modifications fournies par la société Psellos. Voir ici pour plus d'informations: http://psellos.com/ocaml/ .

4
Ashish Agarwal

Seul Objective-C est autorisé à ce jour ... mais depuis quelques mois, vous êtes autorisé à écrire des scripts qui seront interprétés dans votre application.

Ainsi, vous pourrez peut-être écrire un interpréteur LUA ou un interprète Python, puis écrire une partie de votre application dans ce langage de script. Si vous souhaitez que votre application soit acceptée sur l'App Store, ces scripts doivent être fournis avec l'application (votre application ne peut pas la télécharger depuis Internet, par exemple).

voir nouvelles règles de l'App Store

2
dwursteisen

Il s’agit peut-être d’un vieux fil de discussion, mais je voudrais mentionner Appcelerator Titanium , qui permet à toute personne familiarisée avec HTML5/JavaScript/CSS de développer des applications iOS.

2
shaond

objective-c est la langue principale utilisée.

je crois qu'il existe un cadre tactile mono qui peut être utilisé avec c #

Adobe travaille également sur certains outils, dont l’un iPhone Packager , qui peut utiliser du code ActionScript

1
Aaron Saunders

Vous pouvez utiliser le langage de programmation "smart BASIC". C'est un langage BASIC authentique, mais très avancé, avec toute sa puissance et sa simplicité. À l'aide de son SDK gratuit, le code BASIC peut être facilement publié en tant qu'application autonome de l'App Store. Il existe de nombreuses applications dans l'App Store, écrites dans le langage de programmation "smart BASIC".

1
Kibernetik