このページの本文へ

前へ 1 2 次へ

de:code2日目の抱腹絶倒のゆるふわセッション!

Xamarin愛あふれたちょまどトークにde:code会場が萌えた

2016年05月30日 07時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

開発環境の構築からHello Worldのデモまで

 概要の紹介が済んだところで、Xamarinユーザーグループ(JXUG)の田淵義人さん(エクセルソフト)とマイクロソフト高橋忍さんの2人が加わり、技術的な解説に移る。

ちょまど&砂金のゆるふわコンビから、高橋、田淵のガチコンビにマイクが移る

 田淵さんが所属するエクセルソフトは、もともとマイクロソフトが買収する前のXamarinを販売代理店として国内で販売していたという。しかし、Xamarinがマイクロソフトに買収され、さらにXamarin無償化されたことで、「売るものなくなっちゃった~」(ちょまどさん)という状態。「ちょまどさん、楽しそうに笑いますよねえ」という田淵さんの苦笑いに、聴衆は大受け。こうした逆境に負けず、ユーザーグループでXamarinの普及と啓蒙に務めている田淵さんは、Xamarinの基礎技術と開発環境の構築を説明する。

 もともとXamarinは.NETのベースクラスライブラリをOSSとして移植した「mono」をベースにしている。このmonoがさまざまなプラットフォームで .NETのシステム系APIを扱えるほか、さらに各プラットフォームのAPIがC#で使えるようにラップされているため、開発したアプリはマルチプラットフォームで動作するというわけだ。開発はC#をベースに進め、ロジック部分を記述。「『戻るボタン』が一番わかりやすいけど、iOSのメニューがAndroidで出たら、ユーザーはなんだこりゃ?ってなるじゃないですか」(高橋さん)とのことで、UI部分はネイティブUIを使うのが、Xamarinの基本思想だ。

 こうしたXamarinの開発環境は、大きく「WindowsでVisual Studioを使って開発する」「Macだけで開発する」という二択がある。WindowsマシンにはVisual Studio 2015 Update 2 with XamarinやAndroid SDKとJavaが、MacはXcodeとXamarin Studioが必要になる。注意としては、Windows環境でiOSアプリを作る場合は、Xcodeに関するアップルの規約上、ビルドする際にMacが必要になる点。また、MacでWindows Mobileのアプリを作ることはできない。ただ、高橋さんも指摘するとおり、こちらはレアケースなのであまり問題ないようだ。

Xamarinの開発環境

 ちなみに「Windows版にはXamarin Studioはないんですか?」という高橋さんの質問に対しては、Visual Studioに一本化されたため、Xamarin Studio for Windowsは開発されない予定という答えだ。

 重要なのは、セットアップまでの難易度。ちょまどさんによると、「MacでiOSを作るのは超簡単。つまづいた人は見たことがない。ポーンと押したら、パッとできる」とのこと。一方で、Windows環境でiOSアプリを作るのはそもそもビルドにMacがうまくつながらない、プロビジョニングプロファイルが認識されないなどつまづきポイントが満載。マイクロソフトに入る前からXamarinで開発していたちょまど先生のお薦めは、「WindowsでAndroidアプリを、MacでiOSアプリを開発してたんですけど、やっぱりVisual Studioいいですよねえ。クラウドにAzure使っていたので、右クリックからぽーいってデプロイできる」とのこと。

開発環境のセットアップの難易度

 その後は、いよいよHello Worldデモ。田淵さんの説明に従って、ちょまどさんがAndroidとiOSのアプリを作るという流れ。Visual Studioでクロスプラットフォームのプロジェクトを新規で作成し、Nexus上にクリックすると回数をカウントするアプリを実行。ちょまどさんはデザイナーから直接ボタン名を変えたり、IntelliSenceを活用してコードを修正し、Visual Studioの使い勝手をモバイル開発にも活かせるところをアピール。同じくXamarin StudioでもiOSのエミュレーターでアプリを作り、実行が成功すると、聴衆から拍手を受けた。

Xamarinによるライブデモ。クリックされたよと表示

パッと、ササッと作りたい人はXamain.Formsで

 デモの後は、今後のXamarinという話に移る。最初に田淵さんが紹介したのは、ベーシックUI部分を開発できる「Xamarin.Forms」だ。

Xamarin.Formsはロジック部分のみならずUI部分まである程度開発できる

 前述したとおり、Xamarinはロジック部分を共通化し、UI部分は各プラットフォームに依存するというのがコンセプトとなっている。しかし、実際の開発においては、やはりUI部分もXamarinでまとめて作りたいという要望が出てきた。こうしたニーズに対応すべく、約2年前に追加されたXAMLベースのUIのライブラリがXamarin.Forms。Xamarin.FormsによってUIコードも統一し、画面の共通化を実現できるという。一方で、Xamarin.Formsを使わず、UIを独自で作る開発スタイルをXamarin Nativeと呼ぶ。

 Xamarin.Formsではいくつかのページが用意されており、レイアウトに従って、コントロールを配置することで、UIを作ることができる。田淵さんは、「コントロールは19個しかないけど、ベーシックなアプリは作れる」と説明し、ちょまどさんは、「パッと作りたい場合はXamarinで、パッとササッと作りたい場合はXamarin.Formsを使います」と説明。

Xamarin.Formsのレイアウト

19種類のコントロール

 Xamarin.Formsの特徴はネイティブUI重視ということで、操作がプラットフォームごとのマッピングされる点。田淵さんは「同じコードで、iOSのタブは下に、Androidは上に来る。マップはiOSは標準の地図、AndroidはGoogle Map、Windows MobileはBingを使います」と語る。

方言の存在する.NETベースライブラリは共通化へ

 今後のXamarinについては高橋さんが説明する。現在、マイクロソフトのクライアントテクノロジーは.NETをベースに開発フレームワークが構成しているが、Xamarinが追加されたことで、従来の.NET Framework、OSS化した.NET Core、そしてXamarinという3つのライブラリが存在する。これにより、ベースライブラリごとに使えるAPIに方言が出現することになり、開発者の負担になっている。

 そのため、今後は将来的には.NETのベースライブラリを共通化する方向性だ。高橋さんは、「開発者は1つのビジネスロジックと書いて、それをコンパイルすれば、あとはターゲットにあわせてぽーいっとすればOKになるのが理想の姿」とちょまど風に説明。

ライブラリごとに方言が出てきている

今後は.NETのベースライブラリを共通化する方向へ

 そして、こうしたライブラリ共通化をどれくらい急ぐべきなのかを判断するためには、開発者のフィードバックが重要になると砂金さんは指摘。アンケートのフリーコメントに熱いコメントを寄せるよう、聴衆に依頼した。

 最後、Xamarin社の創業者2人がマイクロソフトでインターンしていた時に出会ったといった「萌え話」を披露したちょまど先生は、「すぐに始めよう。環境構築は大変だけど、がんばって」「Xamarinのユーザーグループ『JXUG(ジェザグ)』があります」「これからよろしくね」とまとめてセッションを締めた。マイクロソフトによる買収と無償化で、ますます注目を集めるXamarinの魅力が十二分に伝わる楽しいセッションだった。

ちょまど先生によるXamarinセッションのまとめ

初出時、Xamarin Studio for Windowsは入手不可と記載しましたが、Monoの開発者ページからはダウンロード可能とのことなので、訂正しました。本文は訂正済みです。(2016年5月30日)

■関連サイト

前へ 1 2 次へ

カテゴリートップへ