2011-02-14 179 views
7

我們做了一個退出大型iOS應用程序,擁有2000多個目標c類。我想知道有一個最佳實踐指南將其移植到Android?目前,我正在尋找Visual Paradigm(UML),它將工程目標c文件逆向工程化爲UML。像Enterprise Architect一樣,它也允許我爲另一種流行語言(如java或C++)生成代碼(頭文件+聲明)。還有其他方法嗎?另外,由於我們的應用程序大量使用UINavigation和UIView控制器,我想知道Android上有類似的模型和實現。將iOS應用程序移植到Android

由於到目前爲止,GUENTER

+6

你在世界上是如何結束2000+課程的?即使是我最複雜的應用程序,我有很多託管對象實體的存根類,但最終只有大約100個類。 – 2011-02-28 17:58:21

+0

檢查https://www.myappconverter.com/ – Abdellah 2016-04-13 09:57:04

回答

7

誠實地說,我認爲你正在制定的計劃只是爲了讓蹩腳的代碼變得非常難以維護。我意識到這聽起來像很多工作,但從長遠來看,它會更容易,我只是將應用程序的概念「移植」到android並從頭開始編寫它。

+0

我只看了一下生成的代碼,在類似結構的對象被用於存儲的情況下,它似乎是一個很好的交易。對於執行視圖控制器等邏輯問題的對象,您絕對是正確的。 – xamiro 2011-02-14 15:22:10

+0

你是對的,對於數據結構來說,它似乎可以工作,但由於android的工作方式,我真的沒有看到任何方式來輕鬆完成轉換。您的NIB文件現在必須以android友好的XML編寫,並且您不會有任何代理來「連接」,而是通過直接調用來自使用XML佈局的活動來管理該對象。它非常不同。 – blindstuff 2011-02-14 16:26:16

1

對於從C或C++去到Android,你可能是最好的使用NDK的。問題是我認爲這是不可能的(至少,不是直接嗎?)客觀C.

我認爲這可能是最好的嘗試去C,然後使用NDK使它成爲Android的應用程序。從你的代碼開始,通過UML到JAVA聽起來像是一個更難的選擇。

+0

感謝您的快速響應。我正在收集其他平臺支持C++的信息。 – xamiro 2011-02-14 15:20:00

1

AFAIK沒有自動工具將Objective-C轉換爲Java。有相反的java2objc

這裏是移植的Objective-C與Java一些官方提示:http://www.nextcomputers.org/NeXTfiles/Software/WebObjects/Guides/PortingObjectiveCtoJava.pdf

我不是iOS的專家,但據我所知iOS不具備佈局管理器 - 它使用XIB/NIB做佈局(或動態在代碼中,這是不推薦的)。在Android上有佈局類,主要用於支持不同的分辨率。此外,佈局是declared via XML files.

所以看起來有很多手工編碼在你面前。由於項目非常大,我會得到一位熟悉Android和iPhone的專家的幫助。

0

爲了讓您知道故事的結局如何,我一直使用Sparx Enterprise Architect,並且除了JavaScript之外,我的設計,架構和文檔都得到了很好的控制,最終適用於所有平臺。在整合新功能時有點繁瑣,但在企業環境中爲我節省了大量時間。我們正在研究iOS,桌面(Web2.0/HTML5),Android,Blackberry,Symbian和一些路由器系統。爲了擺脫平臺特定的事情,我總是引入一個額外的層。似乎到目前爲止我們的產品工作。

再次感謝,g。

4

的Apportable SDK

它交叉編譯Objective-C的應用程序到Android,無需大量改動原代碼庫。代替將代碼翻譯成Java,Apportable將您的代碼交叉編譯爲直接在Android設備的處理器上運行,繞過Java運行時,從而提供與iOS版本相媲美的速度和性能。

該平臺已經在Apportable的超過150個設備的庫上進行了測試,並且在野外,Apportable驅動的應用程序已經在數千種設備上接受了5星評價。

退房的SDK here

0

MyAppConverter服務幫助本​​地iOS移動應用瞬間轉換爲原生的Android應用程序,這不是主要集中在外觀和感覺,和你的應用程序的用戶界面交互。這意味着它不會複製您的應用程序。相反,MyAppConverter會進行所有更改以使項目適合開發Android應用程序。

MyAppConverter當前僅支持的iOS的Android轉換和目標c迅速

相關問題