Gibt es ein Multiplattform-Framework für die Entwicklung von iPhone-/Android-Anwendungen?[geschlossen]

StackOverflow https://stackoverflow.com/questions/30953

Frage

Ich interessiere mich für das Schreiben von Anwendungen für das iPhone und die Android-Plattform.Ich hatte gehofft, eine Middleware/ein Framework zu finden, das einige der Unterschiede in den APIs abstrahiert und es mir ermöglicht, die Zielplattform zum Zeitpunkt der Erstellung anzugeben.Gibt es einen solchen Rahmen oder ist er geplant?

War es hilfreich?

Lösung

Telefonlücke ist ein auf Javascript/CSS/HTML basierendes Framework für iPhone, Android und Blackberry.Es kann (zumindest auf dem iPhone) auch als native App gebündelt werden.Die UI-Ebene für diese Apps ist normalerweise in HTML/Javascript erstellt und kann langsamer sein als eine echte native App.

Telefonlücke


Native reagieren ermöglicht es Ihnen, erstklassige Anwendungserlebnisse auf nativen Plattformen zu erstellen, indem Sie ein konsistentes Entwicklererlebnis auf Basis von JavaScript und React nutzen.Der Fokus von React Native liegt auf der Entwicklereffizienz auf allen Plattformen, die Ihnen wichtig sind – einmal lernen, überall schreiben.Facebook nutzt React Native in mehreren Produktions-Apps und wird weiterhin in React Native investieren.Bei der Benutzeroberfläche für React Native-Anwendungen handelt es sich um native Steuerelemente. Daher ist Ihre Benutzeroberfläche normalerweise schneller als ein reiner HTML-/Javascript-Ansatz für die GUI-Verwaltung.

Native reagieren


Einheit ist eine plattformübergreifende Spiele-Engine, die von Unity Technologies entwickelt wurde und zur Entwicklung von Videospielen für PC, Konsolen, mobile Geräte und Websites verwendet wird.Unity zeichnet sich durch seine Fähigkeit aus, Spiele auf mehrere Plattformen auszurichten.Zu den unterstützten Plattformen gehören Android, Apple TV, BlackBerry 10, iOS, Linux, Nintendo 3DS-Reihe, OS X, PlayStation 4, PlayStation Vita, Unity Web Player (einschließlich Facebook), Wii, Wii U, Windows Phone 8, Windows, Xbox 360, und Xbox One.

Einheit


OpenFL ist ein OpenSource -Port der Flash -API für Desktop, Browser, iOS, Android, Flash, HTML5 usw.und ist eine Option, die man in Betracht ziehen sollte, wenn man aus einer Flash-Welt kommt.Es baut auf nativen Binärdateien auf und zielt auch auf Browser (Flash/HTML5) ab.

openfl


MonoGame ist eine Open-Source-Implementierung des Microsoft XNA 4.x Framework.Es macht es XNA-Entwicklern leicht, plattformübergreifende Spiele mit extrem hoher Code-Wiederverwendung zu erstellen.Es unterstützt derzeit iOS, Android, Windows (sowohl OpenGL als auch DirectX), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, PlayStation Mobile und die OUYA-Konsole.

Monospiel


Adobe Flash Und ob Sie es glauben oder nicht, Adobe Flash kann native Binärdateien auf iOS, Android, Desktop und natürlich im Web veröffentlichen.Die Leistung ist angemessen, aber nicht unglaublich.Wenn Sie ein Flash-Spiel hatten, können Sie es möglicherweise ganz einfach auf Mobilgeräte übertragen.Und dafür sind keinerlei Plugins erforderlich.Es erstellt tatsächlich eine native eigenständige Binärdatei, die auf jeder Plattform ausgeführt wird.

Adobe

Andere Tipps

Bearbeiten:Seitdem diese Frage gestellt wurde, wurden eine Reihe praktikabler Lösungen entwickelt.Auch wenn der Ton dieser Antwort immer noch zutreffend ist (Um 100 % von der HW/dem Betriebssystem zu profitieren, ist wahrscheinlich eine native App erforderlich), finden Sie unter dieser Frage eine Reihe möglicher Antworten.

Sowohl Android als auch das iPhone verfügen über sehr stark definierte Benutzeroberflächen.Selbst wenn Sie ein Framework gefunden haben, das die großen Unterschiede auf den untersten Aspektebenen (Android ist in Java auf einer benutzerdefinierten VM programmiert, das iPhone ist nativer Code, der in Objective-C programmiert ist) und auf den höheren Ebenen (iPhone-Apps sind ein …) überbrückt vollständig in einer Sandbox und isoliert, das Android-Objektmodell ist verteilt und Klassen können frei zwischen Apps und Bibliotheken aufgerufen werden) Ihre endgültige App würde sich in beiden fremd und fehl am Platz anfühlen.Denken Sie an das Fehlen von Multitouch bei Android oder an das Fehlen dedizierter Hardwaretasten beim iPhone.

Am besten entwickeln Sie eine plattformspezifische Benutzeroberfläche und haben das Modell und die Kernlogik Ihrer Anwendung in einer Art Skriptsprache.Dann finden Sie einen Interpreter in einfachem C (für das iPhone) und einen in Java (für Android). Scheme, Lisp und Javascript könnten die Lösung sein.Stellen Sie nur sicher, dass der Dolmetscher nicht für Endbenutzer zugänglich ist, da Sie sonst gegen die iPhone-Geheimhaltungsvereinbarung verstoßen würden ...

Wenn Ihre App datenintensiv ist, könnten Sie dem Modell vieler iPhone-Apps folgen und native Benutzeroberflächen für iPhone und Android entwickeln und die gesamte Anwendungslogik auf einem Remote-Server haben.Ihre Benutzeroberfläche wird zum einzigen installierten Teil der Anwendung und alles andere wird im Internet gehostet.Dies hat den zusätzlichen Vorteil, dass Roaming-Profile zwischen verschiedenen Geräten und eine Weboberfläche angeboten werden können.

Ich füge hier einen weiteren Dienst zum Stapel hinzu: Rhomobil möchte genau das schaffen.Es sieht tatsächlich heruntergekommen aus – denken Sie an das Internet in den frühen 90ern zurück.Aber es könnte der einfachste Weg sein, Ihre Lieblings-App auf jede große mobile Plattform zu portieren.

Mehr Details: Rhomobile verspricht:Einmal erstellen, auf jedem Smartphone bereitstellen

( Notiz:Ich arbeite nicht für Rhomobile;bin erst heute auf die Geschichte gestoßen.)

Ich habe keine direkte Erfahrung mit iPhone oder Android, aber ich habe gerade einen Artikel über „Titanium“ gelesen und dann, als ich deren Website besuchte, Folgendes gefunden:

http://www.appcelerator.com/products/titanium-mobile/

Ich habe ziemlich viel mit den „nativen“ Lösungen Obj-C und Java (4 Android) gearbeitet.Ich erstelle auch eine App mit Appcelerator für iPhone und Android, die einwandfrei funktioniert.Die Appcelerator-APIs sind recht umfangreich.Die Appcelerator Kitchen Sink App zeigt viele Elemente und Funktionen, die sofort in eine App integriert werden können ( https://github.com/appcelerator/KitchenSink ).Da meine Appcelerator-App jedoch nicht allzu komplex ist, kann ich sie nicht generell empfehlen.Ein Kollege erzählte mir, dass sein Entwicklerteam es versucht habe und nicht zufrieden sei.Einen wahren Grund konnte er allerdings nicht nennen.Ich werde es jedoch weiter testen, um herauszufinden, wo die Einschränkungen liegen.Eine große Einschränkung ist die Plattformunterstützung (derzeit nur iOS und Android).

Was Rhodes betrifft, sieht diese Lösung auf dem Papier recht beeindruckend aus, insbesondere im Hinblick auf die unterstützten Plattformen.Ich sehe jedoch einige Probleme damit.Erstens benötigen die Demo-Apps und die Kitchen Sink-App viel Speicherplatz, laufen etwas unruhig und sehen manchmal unkonventionell aus (zumindest auf Android).Zweitens gibt es nur sehr wenige Anwendungen aus der „realen Welt“.Ich meine Apps, die mindestens mehr als 1000 Mal heruntergeladen wurden und reale Anforderungen erfüllen, die nicht nur Demozwecken dienen.Bei mobilen (Consumer-)Apps steht für mich die Benutzerfreundlichkeit an erster Stelle!

Ich sehe ein großes Potenzial in HTML/CSS/JavaScript/PhoneGap-Apps.Kürzlich habe ich einige Artikel über größere Unternehmen gelesen, die HTML(5) zum Erstellen ihrer Apps verwenden (z. B.Netflix http://mashable.com/2010/12/03/netflix-html5/, Zynga http://www.spielsucht24.de/2010/12/21/zynga-launches-html5-mafia-wars-atlantic-city-for-mobile-web/) Beim Erstellen mobiler Apps mit Webtechnologien gibt es noch einige Probleme mit der Benutzerfreundlichkeit und Schnelligkeit, die gelöst werden müssen.Ein weiteres Problem könnte das Testen, Debuggen und Warten von HTML-Apps auf Unternehmensebene sein.

RhomobilDas Rhodes-Framework von 's erledigt dies.Rhodes-Apps sind für jedes einzelne Smartphone nativ

Mytopie verfügt über ein unveröffentlichtes Framework namens RUGS.Sie präsentierten sich kürzlich auf der TechCrunch 50-Konferenz und ihre Technologie sah sehr interessant aus.Sie waren in der Lage, eine Anwendung zu kompilieren, die auf allen Smartphone-Plattformen lief (und die Fähigkeiten jeder einzelnen Plattform nutzen konnte...)Beschleunigungsmesser auf dem iPhone zum Beispiel).Leider ihre Webseite sagt, dass Sie ihnen eine E-Mail senden müssen, wenn Sie weitere Informationen wünschen.Es könnte sich lohnen, ihnen eine E-Mail zu schreiben, wenn Sie wirklich auf einem plattformübergreifenden, auf Smartphones ausgerichteten System entwickeln möchten.

Ich habe mir ihre Präsentation im Rahmen des TC50-Webcasts angesehen, kann aber derzeit leider kein Video für Sie finden.

Bitte posten Sie hier eine Zusammenfassung darüber, welches Framework Sie verwenden möchten und warum Sie es gewählt haben.

Mit QuickConnectiPhone können Sie Ihre App in JavaScript schreiben und sie ist dennoch installierbar.Eine Android-Version befindet sich derzeit in der unveröffentlichten Alpha-Phase.

Wenn Sie beides haben, können Sie Ihre App in JavaScript, CSS und HTML erstellen und Anrufe entweder an das iPhone oder das Android-Telefon tätigen, um Geräteverhalten wie Vibration, GPS-Standorte usw. abzufragen.

Die iPhone-Version kann heruntergeladen werden von https://sourceforge.net/projects/quickconnect/ und wenn Sie mich kontaktieren, kann ich Ihnen die Android-Version senden.

Selbst wenn Sie es wirklich wollten, wäre es nicht praktikabel, ein eigenes Multiplattform-Framework zu erstellen – iPhone ist nativer Code, Android ist Java.

Natürlich hindert Sie nichts daran, beispielsweise die Kernlogik von C/C++ in einer Desktop-Anwendung mit ihrem iPhone-Gegenstück zu teilen.

Schau dir das an:

http://www.xmlvm.org/overview/

Es handelt sich um ein Projekt, das versucht, Programme, die in verschiedenen Quellsprachen geschrieben wurden, in verschiedenen Zielsprachen kompilieren zu können.Einer der ersten Testfälle bestand darin, Programme in Java zu schreiben und sie auf einem iPhone auszuführen.Es lohnt sich, sich das Video auf der Website anzusehen.Sie haben die Möglichkeit diskutiert, auch Android ins Visier zu nehmen.

Trotzdem habe ich es nicht ausprobiert.Das Projekt scheint noch in der Beta-Phase zu sein, und auf der SourceForge-Website gibt es nicht viel Aktivität.

Mit iSpectrum können Sie Java-Anwendungen für das iPhone entwickeln.Auf diese Weise können Sie eine konsistente Menge Ihres Anwendungscodes zwischen Android und iPhone (und möglicherweise Desktop-Applets oder J2ME-MIDlets, je nachdem, was Sie tun :)) wiederverwenden.

Weitere Infos unter http://www.flexycore.com

Ihre beste Wahl ist AirPlay. Besuchen Sie uns AirPlay-Website

Ein Klick und Sie stellen es für Android, Iphone, Samsung Bada, Symbian, Windows Mobile, BREW, WebOS und Maemo bereit.

In meinem Buch „HTML5 für iOS und Android“ können Sie in HTML, JavaScript und CSS erstellte Web-Apps in eigenständige Apps umwandeln, die Sie in die App-Stores hochladen können (kostenlos oder zum Verkauf) – http://html5formobile.com - Die dafür erforderlichen Wrapper für die iOS- und Android-SDKs sind auf der Website frei verfügbar, und Sie benötigen keine Kenntnisse einer der beiden Programmiersprachen, wenn Sie den Anweisungen im Buch folgen.

Mir ist klar, dass diese Frage ziemlich alt ist, aber sie taucht bei Google-Suchanfragen auf, daher dachte ich, es wäre eine gute Idee, sie zu aktualisieren.

Meiner Meinung nach wäre Corona ein derzeit gutes Framework, das auf beide Plattformen abzielt und tatsächlich nativ läuft und es ermöglicht, leistungsstarke Spiele zu schreiben.

Verknüpfung: http://www.anscamobile.com/corona/

Mit der Ice-Touch-Middleware ist es uns gelungen, dass sowohl iPhone- als auch Android-Geräte mit denselben Servern kommunizieren.mit ziemlich anständiger Codegenerierung für Netzwerkobjekte und -methoden.aber die lokale Logik muss immer noch in der Sprache des Telefons geschrieben werden.Auf diese Weise könnten wir die UI-Vorteile jedes einzelnen nutzen, während sich unser Modell auf demselben Server befindet und unsere Controller automatisch generiert werden.

Link Text

Ich wollte nur erwähnen, dass eine Webanwendung das Gears-Plugin nutzen kann Geolokalisierung (Nicht mehr verfügbar) (GPS- und WLAN-Ortungsdienste) und dies funktioniert auf Android (der Browser auf dem G1 wird mit integrierter Gears-Unterstützung ausgeliefert).

Ich bin mir nicht sicher, ob es Hoffnung gibt, Gears-Unterstützung auf einem iPhone zu bekommen, aber es ist ein weiterer nützlicher Ansatz, um Webanwendungen mit zusätzlichen Funktionen zu erstellen und gleichzeitig eine große Gerätereichweite zu haben.

Ein solches Framework konnte naturgemäß keine iPhone-spezifischen Funktionen wie den Beschleunigungsmesser oder Mehrfingergesten nutzen.Es würde wahrscheinlich auch die SDK-Bedingungen von Apple ungültig machen.

Erwägen Sie, wie andyuk vorgeschlagen hat, eine Web-App zu schreiben.Grundlegende Funktionen wie jemanden anrufen dürfen auf diese Weise zugegriffen werden kann.

Es existiert nichts (auf das es sich, wenn überhaupt, zu verlassen lohnt), und ich bezweifle, dass es jemals etwas Offizielles geben würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top