Native iOS / Android-Anwendung für Windows Phone

8

Ich habe eine iPhone-Anwendung (mit einem Android-Gegenstück), in Xcode entwickelt und in Objective-C geschrieben. Es ist eine klassische native iOS-App, die bereits funktioniert und im App Store hochgeladen wurde. In ähnlicher Weise wird die Android-Version mit Java erstellt und mit den Android-SDKs verknüpft. Es ist auf den Marktplatz hochgeladen.

Ich wurde gebeten, die App auf Windows Phone zu portieren. Ist dies möglich, ohne den Code zu ändern? Ich bin nicht mit Windows Phone Dev vertraut, aber es sieht so aus, als wäre es komplett separates Ökosystem für die Entwicklung von Apps (verschiedene Programmiersprachen, andere IDE, verschiedene App-Stores usw.).

Kann ich von Android zu Windows Phone oder von iOS zu Windows Phone wechseln?

PhoneGap - oder ähnliche Plattformen - sind keine Optionen, da der Code bereits in Objective-C und Java geschrieben ist.

    
cateof 18.01.2014, 08:20
quelle

5 Antworten

8

Windows Phone ist wie iOS und Android ein völlig anderes Betriebssystem und benötigt derzeit eine völlig andere Entwicklungsplattform.

Es ist nicht möglich, den vorhandenen Code zu verwenden und auf einem Windows Phone zu aktivieren.

  • iOS verwendet häufig Objective-C für die Anwendungsentwicklung. Selbst wenn es eine Möglichkeit gäbe, Objective-C auf ein Windows Phone zu kompilieren, wäre es inhärent mit Plattformfunktionen und UI-Steuerelementen verbunden. Während Sie in C ++ Code schreiben und ihn für eine iOS-Anwendung freigeben können, benötigen Sie immer noch einige in Objective-C .
  • Android Anwendungen verwenden Java normalerweise. Java ist für die Windows Phone-Plattform nicht verfügbar. Also, die Sprache ist out. Darüber hinaus werden die Plattformfunktionen wie iOS nicht unbedingt gemeinsam genutzt und die Benutzeroberflächensteuerung und das Verhalten unterscheiden sich. Android-Anwendungen können C ++ verwenden (wenn Sie mit dem Code Code verwenden), aber Einschränkungen , Und wenn Sie es erneut verwenden, binden Sie den Code möglicherweise an die Android-Plattform. Einige Codes können tragbar sein.
  • Windows Phone -Anwendungen werden normalerweise in C # / C ++ und XAML oder DirectX geschrieben. Während es einige Ähnlichkeiten in den Sprachen (Java und C #) gibt, werden Sie auf wesentlich mehr Plattformunterschiede stoßen, die einen erheblichen Konvertierungsaufwand erfordern würden. Von der Art und Weise, wie Netzwerkanforderungen gestellt werden, bis zur Handhabung von Threads werden unterschiedliche (und viele, viele mehr) sein. Objective-C unterscheidet sich auch sehr von C ++.

Wenn Sie nicht etwas wie Xamarin verwendet und die zugrundeliegende Geschäftslogik mit einer gemeinsamen Plattform (C # /. NET) geschrieben haben, brauchen Sie es einen Neustart von Windows Phone einen Neuanfang zu betrachten.

Es ist nicht möglich, den gesamten Code, der geschrieben wurde, wiederzuverwenden. Mit einer gewissenhaften Anstrengung könnten Sie einen gemeinsamen Code freigeben (wenn er in C ++ geschrieben wäre), aber da der geteilte Code nicht direkt mit der Benutzeroberfläche (und anderen Plattformfunktionen) funktioniert, müssen Sie die Benutzeroberfläche auf jeder Plattform ausführen Einschränkungen umgehen und möglicherweise die Benutzererfahrung für jede Plattform anpassen.

Microsoft hat einige Hinweise zur Portierung gegeben und einige Links zu einer API-Äquivalenztabelle bereitgestellt hier .

    
WiredPrairie 22.01.2014, 02:22
quelle
3

Ja, Sie können die Windows-Bridge von Microsoft für iOS verwenden, um Ihren iOS-Anwendungscode in Windows Mobile Platform Code zu konvertieren.

Sie müssen das von Microsoft bereitgestellte WinObjC SDK für diesen Zweck verwenden.

Folgen Sie diesem Link für weitere Details.

    
Smit Yash 21.08.2015 05:21
quelle
2

Nein, Sie können nicht, WP-Apps werden mit c # oder .net und in Visual Studio IDE erstellt. Es gibt keine automatische Möglichkeit, eine zuvor codierte ios oder android native App, die mit objetive-c oder java erstellt wurde, auf WP zu portieren.

    
jcesarmobile 20.01.2014 09:26
quelle
1

Meiner Meinung nach gibt es keine Möglichkeit, eine iPhone App direkt in die Windows Phone App zu portieren. Sie müssen Windows Phone App mit seiner benötigten Umgebung wie Visual Studio, Windows Phone SDK und mit Windows OS zu entwickeln.

Sie können auch plattformübergreifend wie Phonegap verwenden, wenn es Ihren Anforderungen entspricht.

    
Praveen Mishra 18.01.2014 08:32
quelle
1

Offenbar haben Sie eine bestehende Obj-C-Codebasis für iOS und eine Java-Codebase für Android. Egal wie du es ausschneidest, du schaust Code an, um etwas auf WP8 zu bekommen.

Ich weiß nicht, wie "UI schwer" deine App ist; Im Allgemeinen ist der UI-Code der plattformspezifischste (es sei denn, Sie sind bereit, "plattformübergreifende" Sachen zu akzeptieren, die möglicherweise keine gute UX haben).

Sie könnten erwägen, den Nicht-UI-Code größtenteils in C ++ zu behalten und Obj-C usw. nur für die Teile zu verwenden, in denen Sie mit dem Framework sprechen müssen. Es wird einfacher sein, mehrere Plattformen mit C ++ zu unterstützen.

Ich habe diesen Ansatz mit einer App verfolgt, an der ich gerade arbeite. Es ist für iOS ausgerichtet, aber es ist etwa 80% C ++ (einschließlich Open GL). Wenn ich mich dazu entschließe, auf Android zu portieren, muss ich mich nur mit dem 20% igen, meist UI-ischen Code beschäftigen.

    
seand 27.01.2014 06:24
quelle