10

私はXamarinが初めてです。ここで混乱することはほとんどありません。

質問:

  1. Xamarin は UI コンポーネントのネイティブなルック アンド フィールをどのように取得しますか?.
  2. Xamarin は独自のウィジェット [ボタン、レイアウトなど] を提供しますか?

ここに私の理解があります 私が間違っている場合は修正してください?.

1) ネイティブ SDK で UI [ ボタン、レイアウト ...] を開発します。たとえば、iOS では Xcode を使用します。アンドロイド用 ?。

2) ボタンについて考えてみましょう。ボタンが押されたときに実行されるコードは、プラットフォーム全体で共通です。

3) したがって、UI はそれぞれの SDK から直接取得されるため、ネイティブのルック アンド フィールが得られます。

私が誤解したところを親切に訂正してください。

4

1 に答える 1

23

私はあなたが道を外れていると思います。

Xamarin は、iOS と Android で C# と .Net (Mono) ランタイムを提供します。同時に、各プラットフォームのネイティブ API を C# に公開します。そこで彼らは、C# が Objective-C と Java を呼び出す (およびその逆) 方法を構築しました。

これは、各プラットフォームでネイティブ UI を開発し、プラットフォーム間でバックエンド ビジネス ロジックを共有できることを意味します。Xamarin アプリは、そのコードの 50 ~ 75% をプラットフォーム間で共有できます。ネイティブ API を抽象化するため、プラットフォーム間での UI の一般的な共有はありません。

それを分解するには:

アンドロイド

  • Xamarin Studio または Visual Studio を使用して C# バックエンド コードを開発する
  • Xamarin の Android デザイナーを使用してネイティブ Android XML レイアウトをレイアウトする

iOS

  • Xamarin Studio または Visual Studio* を使用して C# バックエンド コードを開発する
  • Mac で XCode を使用して、ネイティブ iOS UI レイアウト用のストーリーボードまたは XIB ファイルをレイアウトします

どちらのオプションもコードから UI を作成できますが、ネイティブ API はプラットフォームごとに異なります。

*iOS用にコンパイルするにはMacが必要です

于 2013-04-02T12:28:14.197 に答える