第3回:Xamarinにおけるコードの共通化とプラットフォーム固有のコードの記述

UIコントロール/レンダラー/ネイティブコントロール(Mapコントロールの例)「Customizing a Map - Xamarin」より。Xamarin.FormsのUIコントロールは、このような構造になっている。これはMapコントロールの例だが、他のUIコントロールも同様だ。UIコントロールの定義は、プラットフォームに依存しない(上段のMap)。UIコントロールの外観や機能の実装は、プラットフォームごとの「レンダラー」が受け持っている(中段のMapRenderer)。レンダラーは、プラットフォーム固有のコントロールを利用する(下段)。

UIコントロール/レンダラー/ネイティブコントロール(Mapコントロールの例)「Customizing a Map - Xamarin」より。Xamarin.FormsのUIコントロールは、このような構造になっている。これはMapコントロールの例だが、他のUIコントロールも同様だ。UIコントロールの定義は、プラットフォームに依存しない(上段のMap)。UIコントロールの外観や機能の実装は、プラットフォームごとの「レンダラー」が受け持っている(中段のMapRenderer)。レンダラーは、プラットフォーム固有のコントロールを利用する(下段)。