2012-02-16 287 views
2

我是新來的移動開發人員,我對開發適用於iOS,Android和Windows Phone 7的應用感興趣。而且我想寫更少的代碼。目前我看到C++可能適合。跨平臺移動平臺編程

我知道的是: 即使在iOS的一個文件中也可以使用Objective-C的C++,並且我可以鏈接我的C++庫。

可以在Android上通過NDK使用C++。 因此,我可以在C++中編寫大部分應用程序(除了一些非常特定的平臺相關部分),並通過某種暴露的Facade調用我的應用程序,對吧?

windows phone 7可以做些什麼?我知道它是基於.Net的。而在.NET中,可以從C++ win32 dll中調用代碼。但是什麼與WP7?我不想重寫所有的東西給C#。

或者,也許所有這種跨平臺遊戲不是好主意。是否有一些重要的陷阱?也許最好只有iOS的Obj-C,僅適用於Android的Java,僅適用於Silverlight和xna的C#,以及單獨維護這個動物園?

有經驗的移動開發者請分享您的經驗。

回答

2

請注意,在Android上,C++沒有完全支持。這更多關於純粹的C.在android上用C語言編程基本上是爲遊戲保留的。如果你不想在OpenGL中製作你的UI,那就把它忘記吧,然後用Java編寫它。無論如何,你將需要一個小的Java包裝器。

這同樣適用於iOS - 如果僅使用OpenGL,則可以使用C語言編寫所有內容,並僅將obj-c用作小型應用程序包裝。

從這個你可以看到這是主要保留遊戲。有可用的工具(例如http://www.madewithmarmalade.com/)可以幫助您輕鬆開發openGL遊戲)

平臺之間的主要區別來自不同的UI框架。有些工具可以幫助您克服這些差異 - 其中大部分都基於HTML 5,並且正在使用CSS來模擬原生用戶界面。通常你必須犧牲很多用戶體驗。

您必須明白,如果您希望您的應用程序在不同的平臺上看起來很完美,則必須爲每個平臺單獨編寫UI並本機編寫UI。即使UI設計也必須不同。 iPhone和iPad需要很多很酷的動畫,它們必須是完美的肖像&風景模式(包括旋轉動畫),使用導航欄,工具欄,分割視圖... Android用戶期望別的東西 - 不同的(菜單)工具欄,你需要將其移植到許多不同的屏幕分辨率,用戶體驗會有所不同。

我會建議從本機iOS開始,如果應用程序有利可圖(如果這是您的應用程序的原因),請將其開發用於其他平臺。 iOS應用程序總能產生最多的錢。

0

看看phonegap。它聲稱是跨平臺的,儘管我確信它將這些特性降到了一個共同的分母。

-1

我有很好的開發iOS和Android應用程序的經驗,Titanium Appcelerator。該代碼使用JavaScript編寫並映射到本機調用,因此您可以獲得本機外觀。

PhoneGap有不同的方法。該應用程序是用HTML,CSS和Javascript編寫的。其優點是它支持更多不同的平臺。包括iOS,Android和Windows Phone 7.

-1

當前現有的平臺中,大多數支持HTML5,包括iOS,Android和WP7或即將推出的WP8在內的JavaScript也可支持。

因此,使用HTML5和JavaScript編寫應用程序是值得警惕的。

的相同的JavaScript HTML5應用程序可以通過使用提供的庫爲多個平臺如PhoneGap

Morever PhoneGap的是開源移動框架自由使用該框架被部署在單個平臺上。

您也可以參考下面的鏈接,Top five HTML5 frameworks for Mobile developement.

-1

你看的MonoTouch和Mono的Android從Xamarin? http://xamarin.com/

他們說,您可以重複使用多達90%的應用程序邏輯,並創建設備本地用戶體驗/ UI,以訪問所有本機平臺API和設備傳感器。

+0

我做到了。但與真正的原生應用程序相比,我不確定其性能。性能和內存呢?我相信對於商業應用來說它會很好,但對於遊戲或其他圖形和繁重的計算應用,我不確定。 – 2012-02-26 10:07:33