Avertissement: Je travaille pour une entreprise, Particle Code, qui crée un cadre multiplateforme. Il y a une tonne d'entreprises dans cet espace. De nouveaux semblent surgir chaque semaine. Bonne nouvelle pour vous: vous avez beaucoup de choix.
Ces cadres adoptent différentes approches, et nombre d’entre eux sont fondamentalement conçus pour résoudre différents problèmes. Certains se concentrent sur les jeux, d'autres sur les applications. Je poserais les questions suivantes:
Que veux-tu écrire? Application d'entreprise, application de productivité personnelle, jeu de puzzle, jeu de tir à la première personne?
Quel type d'environnement de développement préférez-vous? IDE ou simple éditeur de texte?
Avez-vous des sentiments forts sur les langages de programmation? Parmi les frameworks que je connais, vous pouvez choisir parmi ActionScript, C ++, C #, Java, Lua et Ruby.
Mon entreprise est plus dans l'espace de jeu, donc je n'ai pas autant joué avec les frameworks JavaScript + CSS comme Titanium, PhoneGap et Sencha. Mais je peux vous parler un peu de certains des frameworks orientés jeux. Les jeux et les applications Internet riches sont un domaine dans lequel les cadres multiplateformes peuvent briller, car ces applications ont tendance à accorder plus d'importance au fait d'être visuellement uniques et moins à se fondre dans les interfaces utilisateur natives. Voici quelques frameworks à rechercher:
Unity www.unity3d.com est un moteur de jeux 3D. Il ne ressemble vraiment à aucun autre environnement de développement dans lequel j'ai travaillé. Vous créez des scènes avec des modèles 3D et définissez le comportement en attachant des scripts à des objets. Vous pouvez créer des scripts en JavaScript, C # ou Boo. Si vous souhaitez écrire un jeu basé sur la physique 3D qui fonctionnera sur iOS, Android, Windows, OS X ou des consoles, c'est probablement l'outil qu'il vous faut. Vous pouvez également écrire des jeux 2D en utilisant des ressources 3D - un bel exemple de ceci est le jeu indépendant Max and the Magic Marker., un side-scroller basé sur la physique 2D écrit dans Unity. Si vous ne le savez pas, je vous recommande de le vérifier (surtout s'il y a des enfants dans votre ménage). Max est disponible pour PC, Wii, iOS et Windows Phone 7 (bien que cette dernière version soit un port, car Unity ne prend pas en charge WinPhone). Unity est livré avec des exemples de jeux complets avec des actifs et des textures 3D, ce qui aide vraiment à se familiariser avec ce qui peut être un environnement assez compliqué.
Corona www.anscamobile.com/corona est un moteur de jeux 2D qui utilise le langage de script Lua et prend en charge iOS et Android. Le point de vente de Corona est la possibilité d'écrire très rapidement des jeux basés sur la physique en quelques lignes de code, et le grand nombre de jeux basés sur Corona dans l'App Store iOS témoigne de son succès. L'environnement est très maigre, ce qui plaira à certaines personnes. Il est livré avec un simulateur et un débogueur. Vous ajoutez l'éditeur de texte de votre choix et vous disposez d'un environnement de développement. Le SDK de base n'inclut aucun composant d'interface utilisateur, comme des boutons ou des zones de liste, mais un module complémentaire CoronaUI est disponible pour les abonnés.
Le SDK Particle www.particlecode.com est une solution multiplateforme légèrement plus générale avec une expérience dans les jeux. Vous pouvez écrire en Java ou en ActionScript à l'aide d'un modèle d'application MVC. Il comprend un IDE basé sur Eclipse avec un éditeur d'interface utilisateur WYSIWYG. Nous prenons actuellement en charge la création pour les appareils Android, iOS, webOS et Windows Phone 7. Vous pouvez également générer du Flash ou HTML5 pour le Web. Le framework a été développé à l'origine pour les jeux sociaux multijoueurs en ligne, tels que le poker et le backgammon, et il convient aux jeux et applications 2D avec une logique complexe. Le framework prend en charge les graphiques 2D et comprend un moteur physique 2D.
NB:
Aujourd'hui, nous avons annoncé que Particle Code a été acquis par Appcelerator, créateur du framework multiplateforme Titanium.
...
Depuis le 1er janvier 2012, [ Particle Code ] ne prendra plus officiellement en charge la plate-forme [ Particle SDK ].
La source
- Le SDK Airplay www.madewithmarmalade.com est un framework C ++ qui vous permet de développer dans Visual Studio ou Xcode. Il prend en charge les graphiques 2D et 3D. Airplay cible iOS, Android, Bada, Symbian, webOS et Windows Mobile 6. Ils ont également un module complémentaire pour créer des applications AirPlay pour PSP. Mon C ++ étant très rouillé, je n'ai pas beaucoup joué avec, mais il a l'air cool.
En termes de courbe d'apprentissage, je dirais que Unity avait la courbe d'apprentissage la plus raide (pour moi), Corona était la plus simple, et Particle et Airplay se situent quelque part entre les deux.
Un autre point intéressant est la manière dont les frameworks gèrent différents facteurs de forme. Corona prend en charge la mise à l'échelle dynamique, qui sera familière aux développeurs Flash. C'est très facile à utiliser, mais cela signifie que vous finissez par perdre de l'espace sur l'écran lorsque vous passez d'un écran 4: 3 comme l'iPhone à un 16: 9 comme les nouveaux appareils Android qHD. L'éditeur d'interface utilisateur du SDK Particle vous permet de concevoir des mises en page flexibles qui s'adaptent, mais vous permet également d'ajuster les mises en page pour des tailles d'écran individuelles. Cela prend un peu plus de temps, mais vous permet de donner à l'application un aspect personnalisé pour chaque écran.
Bien sûr, ce qui fonctionne pour vous dépend de vos goûts individuels et de votre style de travail ainsi que de vos objectifs - je vous recommande donc de télécharger quelques-uns de ces outils et de leur donner une chance. Tous ces outils sont gratuits.
De plus, si je pouvais simplement faire une annonce d'intérêt public, la plupart de ces outils sont en développement vraiment actif. Si vous trouvez un framework que vous aimez, envoyez-leur des commentaires et dites-leur ce que vous aimez, ce que vous n'aimez pas et les fonctionnalités que vous aimeriez voir. Vous avez une réelle opportunité d'influencer ce qui se passe dans les prochaines versions de ces outils.
J'espère que cela t'aides.