2012-02-23 152 views
4

我是C#.NET開發人員。html5和xamarin有什麼區別?

我想開發可在iphone,android和windows phone上運行的移動應用程序。

就目前而言,我發現www.xamarin.com提供了一個可以使用C#開發iphone和android的解決方案。

html5和xamarin有什麼區別?

我應該使用哪種技術,我可以開發一次並在所有平臺上運行?

+1

請使用搜索按鈕,這已經被一次又一次地討論過了。 – PravinCG 2012-02-23 07:52:54

+0

不想拖動舊線程,但RhoMobile也是一個很好的跨平臺選擇。它是一個本地應用程序,但是它以一種基於模式的方式充當HTML/RoR的迷你Web服務器。爲您提供所有手機原生功能的包裝。根據我的經驗,Xamarin更有趣。特別是自.NET 4以來,C#是一款非常棒的lanquage。在今天的手機上進行並行處理意味着您可以快速完成任務。相反,使用手機的所有內核不會浪費電池。您仍然可以在相同的CPU週期內完成相同的任務,但效率更高。 – SolidRegardless 2012-11-16 06:54:03

回答

5

主要區別在於HTML5在瀏覽器上工作,而xamarin沒有(就我研究過的)而言。使用HTML5,在多個設備上開發更容易。但是製作原生應用的xamarin可以訪問設備上的本地功能(如通知等)。但缺點是Xamarin在多個設備上工作有點困難。此外,還必須安裝原生應用,而HTML5應用不會。所以你應該問自己,我想要做什麼樣的應用程序。此外,在所有平臺上運行的應用程序還不存在。一些HTML5框架提供了大量支持(如JQmobile),但所有平臺幾乎不可能。

+0

您仍然可以用xamarin製作html5應用程序。它是一個圍繞android或iOS SDK的c#/ mono包裝器 – IanNorton 2013-07-31 20:20:27

2

好吧,他們是兩個完全不同的東西。

簡述:

-HTML5是網頁標準,仍在審查中(這意味着它不是最終版本,可能會有所不同ANYTIME)

-xamarin是開發跨平臺應用程序的框架。這意味着它是一組工具,可以讓你(在這種情況下)從C#和.net編碼,並獲得一個移動應用程序( 是啊,最有可能它將是一組帶有js網頁的HTML5,但我從來沒有實際上用它

所以你可以說,xamarin (可能)使用HTML5的最終輸出,但就是這樣。 實際上與html5沒什麼共同點

+0

我也不太瞭解xamarin,但不是xamarin製作原生應用程序,而不是HTML5應用程序? http://xamarin.com/monotouch – 2012-02-23 07:57:28

+0

xamarin使用'Mono',它不會創建HTML5應用程序。它接近本機代碼。 'Mono'是'.NET'的開源版本。因此,當使用HTML5時,感覺會更加原生。但價格有點陡峭。 – rckoenes 2012-02-23 08:02:34

+0

感謝您的建議,我編輯了答案:) – 2012-02-23 09:06:31

5

我認爲您的選擇的更好的描述將介於MonoTouch(由Xamarin創建)和PhoneGap(其提供HTML5的本機包裝)之間。兩者都生成本機應用兩者都在多個平臺上工作。兩者都允許連接外部Objective-C庫。

如果需要外部庫 - 我認爲PhoneGap可能比MonoTouch更獨立於平臺 - 我只完成iOS開發,但我相信Android Mono庫結構有點不同,因此爲您的應用的UI部分設置相同的代碼庫是不合理的。但在這種情況下,您可能只需堅持HTML5並將所有代碼放在服務器上。

如果您需要鏈接到外部庫 - 我發現PhoneGap比MonoTouch更容易。我可以在與我的其他代碼相同的Xcode工作區中創建PhoneGap項目,所有內容都可以很好地編譯和調試。使用MonoTouch我有一些腳本文件可以製作通用的靜態庫,然後通過笨拙的gcc標誌鏈接它們。

如果您可以留在HTML5世界,我會建議您將所有文件託管在服務器上,以避免與本機應用程序相關的所有部署問題。但是,如果你需要一個本地應用程序,你可以在任何一種環境下製作出驚人的應用