このページの本文へ

前へ 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 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    ITトピック

    PC価格高騰で4割の企業が「調達を延期」/“謎のExcelマクロ”は業務継続リスク/日本のデジタル行政、利用率・満足度とも最低レベル、ほか

  2. 2位

    ビジネス・開発

    「ドラクエXの世界観を壊さない」Gemini実装 プロンプトからセキュリティ、サーバー設計まで工夫の数々

  3. 3位

    ビジネス・開発

    首都高が「AIの高利用者」を1年で10倍に 非IT人材に刺さったGemini Notebookと“泥臭い”浸透策

  4. 4位

    TECH

    【提言】フロンティアAIが生む“脆弱性パッチの波” 企業はパッチ適用プロセスの見直しを

  5. 5位

    TECH

    「SCS評価制度」取得を目指す中堅・中小製造業のリアル 富士工業が考える「セキュリティは経営に役立つのか」の答え

  6. 6位

    TECH

    生命がわずかな熱を細胞内で維持する新しい原理を発見

  7. 7位

    デジタル

    約3000人のハッカーが侵入できなかったpCloud すべてはユーザー自身のデータを守るため

  8. 8位

    デジタル

    属人化の解消は多忙な“Aさん”を救うことから 切り札は「kintone×AI」を自然に使わせる仕組み

  9. 9位

    デジタル

    平均年齢60歳の現場を変えたZ世代女子 kintoneで電話・紙・入力をなくしたら、仕事が楽しくなった

  10. 10位

    デジタル

    大企業導入も順調なkintone AI時代の“市民開発×ガバナンス”基盤を目指す

集計期間:
2026年08月19日~2026年08月25日
  • 角川アスキー総合研究所