2012-05-14 40 views
1

我創建了一個Android應用程序。雖然創建一個特定的應用程序是一個有趣的挑戰,我現在正在考慮創建一組類似的應用程序。跨移動選項

我想創建一組相似的Android應用程序,然後繼續創建在平板電腦和iOS一樣的...(什麼手機)。

我已經考慮了一個名爲PhoneGap的產品這樣做或做一個基於Web的移動應用程序。這兩種選擇看起來都不太理想。做Android應用程序我一直因Java缺乏控制和低級構造而感到沮喪。轉移到像基於Web的應用程序似乎是確切的錯誤方向。

C++是我選擇的語言。它具有低級別工作能力,跨平臺高度可移植性,並且對通用編碼有很大的支持,這對於生成一組類似的應用非常有用。但是,Android文檔建議不要使用C++,除非您的目標是移植現有代碼或處理計算繁重的任務。

我傾向於使用C++反正,但還有其他的選擇,我沒有考慮?

感謝

回答

-1

那麼,谷歌的建議,不使用C++是基於下面,我相信。 C++是低級別的,所以如果你知道你在做什麼,你可以得到額外的性能。谷歌做出了許多程序員都沒有的合理假設。對於沒有經驗的程序員來說,在C++中造成傷害然後獲得性能提升會更容易。

但是,如果你知道你在做什麼,它可以幫助你。 iOS和Android上的UI元素都是以其主要語言(分別是obj-c和Java)實現的,所以沒有很好的解決方法,但可以用C++編寫核心邏輯和其他函數,並且它們可以在它們之間移植(iOS可以直接使用C++,Android可以通過Native Development Kit使用它)。

還有其他幾個選項可用。我最終使用的是Appcelerator Titanium,但請遠離它。如果你的項目變得複雜或者很大,你會恨我自己選擇它,就像我一樣。另一個使用C++而不是Javascript的有趣的是Marmalade。我還沒有使用它,所以我不能評論它。

,我聽到好東西非免費的解決方案爲Xamarin,誰移植兩種環境,以C#和使用單一個.NET。但是,就我所知,您仍然必須爲UI編寫兩個版本的代碼。

0

理論上你可以寫你的邏輯在C++中,然後對頂部是利用它的用戶界面層。如果你真的對C++感到滿意,那可能就是要走的路。

幾乎所有的其他部分(網絡,用戶界面,動畫等),最好還是在平臺的母語正在做。跨平臺解決方案的使用總是會以某種方式限制您,並且通常會導致應用程序不如任何平臺的應用程序。