BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Xamarin.Formsで完全にネイティブなクロスプラットフォームUIを実現

Xamarin.Formsで完全にネイティブなクロスプラットフォームUIを実現

原文(投稿日:2014/05/29)へのリンク

Xamarinを使ってクロスプラットフォームのネイティブモバイルアプリケーションを書く場合、これまでは平均してコードの80%程度を共有できていた。しかし、UIコードに関わる残りの20%についてはプラットフォームごとに別々に書かなければならなかった。最新リリースである Xamarin 3.0 では Xamarin_Forms というMVVMライブラリが導入された。これにより、単一のUIコードをC#で記述すれば、iOS上でもAndroid上でもWindows Phone上でもネイティブに実行させることができる。

Xamarin.Formsを使う場合、開発者はページ(ContentPage、MasterDetailPage、NavigationPage、TabbedPage、CarouselPage)を作成する。コントロールは40以上のウィジェットやレイアウト(RelativeLayout、GridLayout、Button、TableView、ProgressBarなど)の一覧から選択できる。実行する際には、コントロールを格納したページは、動作するオペレーティングシステムにおいて対応する画面とコントロールを使用してレンダリングされる。例えば、主要な3つのモバイルプラットフォーム上でXamarin.Forms.DatePickerクラスをレンダリングすると下の写真のようになる。アプリケーションの見た目を完全にネイティブにできる。

image

このライブラリが特定のネイティブ機能に対応していない場合は、開発者はXamarin.FormsのページにXamarin.iOSやXamarin.Androidで書かれたネイティブの画面を埋め込んだり混在させたりすることができる。また、カスタムのページやコントロールやレイアウトを定義することもできるし、Xamarin.Formsのコンポーネントのサブクラスを作り、動作をオーバーライドすることでカスタマイズすることもできる。

Xamarin.Formsで作成されたユーザインタフェースはXAMLとして保存されるため、ツールを使って編集することもできるし、手動で編集することもできる。本ライブラリはいくつものアニメーションやマップをサポートしている。たくさんのサンプル がGitHubで公開されている。

この記事に星をつける

おすすめ度
スタイル

BT