web-dev-qa-db-fra.com

Framework multiplateforme C ++ pour le développement d'applications mobiles

Je prévois de développer une application mobile pour iOS et Android et je veux utiliser C++ pour le développement.

Quelle infrastructure multiplateforme est disponible pour créer une application mobile en utilisant le langage C++.

18
John

Je suis sûr que beaucoup de gens ont également cette question, alors lisez ceci si vous souhaitez vraiment connaître la réponse. Marmalade est probablement la MEILLEURE solution. Codez une fois, déployez-le sur des appareils mobiles, des ordinateurs de bureau et même certains téléviseurs. De nombreux jeux populaires ont été créés avec Marmalade.

Des jeux étendus comme:

  • Lara Croft et la gardienne de la lumière

  • Call of Duty: World at War Zombies

Mais aussi des jeux simples comme:

  • dessine quelque chose.

  • Doodle Jump

Ils ont ajouté un package gratuit. Vous pouvez créer votre jeu gratuitement et si vous voulez vous débarrasser de l'écran de démarrage des annonces, c'est 150 $, - par an pour les appareils mobiles ou $ 500, - par an pour d'autres appareils également.

Un gros avantage est la vitesse native. Peu importe ce que les gens prétendent à propos d'autres langages comme javascript ou Java (et malheureusement Qt, ce qui bien sûr n'est pas un langage mais vous savez ce que je veux dire) fonctionne aussi vite que C ou C++. Ce n'est tout simplement pas vrai. Pour les applications simples ce n'est bien sûr pas important, mais quand vous regardez des jeux (simples), c'est crucial.

Pour le moment, la version 7.3 est disponible, mais cette version a un problème avec l'émulateur ARM. Je téléchargerais 7.0.

Que vous choisissiez Marmalade ou non, assurez-vous de lire la documentation. Vous ne voulez pas manquer certaines fonctionnalités et passer à une autre option lorsque vous avez presque terminé.

8
JMRC

J'ai déjà étudié le code portable entre Android et iOS auparavant et je ne pense pas que ce soit possible. Pour lancer des applications sur le marché Android Android, il doit être en Java, et tout ce qui a une interface graphique sur iOS doit utiliser Objective-C. Vous pourriez avoir une couche C++ portable partielle, mais en réalité, il est probablement plus rapide d'écrire deux fois la même application en Java = et Obj-C que ce ne serait de l'écrire une fois en C++ comme solution portable.

Qt ou Wx-Widgets peuvent avoir un certain support, mais je n'ai pas examiné les plates-formes mobiles pour celles-ci, et je soupçonne que la réalité est qu'Apple, Microsoft et Oracle veulent que vous soyez liés à leurs technologies ces jours-ci et que vous n'ayez aucune incitation à faire des choses portable.

EDIT: J'ai remarqué un récent vote négatif, mais la personne n'était pas disposée à laisser un commentaire, alors laissez-moi vous expliquer davantage. C # et Java fournit un cadre complet qui permet d'écrire du code beaucoup plus rapidement en utilisant des classes et des bibliothèques bien documentées, en particulier lorsqu'il s'agit d'interfaces utilisateur. C++, d'autre part, s'appuie sur de nombreux projets open source qui prendre beaucoup d'efforts pour fonctionner sur plusieurs plates-formes, et beaucoup de temps est consacré à traiter les problèmes de plate-forme subtils. Ma suggestion était simplement qu'il pourrait être plus facile de choisir un langage mieux adapté à la plate-forme avec laquelle vous traitez, car C++ a tendance à être de niveau inférieur à d'autres langages, la syntaxe peut sembler verbeuse et de nombreuses heures peuvent être gaspillées à essayer de faire fonctionner les choses que vous vous attendez à travailler, et malheureusement la documentation pour de nombreux projets open source est pauvre. Peut-être que cela peut être considéré comme un opinion, mais le passage de C++ à C # ou Java commercialement pourrait également indiquer que je ne suis pas le seul à le croire.

3
user2827968

Il existe des solutions pour le développement multiplateforme C++ pour Android et iPhone, malgré ce que disent les autres réponses ici.

Le meilleur est probablement Marmalade, mais c'est cher, donc utile uniquement pour les applications commercialement viables: https://www.madewithmarmalade.com/

Ensuite, il y a MoSync, que vous pouvez utiliser gratuitement. Malheureusement, ils ont fait faillite l'année dernière, il n'y a donc pas de soutien continu. Pourtant, cela pourrait valoir le coup d'œil selon vos besoins. http://www.mosync.com

OpenFrameworks est un que je n'avais pas vu, alors merci Rodrigo pour cette réponse: http://openframeworks.cc/

3
Robert Webb

Vous pouvez jeter un œil sur openFrameworks, peut-être qu'il correspond à vos besoins:

http://openframeworks.cc/about/

2
Rodrigo Oliveira

Recherchez le SDK DragonFire il vous permet d'écrire des applications et des jeux en c/c ++. Pas multiplateforme et ne l'a jamais utilisé mais a l'air bien. Il utilise Visual Studio et possède son propre simulateur pour le développement iOS.

0
Brickyenne

Il n'y a pas de solution multiplateforme utilisant C++, sauf si vous êtes intéressé par la création de jeux. Il y a quelques options disponibles si cela ne vous dérange pas d'utiliser un autre langage de programmation. Jetez un œil au Titanium SDK (Javascript), Xamarin (C #) ou à la multitude de frameworks HTML5/CSS/Javascript (Phonegap me vient à l'esprit).

0
Steve M