読者です 読者をやめる 読者になる 読者になる

Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

インフラジスティックス・ジャパン様との合同セミナーを開催しました

こんにちは。エクセルソフトの田淵です。

2015/7/8 に Windows Phone / iOS / Android アプリ同時開発のススメ と題しまして、de:code でやったランチセッションの拡大版を開催しました。

de:code では 2人で 45分しかありませんでしたので、1人 1時間ちょっと(のつもりだったのですが、時間ミスってすみませんでした…!!!!) ずつでセッションをやりました。

時間があるので、Xamarin.Forms だけでなく、Xamarin ネイティブでの開発手法もご紹介しました。

Phoneword

弊社ページに掲載している Hello, iOSHello, Android を少しだけ拡張したものです。

GitHub

ドキュメントではそれぞれのプロジェクトで Core.Translator を作っていますが、PCL で用意して参照しています。その他、Android プロジェクトで Material Design の Theme を参照したり、iOS プロジェクトで iPhone 6 の画面サイズに対応できるように LaunchScreen.storyboard を用意したりしています。その他はすべてドキュメントを見ながら作成できるものです。

サンプルでは、Xamarin.Forms で同じ見た目、同じ動作のアプリも作成しています。(Forms だと、Device.OpenUriUri に "tel:xxxxxxx" で電話アプリが立ち上がるんですw びっくりしました。)

是非 Hello, iOS と Hello, Android やってみてください♪

次は de:code でもサンプルアプリとしてお見せした Xamarin.Forms の開発手法をご紹介しました。残念ながら、現時点では Xamarin.Forms にはデザイナー、ビューアーがありませんが、C# であれば Sketches を簡易ビューアーとして使っていただけることもご紹介しました。

decodeDemo

GitHub

Azure Web Apps に ASP.NET の Web サービスを立ち上げて、HttpClient で取得したデータを Json.NET でデシリアライズして指定日時の温度を取得して BoxView をアニメーションで回転させる「温度計」のページと、同じく取得したデータを ListView の ItemsSource に指定して DataBindig して表示させる「ListView」のページを用意しました。

「温度計」ページは Xamarin のサンプル をほぼそのまま使わせてもらって、DependencyService で Text To Speech を呼び出しているくらいの簡単なやつです。

「ListView」ページは今回 C#Xaml で用意しました。DataBinding を C#Xaml でどう書くのか?の参考になるかと思います。個人的には、Xaml で書いた方が見やすいのですが、Xaml の IntelliSense が 2階層目くらいまでしか効かず、時々大文字小文字を間違えると UnHandledException で落ちまくるので、Xaml のすべてのコードに IntelliSense が効くまでは C# の方が心に優しいかもしれない感じがしますw 平均を出すロジックでは LINQ を使っています。また、de:code には間に合いませんでしたが、IValueConverter を用意し、DataBinding する際に温度計のアイコン画像の透過度を温度によって変化させることもやっています。

つたないサンプルでお恥ずかしい限りですが、これから Xamarin.Forms を触ってみようという方の参考になれば嬉しいです。

Xamarin 気になった方は

是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の情報が欲しい方はこのブログも購読いただいたりすると嬉しいです。

以上です。