Buscando un método multiplataforma para charts básicos 2D / 3D para iOS y Android

Estoy desarrollando una aplicación por separado para Android e iOS utilizando sus SDK nativos. Sin embargo, hay un cierto module en la aplicación que debería admitir capacidades básicas 2D (también puede ser 3D) como inclinar, escalar, rotar charts vectoriales + todo tipo de efectos fantasiosos opcionales en planos texturados simples, por ejemplo.

Me gustaría alojar este module dentro de algunos aspectos de una vista y que su código será compartido tanto entre las plataforms iOS como Android, tanto como sea posible.

He estado al acecho en la web para todo tipo de soluciones.

  1. En primer lugar, hay OpenGL, el problema es que no estoy familiarizado con la encoding de OpenGL y no pude entender si el código que escribiré con OpenGL se podrá compartir entre las dos plataforms. Parece que nadie realmente había intentado hacerlo con NDK y tal.
  2. Hay plataforms como

    a. Clutter (http://www.clutter-project.org/) – Que no pude encontrar ningún ejemplo para su uso en dispositivos mobilees.

    segundo. Plataforms como Unity3D, aunque no creo que puedan ayudarme mucho porque, por lo que entiendo, toda la aplicación debe ejecutarse en su plataforma, y ​​eso no es lo que estoy buscando.

Entonces, ¿creen ustedes que es factible compartir el código 2d / 3d entre iOS y Android? Si es así, ¿hay algún método que pueda recomendar?

¿O debería ir con el método nativo de cada dispositivo para charts 2D o 3D?

¡Gracias!

Kivy : un lenguaje de progtwigción multiplataforma de código abierto para escribir dibujos, interfaces, visuales, cualquier cosa con OpenGL, para Linux, Windows, MacOSX, Android e iOS. kivy.org

Puede dejar caer usando widgets nativos de Android o iOS para los widgets de Kivy y sus aplicaciones tendrán la misma interfaz de OpenGL en todas las plataforms.

EDIT 27/9/11 13: Hice una investigación más. Con todo, debe revisar estos 4 frameworks de código abierto para usted y decidir cuál es el mejor para usted (podría enumerar los frameworks comerciales, pero son fáciles de encontrar):

  1. Kivy ( kivy.org )
    • Impresionante biblioteca GUI y widgets.
  2. HaxeNME ( haxenme.org )
    • Muy buena API 2D / 3D para hacer charts OpenGL.
    • Increíble soporte multiplataforma. Lo mejor de todos los frameworks.
    • Desafortunadamente, no hay ninguna GUI o biblioteca de widgets incorporada.
  3. Qt Quick QML ( qt-project.org )
    • Muy buena API 2D / 3D para hacer charts OpenGL.
    • Similar a HTML, pero para OpenGL. ¿Ya conoces HTML y JavaScript? QML (lenguaje de marcado rápido) incluye necesidades básicas como campos de text, botones de radio, casillas de verificación, etc., que se pueden animar y controlar con controlleres de events. Las animaciones, los manejadores de events, etc., en su aplicación QML están escritas en JavaScript; la diferencia es que se comstack el JavaScript en lugar de interpretarlo.
    • Qt Quick es realmente increíble; mi favorito personal Lee en Qt Quick QML y testing la aplicación Animated Tiles para Android para ver el potencial de Qt Quick. La versión más reciente de Qt (que viene muy pronto) es compatible con iOS, Android y Blackberry, y todos los sistemas operativos de escritorio. Windows Phone es un trabajo en progreso, pero llegará pronto teniendo en count que Qt Quick ya es compatible con la plataforma de Metro de Windows 8. Qt Quick es muy agradable, pero no funciona en todas las plataforms, como lo hace HaxeNME.
  4. MoSync ( mosync.com )
    • Una joya escondida. Este marco necesita más exposition. El SDK de MoSync proporciona un marco OpenGL multiplataforma, un marco HTML / JavaScript similar a PhoneGap, un marco NativeUI para escribir aplicaciones en plataforms que utilizan los widgets de interfaz de usuario nativos de cada plataforma y MAUI para escribir GUI de C ++.
    • Si estabas decidido a escribir OpenGL puro, entonces recomendaría MoSync al less, ya que proporciona una implementación de 1 a 1 de OpenGL ES 1.0 / 2.0.

Además, si tu aplicación está basada en forma (no tanto animada como un juego), entonces PhoneGap podría satisfacer tus necesidades. Si utiliza las funciones correctas de HTML5, puede hacer que las aplicaciones se sientan nativas (a diferencia de los muchos ejemplos horribles y desalentadores que hay). Si quieres probar una aplicación hecha con PhoneGap que se siente "nativa", testing " Go 2012 ". Las aplicaciones Go 2012 demuestran que si usa HTML5 correctamente, puede aprovechar la aceleración de hardware en las plataforms (iOS, Android, Blackberry y Windows Phone (lo probé)). Las animaciones (desplazamiento, etc.) en Go 2012 son todas animaciones aceleradas por hardware CSS3. No dejes que la mala calidad de la mayoría de la aplicación en el escapingate de PhoneGap te engañe.

Use OpenGL ES y escriba el código en C. Escriba un contenedor NDK para Android. Teóricamente, su código GLC abierto debería ser reutilizable entre las 2 plataforms.

¿Alguna vez has rebautizado sobre el pequeño nombre de la empresa Adobe?

Intenta usar air.

¡La gente no aprecia el trabajo duro que Adobe hizo, pero es la plataforma cruzada más fuerte disponible en el mercado!

Soporte de TI:

  • Windows con acceso DirectX para acelerar su aplicación, tanto en 3D como en 2D.
  • Linux
  • Android (2.2 y superior) con background OpenGL
  • iOS con OpenGL
  • Mora

Y muchos más … ¡Si deseas trabajar en el nivel superior, usa Air!