Suche nach einer plattformübergreifenden Methode für grundlegende 2D / 3D-Grafiken für iOS und Android

8

Ich entwickle eine Anwendung separat für Android und iOS mit ihren nativen SDKs. Es gibt jedoch einige Module in der Anwendung, die grundlegende 2D (es kann auch 3D sein) Fähigkeiten wie Kippen, Skalieren, Drehen von Vektorgrafiken + alle Arten von optionalen Phantasieeffekten auf einfache strukturierte Ebenen zum Beispiel unterstützen.

Ich möchte dieses Modul in einigen kine einer Ansicht hosten und dass sein Code so oft wie möglich zwischen den iOS- und Android-Plattformen geteilt wird.

Ich habe im Internet nach allen Arten von Lösungen gesucht.

  1. Zuerst gibt es OpenGL, das Problem ist, dass ich mit der Programmierung für OpenGL nicht vertraut bin und ich nicht verstehen konnte, ob der Code, den ich mit OpenGL schreiben werde, zwischen den beiden Plattformen geteilt werden kann. Es scheint, als hätte niemand wirklich versucht, es mit NDK und so zu tun.
  2. Es gibt Plattformen wie

    a. Clutter (http://www.clutter-project.org/) - Welches ich kein Beispiel für seine Verwendung auf mobilen Geräten finden konnte.

    b. Plattformen wie Unity3D, obwohl ich denke, dass sie mir nicht viel helfen können, denn soweit ich weiß, muss die gesamte Anwendung auf ihrer Plattform laufen, und das ist nicht das, wonach ich suche.

Also, denkt ihr, dass es machbar ist, 2D / 3D Code zwischen iOS und Android zu teilen? Wenn ja, gibt es eine Methode, die Sie empfehlen können?

Oder sollte ich einfach mit der nativen Methode jedes Geräts für 2D- oder 3D-Grafik gehen?

Danke!

    
Dror 12.03.2012, 20:00
quelle

3 Antworten

6

Kivy : eine plattformübergreifende Open-Source-Programmiersprache zum Schreiben von OpenGL-Zeichnungen, Interfaces, Visuals, allem, für Linux, Windows, MacOSX , Android und iOS. kivy.org

Sie können möglicherweise die Verwendung von nativen Android- oder iOS-Widgets für Kivy-Widgets abbrechen, und Ihre Apps verfügen auf allen Plattformen über die gleiche OpenGL-Schnittstelle.

BEARBEITEN 27.9.11 13:00: Ich habe ein wenig mehr recherchiert. Alles in allem sollten Sie diese 4 Open-Source-Frameworks für sich selbst überprüfen und entscheiden, welches für Sie am besten ist (ich könnte kommerzielle Frameworks auflisten, die aber leicht zu finden sind):

  1. Kivy ( kivy.org )
    • Erstaunliche GUI- und Widgets-Bibliothek.
  2. HaxeNME ( haxenme.org )
    • Sehr schöne 2D / 3D-API für die Erstellung von OpenGL-Grafiken.
    • Erstaunliche plattformübergreifende Unterstützung. Das beste aller Frameworks.
    • Leider ist keine GUI oder Widget-Bibliothek eingebaut.
  3. Qt Schnelle QML ( qt-project.org )
    • Sehr schöne 2D / 3D-API für die Erstellung von OpenGL-Grafiken.
    • Ähnlich wie HTML, aber für OpenGL. Kennt ihr schon HTML und JavaScript? QML (Quick Markup Language) enthält grundlegende Dinge wie Textfelder, Optionsfelder, Kontrollkästchen usw., die mit Event-Handlern animiert und gesteuert werden können. Animationen, Event-Handler usw. in Ihrer QML-Anwendung sind in JavaScript geschrieben; Der Unterschied besteht darin, dass das JavaScript kompiliert anstatt interpretiert wird.
    • Qt Quick ist wirklich erstaunlich; mein persönlicher Favorit. Lesen Sie sich Qt Quick QML durch und probieren Sie dann die Animation aus Tiles App für Android, um das Potential von Qt Quick zu sehen. Die neueste Version von Qt (bald verfügbar) unterstützt iOS, Android und Blackberry sowie alle Desktop-Betriebssysteme. Windows Phone befindet sich in Arbeit, wird aber bald eintreffen, da Qt Quick bereits die Metro-Plattform von Windows 8 unterstützt. Qt Quick ist sehr nett, aber es funktioniert nicht auf jeder einzelnen Plattform wie HaxeNME.
  4. MoSync ( mosync.com )
    • Ein verstecktes Juwel. Dieser Rahmen benötigt mehr Aufmerksamkeit. Das MoSync SDK bietet ein plattformübergreifendes OpenGL-Framework, ein HTML / JavaScript-Framework ähnlich wie PhoneGap, ein NativeUI-Framework zum Schreiben von Anwendungen auf Plattformen, die die nativen UI-Widgets jeder Plattform verwenden, und MAUI zum Schreiben von C ++ - GUIs.
    • Wenn Sie sich damit begnügen würden, reines OpenGL zu schreiben, dann würde ich zumindest MoSync empfehlen, da es eine 1: 1-Implementierung von OpenGL ES 1.0 / 2.0 bietet.

Auch wenn Ihre App formbasiert ist (nicht so sehr animiert wie ein Spiel), dann könnte PhoneGap Ihren Bedürfnissen entsprechen. Wenn Sie die richtigen Funktionen von HTML5 verwenden, können Sie Apps erstellen, die sich nativ anfühlen (im Gegensatz zu den vielen schrecklichen und entmutigenden Beispielen). Wenn Sie eine App mit PhoneGap ausprobieren möchten, die sich "nativ" anfühlt, versuchen Sie " Go 2012 ". Die Go 2012-Apps beweisen, dass Sie, wenn Sie HTML5 korrekt verwenden, die Hardwarebeschleunigung plattformübergreifend nutzen können (iOS, Android, Blackberry und Windows Phone (ich habe es für alle getestet)). Die Animationen (Scrollen usw.) in Go 2012 sind alle hardwarebeschleunigten CSS3-Animationen. Lassen Sie sich nicht von der schlechten Qualität der meisten Apps in der PhoneGap-Präsentation täuschen!

    
trusktr 09.09.2012, 13:48
quelle
1

Verwenden Sie OpenGL ES und schreiben Sie den Code in C. Schreiben Sie einen NDK-Wrapper für Android. Theoretisch sollte Ihr offener GL C-Code zwischen den beiden Plattformen wiederverwendbar sein.

    
Peter Cetinski 12.03.2012 20:11
quelle
1

Haben Sie schon einmal über den kleinen Firmennamen Adobe

hergezählt?

Versuchen Sie es mit Luft.

Die Leute schätzen nicht die harte Arbeit, die Adobe geleistet hat, aber es ist die stärkste Cross-Plattform auf dem Markt!

Es unterstützt:

  • Windows mit DirectX-Zugriff, um Ihre App sowohl in 3D als auch in 2D zu beschleunigen.
  • Linux
  • Android (2.2 und höher) mit OpenGL-Hintergrund
  • iOS mit OpenGL
  • BlackBerry

Und viele mehr ... Wenn Sie auf hohem Niveau arbeiten möchten, verwenden Sie Air!

    
Ilya Gazman 09.09.2012 14:24
quelle

Tags und Links