Est-il possible de programmer l’iPhone en C ++

Je suis tout pour la diversité linguistique, mais l’objective C est fou. Donc, je suis curieux: est-il possible de coder les applications iPhone avec C ++ en utilisant l’API Cocoa, etc.?

Réponse courte, oui, en quelque sorte. Vous pouvez utiliser Objective-C ++, que vous pouvez consulter sur Apple Developer Connection.

Si vous connaissez déjà le C ++, apprendre Objective-C serait assez simple si vous décidiez d’essayer. Plus d’informations sur ce sujet sont également disponibles à l’ADC.

Bien que Objective-C semble effectivement être “fou” au départ, je vous encourage à le suivre. Une fois que vous avez un moment “a-ha”, soudain, tout commence à avoir un sens. Pour moi, il a fallu environ 2 semaines de concentration ciblée sur Objective-C pour vraiment comprendre les frameworks Cocoa, le langage et la manière dont tout s’intègre. Mais une fois que je l’ai vraiment “compris”, c’était très excitant.

Cela semble cliché, mais c’est vrai. Tenir le coup.

Bien sûr, si vous utilisez des bibliothèques C ++ ou du code C ++ existant, vous pouvez utiliser ces modules avec Objective-C / Objective-C ++.

J’utilise Objective-C pour associer l’interface utilisateur.
Mais les entraves du code sont toujours écrites en C ++.

C’est l’objective principal d’Objective-C, l’interface utilisateur et la gestion des événements.
Et cela fonctionne très bien pour cela.

J’aime toujours le C ++ comme backend pour le code (mais c’est principalement parce que j’aime le C ++), vous pouvez aussi facilement utiliser Objective-C pour le backend de l’application.

Tout d’abord, dire que Objective-C est “fou”, c’est amusant. J’ai à mes côtés le livre Bjarne Stroustrup C ++ qui se trouve à 1020 pages. Le PDF d’Apple sur Objective-C est de 141.

Si vous souhaitez utiliser UIKit, il vous sera très difficile de faire quelque chose en C ++. Toute application iPhone sérieuse conforme à l’interface utilisateur d’Apple nécessite que ses parties d’interface utilisateur soient écrites en Objective-C. Seulement si vous écrivez un jeu OpenGL, vous pouvez vous en tenir presque entièrement à C / C ++.

Ayant une certaine expérience de cela, vous pouvez en effet utiliser le code C ++ pour votre code “core”, mais vous devez utiliser objective-C pour tout ce qui concerne l’iPhone.

N’essayez pas de forcer Objective-C à agir comme C ++. Au début, il vous semblera que cela est possible, mais le code qui en résulte ne fonctionnera pas vraiment avec Cocoa, et vous serez très confus quant à ce qui se passe. Prenez le temps d’apprendre correctement, sans C ++, comment créer des interfaces graphiques et des applications iPhone, puis créez un lien dans votre base C ++.

Vous devez utiliser Objective C pour interfacer avec l’API Cocoa, vous n’avez donc pas le choix. Bien sûr, vous pouvez utiliser autant de C ++ que vous le souhaitez dans les coulisses (Objective C ++ facilite les choses).

C’est un langage fou en effet, mais c’est aussi … un peu amusant à utiliser une fois que vous êtes un peu habitué. 🙂

Je ne suis pas sûr de C ++, mais vous pouvez certainement coder les applications iPhone en C #, en utilisant un produit appelé MonoTouch .

Vous pouvez voir cet article pour une discussion détaillée sur MonoTouch Vs Obj-C: Comment choisir entre MonoTouch et Objective-C?

Je suis en train de porter une application Android à calcul intensif écrite en Java sur iOS6. Je le fais en portant les parties non-interface utilisateur de Java vers C ++, en écrivant les parties de l’interface utilisateur (minimales) dans Obj-C et en les intégrant dans une (petite) interface C en utilisant la technique standard C / C ++. On peut y accéder depuis Obj-C, qui est après tout un sur-ensemble de C.

Cela a été efficace jusqu’à présent, et je n’ai rencontré aucun piège. Cela semble être une approche légitime, puisque Xcode vous permet de créer des classes C ++ ainsi que des classes Obj-C, et une partie de l’exemple de code officiel fait les choses de cette façon. Je n’ai pas eu à sortir des interfaces officielles pour ce faire.

Il ne semble pas y avoir beaucoup à gagner à écrire mon code UI restant en C ++ même si c’était possible, vu l’aide que le générateur d’interface de Xcode vous a fournie, alors je vous répondrais que vous pouvez utiliser C ++ pour presque toute votre application, ou autant que vous le souhaitez / pratique.

Oui, mais l’idée que vous pouvez programmer tous les types de programmes dans une seule langue est une idée erronée à moins que vous n’écriviez des programmes très simples. Objectif C est pour Cocoa car C # est pour .NET, Utiliser le bon outil pour le bon travail, Essayer de faire interagir C ++ avec Cocoa en écrivant du code de pontage et essayer de faire en sorte que le code C ++ se conforme aux exigences de Cocoa n’est pas une bonne idée la performance de l’objective C est. Vous devez essayer de mettre en page le design et l’architecture de l’application en gardant à l’esprit les compétences existantes et déterminer quelle partie doit être écrite dans quelle langue puis créer en conséquence.

J’écris actuellement un framework Objective-C ++ appelé Objective-X, qui rend possible la PROGRAMMATION PURE C ++ iPHONE. Vous pouvez faire comme ça:

 #import "ObjectiveX.h" void GUIApplicationMain() {    GUIAlert Alert;    GUILabel Label;    GUIScreen MainScreen;    Alert.set_text(@"Just a lovely alert box!");    Alert.set_title(@"Hello!");    Alert.set_button(@"Okay");    Alert.show();    Label.set_text(@"Ciao!");    Label.set_position(100, 200, 120, 40);    MainScreen.init();    MainScreen.addGUIControl(Label.init()); } 

et comstackz-le en utilisant les options de ligne de commande appropriées de GCC. J’ai déjà compilé cette application helloworld et elle a l’air d’un charme. 😉 Il sera bientôt disponible sur GoogleCode. Recherchez Objective-X ou visitez http://infotronix.orgfree.com/objectivex env. une semaine plus tard!

URL mise à jour (mais apparemment inactive): http://code.google.com/p/objectivex/

C’est peut-être un peu décalé, mais de toute façon. Vous pouvez programmer c ++ directement sur les appareils iOS. Découvrez l’application CppCode ios – http://cppcode.info . Je crois que cela aide à apprendre plus tard c et c ++ et objective-c.