Crossplatform iPhone / Android Code-Sharing

Einfach gesagt: Was ist der effektivste Weg zu teilen / Wiederverwendung Code zwischen iPhone und Android baut?

Die beiden häufigsten Szenarien, die ich denke, wäre:

  • Wo finde ich Android-Quellcode online?
  • Sollte der Betrachter auf den Adapter verweisen?
  • Android, wie kann ich Steuerelemente von VideoView entfernen?
  • Android - Versuche, gefälschte SMS zu mir ohne Mobilfunknutzung zu senden
  • Wie deaktiviere man nur die richtige Navigationsschublade?
  • Beste Weg, um Daten in Android zu speichern
    1. Blank Schiefer neues Projekt, wissen vor der Zeit gibt es eine große Stücke von wiederverwendbaren Logik, die auf jedem Gerät laufen muss.
    2. Bestehende iPhone-Code-Basis, Portierung von C, C ++ und Objective-C zum Android NDK oder auf andere Weise.

    Ja natürlich in einer perfekten Welt alle Apps würden einfach in die magische Wolke stecken und alle wiederverwendbare Logik wäre in Google App Engine oder einige Web-Services, aber das ist nicht der Geist dieser Frage. Nach dem Erleben eines Hafens von iPhone auf Android ohne Code Wiederverwendung bei allen Second-Hand und sehen die Schmerzen, die Person zu ertragen hatte, würde ich gerne wissen, wie andere Menschen es zu vermeiden.

  • Fehler, der auf eine innere Klasse verweist View in layout / main.xml
  • Brauchen Sie Hilfe Umgang mit einer schwerwiegenden Ausnahme verursacht durch java.lang.IncompatibleClassChangeError
  • Testen von mehreren Aktivitäten mit Espresso
  • Wo können Sie sensible globale Informationen wie API-Schlüssel in der Android-Anwendung speichern?
  • Android TimePicker Stundenfeld verschwindet nach Orientierungsänderung
  • Cache-Bilder lokal, von Google Firebase-Speicher
  • 9 Solutions collect form web for “Crossplatform iPhone / Android Code-Sharing”

    In meiner Erfahrung können Sie Android NDK verwenden, um C und C ++ zu kompilieren, also wenn Sie iPhone Obj-C ++ (.mm) Bindungen für eine C ++ / C-Engine im iPhone verwenden und in Android verwenden Sie Java-Bindungen an denselben Motor, Es sollte völlig möglich sein.

    Also C ++ / C-Engine (fast gleiche Codebasis für Android und iPhone) + Dünne Bindungen Schicht = Portable Code.

    Wie ich schon sagte jemand, der eine ähnliche Frage vor einer Weile gefragt hat, nutze MVC und implementiere den MC in C ++ und den V in obj-c oder Java.

    Schreiben Sie so viel wie möglich in einfachen alten C (oder C + + wenn nötig) und fügen Sie einfach die gleichen Dateien in Android und iPhone. Funktioniert auch unter Windows / Mac. "Cross-Plattform" -Bibliotheken neigen dazu, Sie zu konsumieren.

    Sie könnten mit Marmalade SDK gehen … Kompilieren Sie einmal auf native ARM und Bereitstellung auf Android und iPhone mit dem gleichen Binär, Standard C / C ++, entwickeln auf Windows oder Mac, viele (optional) Middleware-Tech enthalten.

    Ich habe an der Erstellung von Anwendungen und Spielen für iPhone mit Lua mit meinem eigenen Framework gearbeitet. Auf diese Weise könnte ich schließlich das gleiche Framework für Android mit Android NDK implementieren, aber der eigentliche Applikationscode wäre hoffentlich genau das gleiche für beide Plattformen.

    Ich glaube nicht, dass es einen einfachen Weg gibt, dies zu tun, denn die APIs sind offensichtlich anders und native Programmiersprachen sind anders, aber das Erstellen deines eigenen Frameworks in jeder Sprache, die von beiden Plattformen unterstützt wird, wäre mein Vorschlag. Vielleicht gibt es schon einen Rahmen, der das harte Zeug für dich tun würde? Wenn es keine guten Rahmenbedingungen dafür gibt, dann ist das eindeutig eine Gelegenheit, sich selbst zu implementieren.

    XMLVM sieht einen Versuch aus.

    Ich benutze BatteryTech für meine Plattform-Abstraktion Zeug und meine Projektstruktur sieht so aus:

    Auf meinem PC:

    Gamename – enthält nur den gemeinsamen Code

    Gamename-android – hält meistens BatteryTech's android-spezifischer Code und Android-config, Builder zeigen auf Gamename-Projekt für gemeinsamen Code

    Gamename-win32 – Nur für den Aufbau auf Windows, verwendet Code aus Gamename-Projekt

    Auf meinem Mac:

    Gamename – enthält nur den gemeinsamen Code

    Gamename-ios – Das iPhone / iPad bauen, importiert gemeinsamen Code

    Gamename-osx – Die OSX native bauen Importiert gemeinsamen Code.

    Und ich benutze SVN, um zwischen meinem PC und Mac zu teilen. Meine einzige wirkliche Probleme sind, wenn ich Klassen hinzufügen, um die gemeinsame Codebasis in Windows und dann auf dem Mac zu aktualisieren, um sie von SVN zu ziehen. XCode hat keine Möglichkeit, sie automatisch dem Projekt ohne Skripte hinzuzufügen, also muss ich sie jedes Mal manuell ziehen, was ein Schmerz ist, aber nicht das Ende der Welt ist.

    All dieses Zeug kommt mit BatteryTech so ist es einfach, herauszufinden, sobald Sie es bekommen.

    Moai ist für kleinere Projekte frei und wird auch von großen Studios genutzt. Ich laufe selbst Homebrew, aber wenn ich nicht würde, würde ich wahrscheinlich Moai selbst benutzen, da es sehr vielversprechend aussieht. Sie behaupten es Häfen zu Mac, PC, iOS, Android und ich denke sogar Kindle Fire.

    Du möchtest den Großteil des Codes in Lua schreiben, denke ich, aber du hättest Zugriff auf den ganzen Code, also kannst du C ++ benutzen, wenn du es brauchst.

    Du könntest auch Titanium ansehen. Die sagen mit ihrem Tool können Sie Ihre App in abstrakten Web-Code schreiben und sie werden Ihnen helfen, Web-App-Schnittstelle mit all diesen GPS, Beschleunigungssensoren usw.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.