2013-04-02 36 views
10

我是Xamarin新手。我在這裏沒有混淆。Xamarin如何獲得原生的外觀和感覺?

問:

  1. 如何Xamarin獲得本機外觀的UI組件的手感和?
  2. Xamarin是否提供自己的小部件[如按鈕,佈局,..]。

這是我的理解如果我錯了,請糾正我?

1)通過原生SDK開發UI [按鈕,佈局...]。例如iOS使用Xcode。對於Android?

2)考慮按鈕,當按下按鈕時,在平臺上將會執行的代碼將被執行 。

3)所以,由於UI直接來自它們各自的SDK,所以我們獲得了本機外觀和感覺。

請問我錯誤理解了哪裏?

+0

它使用 '實際' 的UIButton從CocoaTouch iOS版SDK。它就像整個SDK一樣包裝在C#中。它具有原生的外觀和感覺,因爲UI是本地的。 – valdetero

回答

22

我覺得你走了。

Xamarin在iOS和Android上提供C#和.Net(Mono)運行時。同時,他們將每個平臺上的本地API展示給C#。所以他們爲C#構建了一種調用Objective-C和Java的方法(反之亦然)。

這意味着您在每個平臺上開發原生UI,並且可以在平臺之間共享後端業務邏輯。 Xamarin應用程序可以在不同平臺上的代碼之間分享50-75%的代碼。跨平臺沒有普通的UI共享,因爲這會抽象出本地API。

進行分解:

的Android

  • 使用Xamarin Studio或Visual Studio開發你的C#後端代碼
  • 使用Xamarin的Android設計師來佈局Android原生XML佈局

iOS

  • 使用Xamarin Studio或Visual Studio中*開發Mac中的C#後端代碼
  • 使用的XCode佈局故事板或XIB文件提供原生iOS UI佈局

兩個選項,你可以從代碼創建UI好吧,但是本地API在每個平臺上都會有所不同。

*,則需要Mac編譯爲iOS

+0

謝謝jonathanpeppers,尼斯答案。 – Whoami

+0

謝謝你一個不錯的和明確的答案!什麼是Windows Phone開發的「分解」? – HischT

+1

你不使用Xamarin的Windows手機,你使用微軟的工具。但是你可以共享代碼,因爲它使用C#。您將使用Visual Studio,並且它們具有用於佈局的內置Xaml設計器。 – jonathanpeppers