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

Xamarin 日本語情報

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

日本Androidの会 2016年9月定例会「クロスプラットフォーム開発最前線」 で喋ってきました

Xamarin Xamarin.Android

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

japan-android-group.connpass.com

日本Androidの会 2016年9月定例会「クロスプラットフォーム開発最前線」で、Xamarin について 30分のセッションと登壇者によるパネルディスカッションをやってきました。

セッション

全体の録画も公開されています(^^)

www.youtube.com

発表資料はこちらです。

日本Androidの会での講演でしたので、基本 Android Java でのネイティブ開発と、Xamarin.Android での開発の違いにフォーカスしつつ、ListView を Xamarin.Android で作ったコード(Android Java そのままの感覚で行ける)と、Xamarin.Forms で作ったコード(C#er の方には馴染みやすいコードビハインドや Mvvm での書き方)をご紹介しました。

Xamarin ネイティブ(Xamarin.Android

github.com

Custom Adapter で ListView を用意する場合はセルの XML を用意して、Adapter クラスを用意して、GetView(int position, View convertView, ViewGroup parent) メソッドに用意したセルの XML の View を割り当てる感じですね。ほぼほぼ Android Java と同じ感じで書けるのが分かると思います。詳細は以下をご覧ください。

ytabuchi.hatenablog.com

Xamarin.Forms

一方、Xamarin.Forms の ListView はコードビハインドにゴリっと書く場合はものすごく少ない行数で書けます。ListView のコレクションにアイテムを追加したり削除したりするコードの場合、次のような感じになります。ObservableCollection を用意して、操作するだけ。ObservableCollection が変更通知を行ってくれるので、XAML 側で適切に Itemバインドしてあげれば動的に ListView がアップデートされます。簡単ですね。

gist.github.com

(簡単ではありますが、Android でのパフォーマンスが出にくかったり、メモリリークしやすかったりと、Xamarin.Forms の ListView はまだまだこれからな感じもします。)

ただ、これだとテストするのも複数人で開発するのも大変なので Mvvm でやるのも良いですよ。ということで Mvvm でのソースもご紹介しました。

ytabuchi.hatenablog.com

ytabuchi.hatenablog.com

パネルディスカッション

インプレス 鈴木さんに MC をやっていただき、MS さんから提供されたお酒をひっかけながらのパネルディスカッションでした。

ストリーミングを止めて際どいご質問などをいただき、返答する私も大変面白かったですし、会場の皆様も楽しんでいただいたようで何よりです(^^)

一点、クロスプラットフォーム開発をやるのは「逃げ」じゃないか?というような突っ込んだご質問をいただきました。

私の個人的な意見としては、「C# しか書けないから、HTML/JS しか書けないからクロスプラットフォームで開発する」というのはネイティブが書ける方からすると逃げに感じるかもしれませんが、どんな形であれ、モバイル開発者が増えるのであればそれで良いんじゃないかと思いますし、iOS/Android ネイティブも Cordova も Xamarin も出来る企業がどの技術を採用するか?はアプリによって使い分けるべきとも思います。出来上がるアプリが全く同じであれば、裏側でどんな技術が使われてるか?は気にしないのがユーザーですし。

Xamarin の場合は、結局 iOS/AndroidAPI を使っていきますし、iOS/Android ネイティブでも書けて、それでもアプリをメンテしていく場合の工数削減が効いてくるという理由で Xamarin を採用してくださっている企業が多いので、事例をいただくのは大変嬉しいです。

次回 JXUG

ということで、後1か月ありますので、Xamarin って面白そうだなと感じてくださった方は是非一本アプリを作って発表してみませんか?

jxug.connpass.com

閲覧でのご参加もお待ちしています(^^)

Xamarin 気になった方は

是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

ytabuchi.hatenablog.com

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。