我一直在爲我的企業應用程序尋找解決方案,至少需要支持3個平臺,即iOS,Android和Window Phone。經過一整天的搜索,我終於將目光投向了2個有前途的跨平臺解決方案,其中一個是單向跨接和另一個手機平臺。 monocross似乎使用c#和.net是否可以訪問本機庫和語言?我在某處直接將它編譯成可在目標平臺上執行的二進制文件。 關於phonegap,它使用每個平臺上的webviews來提供向最終用戶呈現用戶界面的功能。由於它是通過解釋型語言和高級別API實施的,因此性能可能無法滿足我們的需求。 最後,我們(我的團隊)決定嘗試單聲道,架構如下圖所示:如何在我的跨平臺項目中使用單聲道
+++++++++++++++++++++ representation層++++++++++++++++++++++++++
[MonoTouch的,MonoDroid的,Silverlight的]或[機GUI呼叫]或[HTML5/JS/CSS]
+++++++++++++表示控制器/業務邏輯層+++++++++++++++
[mono/c#]
++++++++++++++++++++++++++++ server side +++++++++++ ++++++++++++++++
[雲]
我想用mono/c#編寫一些通用的業務邏輯和數據結構,當涉及到一些通用平臺功能,比如存儲服務,通知,我想將它們包裝在每個平臺上,併爲c#(業務邏輯層)使用統一的API。至於表示層,我們決定從上面列出的3個可選解決方案中進行選擇。
要做到這一點,首先我必須弄清楚是否可以調用原生框架。 所以,我的問題是:
1,單聲道工作,我的意思是,如何將C#代碼編譯爲可在iOS,Android和Windows Phone上直接執行的二進制文件?
2,是否有一種機制可以進行原生調用?就像在cocos2d-x中一樣,我可以通過JNI調用java方法,而在iOS中,C++可以直接調用oc。我可以在c#中用mono調用可可觸摸物件嗎?
3,是否可以在單個項目中管理所有這些東西,以及如何構建它們?
4,有沒有更好的解決方案?
任何建議將不勝感激,謝謝你的耐心!
感謝萊克斯,我認爲你指出正確的對我來說,事實上,我確實搜查過Xamarin,但我感到困惑,並認爲單橫和Xamarin是同樣的事情。 –
在這種情況下,Xamarin應該被視爲基礎設施供應商,他爲非微軟平臺構建CLR。 MonoCross似乎是Xamarin提供的一個非常有前途的框架,而Xamarin本身推出了Xamarin.Mobile(http://xamarin.com/mobileapi) –