8
votes

Vous recherchez une méthode multi-plate-forme pour les graphiques de base 2D / 3D pour iOS et Android

Je développe une application séparément pour Android et iOS en utilisant leurs SDK natives. Cependant, il existe un certain module dans l'application qui devrait supporter des capacités de base 2D (il peut également être 3D) des capacités telles que l'inclinaison, la mise à l'échelle, la rotation des graphiques vectoriels + toutes sortes d'effets fantaisistes optionnels sur des plans texturés simples, par exemple.

J'aimerais héberger ce module à l'intérieur de certains kine d'une vue et que son code sera partagé entre les plates-formes IOS et Android, autant que possible.

J'ai caché le Web pour toutes sortes de solutions.

  1. Tout d'abord, OpenGL, le problème est que je ne connais pas la codage de OpenGL et je n'ai pas pu comprendre si le code que j'écrirai avec OpenGL sera partageable entre les 2 plates-formes. On dirait que personne n'avait vraiment essayé vraiment de le faire avec NDK et tel.
  2. Il existe des plates-formes comme

    a. Encombrement (http://www.clutter-project.org/) - que je n'ai pas trouvé d'exemple pour son utilisation sur des appareils mobiles.

    b. Les plates-formes comme Unity3d, bien que je ne pense pas qu'ils puissent m'aider beaucoup parce que je peux comprendre que toute la demande doit exécuter sur leur plate-forme, et ce n'est pas ce que je cherche.

    Alors, pensez-vous que cela est réalisable de partager le code 2D / 3D entre l'iOS et l'Android? Si tel est le cas, y a-t-il une méthode que vous pourriez recommander?

    ou devrais-je simplement aller avec la méthode native de chaque appareil pour les graphiques 2D ou 3D?

    Merci!


0 commentaires

3 Réponses :


2
votes

Utilisez OpenGL ES et écrivez le code en C. Écrivez une enveloppe NDK pour Android. Théoriquement, votre code Open GL C doit être réutilisable entre les 2 plates-formes.


0 commentaires

7
votes

Kivy : un langage de programmation multiples multiples open source pour écrire des dessins, des interfaces, des visuels, tout ce qui est de tout, pour Linux, Windows, Macosx , Android et iOS. kivy.org

Vous pouvez potentiellement supprimer à l'aide de widgets natifs Android ou iOS pour les widgets Kivy et vos applications auront la même interface openglotionnée sur toutes les plateformes.

EDIT 9/27/11 1PM: J'ai déjà fait des recherches supplémentaires. Dans l'ensemble, vous devriez consulter ces 4 frameworks open-source pour vous-même et décider lequel vous convient le mieux (je pourrais énumérer des cadres commerciaux, mais ceux-ci sont faciles à trouver):

  1. kivy ( kivy.org )
    • Bibliothèque d'interface graphique et de widgets incroyable.
    • haxenme ( haxenme.org )
      • très bel API 2D / 3D pour créer des graphiques OpenGL.
      • SUPPORT DE PLATEFORME INSTRAFING . Le meilleur de tous les cadres.
      • Malheureusement, aucune bibliothèque d'interface graphique ou de widget n'est intégrée.
      • qt rapide qml ( qt-project.org )
        • très bel API 2D / 3D pour créer des graphiques OpenGL.
        • similaire à HTML, mais pour OpenGL. Vous savez déjà HTML et JavaScript? Qml (langue de balisage rapide) comprend des nécessités de base telles que des champs de texte, des boutons radio, des cases à cocher, etc., qui peuvent être animés et contrôlés avec des gestionnaires d'événements. Les animations, les gestionnaires d'événements, etc., dans votre application QML sont écrites en JavaScript; La différence est que le JavaScript est compilé au lieu d'interprété.
        • QT Quick est vraiment incroyable; mon favori personnel. Lire sur Qt Quick QML, puis essayez le tuiles animées < / a> application pour Android pour voir le potentiel de QT Quick. La dernière version de QT (à venir très bientôt) Support iOS, Android et Blackberry, ainsi que tous les OSE de bureau. Windows Phone est un travail en cours mais arrivera prochainement en considérant que QT rapide prend déjà en charge la plate-forme de métro de Windows 8. QT Quick est très agréable, mais cela ne fonctionne pas sur chaque plate-forme comme Haxenme.
        • mosync ( mosync.com )
          • un joyau caché. Ce cadre nécessite plus d'exposition. Le MOSYNC SDK fournit un cadre de plate-forme de plate-forme de plate-forme, un cadre HTML / JavaScript similaire à PhoneGap, une framework NativeUI pour écriture d'applications à travers les plateformes qui utilisent les widgets d'interface utilisateur natif de chaque plate-forme et Maui pour écrire C ++ Guis.
          • Si vous étiez Gunna Installez simplement en écrivant Pure OpenGL, alors je vous recommande au moins de vérifier MOSYNC, car il fournit une implémentation de 1 à 1 de OpenGL ES 1.0 / 2.0.

            De plus, si votre application sera basée sur la forme (pas tellement animée comme une partie), alors PhoneGap pourrait répondre à vos besoins. Si vous utilisez les bonnes fonctionnalités de HTML5, vous pouvez créer des applications qui se sentent originaires (contrairement aux nombreux exemples horribles et découragants). Si vous souhaitez essayer une application faite avec PhoneGap qui se sent "natif", essayez " Go 2012 ". Les applications Go 2012 prouvent que si vous utilisez HTML5 correctement, vous pouvez tirer parti de l'accélération matérielle à travers les plates-formes (iOS, Android, BlackBerry et Windows Phone (j'ai testé tout)). Les animations (défilement, etc.) in Go 2012 sont toutes des animations accélérées du matériel CSS3. Ne laissez pas la mauvaise qualité de la plupart de l'application dans la vitrine Phonegap vous tromper!


1 commentaires

Semble intéressant! Je vais donner un look bientôt et voir si cela peut répondre à mes besoins.



1
votes

Avez-vous déjà chassé sur le nom de la petite entreprise Adobe

Essayez d'utiliser de l'air.

Les gens n'apprécient pas le travail acharné qu'Adobe, mais c'est la plate-forme transversale la plus forte disponible sur le marché!

IT Support:

  • Windows avec accès DirectX pour accélérer votre application, à la fois en 3D et 2D.
  • Linux
  • Android (2.2 et plus) avec fond OpenGL
  • iOS avec OpenGL
  • BlackBerry

    Et beaucoup d'autres ... Si vous souhaitez travailler au niveau élevé, utilisez l'air!


3 commentaires

Puis-je utiliser de l'air pour seulement une petite partie de ma demande et laisser le reste dans le code Android / iOS régulier?


Oui, vous pouvez utiliser l'air natif pour utiliser la langue maternelle du système actuel, ce sera Java avec toute l'API Android dans Google et l'objectif C Fo ios. Comment je vous recommanderais de vous recommander d'utiliser Exporter vers l'avenir HTML5 de Flash si c'est juste une petite partie de votre application


Cela pourrait être agréable, mais compte tenu de ce que Kivy, Qt Quick, Haxenme et Mosync sont libres et open-source (et incroyable), pourquoi acheter de l'air?