2012-04-02 14 views

回答

14

因爲您想要訪問平臺相關的功能,例如相機,GPS,通知等,您將需要調用平臺特定的API。

這樣,至少你的一些應用程序代碼將需要依賴於平臺。但是,您的應用代碼的大部分代碼&很可能可以在多個平臺上共享。我強烈建議Mono作爲一個優秀的多平臺開發環境。在Windows Phone上,您的代碼將在.NET中運行。對於Linux & OSX,您可以使用Mono。對於Android的& iOS版,您可以使用Xamarin的工具。

這裏的關鍵是,如果你將你的應用程序邏輯打包成「Portable Assemblies」(即組件依賴於CLI/CLR所有實現中可用的.NET框架的部分),那麼你的代碼一般可以在Windows,Windows Phone,Linux,OSX,Android和iOS上無需修改即可運行!

然後,您需要做的就是構建特定於平臺的外殼,使您的應用看起來像一個平臺本地應用,使用您想要支持的各種平臺的典型控件和設計隱喻。

HTH。

更新2012-04-06:如果你想利用便攜圖書館,這裏是包含在最近發佈的(和良好的價值,一個有些updated documentation on MSDN引用便攜式圖書館的新版本更新-look)Visual Studio 11 Beta。

更新2012-04-11:標題爲「Create a Continuous Client Using Portable Class Libraries」的文章被髮表在MSDN雜誌的2012年3月版,說明如何使用PL的創建的Windows Phone和Windows 8的應用程序,共享相同的核心業務邏輯。

+0

我明白了。所以,我需要爲一般邏輯創建一些類似於一般邏輯的庫,但幾乎沒有平臺依賴代碼.... – DNB5brims 2012-04-02 07:05:36

+0

通常,將通用業務邏輯劃分爲可重用的組件,然後可以被特定於平臺的應用程序使用,這是一種很好的方法。這使您可以實現高級別的代碼重用,而無需在多個項目中複製並粘貼和維護代碼。 – 2012-04-03 06:26:20

2

如果你不看網頁的應用程序,你可能想看看codenameone。它基於java,他們也有一個eclipse的插件。

0

您可以嘗試Sencha 它是一個高性能的HTML5移動應用程序框架。適用於iPhone,Android等

2

最新發布的Qt Framework(5。1)有他們稱之爲Android和iOS支持的「技術預覽」。完全發佈的支持將在即將發佈的5.2版本中發佈。

鑑於Qt作爲跨平臺開發框架的廣泛和成功的歷史,我對此寄予厚望。 (免責聲明:我迄今爲止只用於Win/Mac/Linux開發...)

2

對於本地跨平臺框架,您應該檢查出Crosslight。它目前支持針對iOS,Android,WP8和Win8的應用程序開發。

UPDATE:Crosslight公司包括你要找的內置服務,如:

  • 攝像機服務:從相機拍照,從畫廊瀏覽照片,檢索裁剪圖像,產生完全或縮略圖版本
  • 定位服務:獲取當前位置,通過地址獲得位置,軌道位置
  • 通知服務:安排本地通知服務
  • 連接服務:檢查的烏里可達,得到當前連接(Wi-Fi或WWAN)
  • 許多其他有用的服務,如郵件服務,瀏覽器服務,地圖服務等
+1

Crosslight看起來很有趣,但價格不小。單個開發者許可證爲2千美元。對許多公司來說這不是問題,但對於獨立開發人員來說這是令人望而卻步的。 – 2014-04-16 22:57:25