このページの本文へ

前へ 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トピック

    情シス人材不足でも「採用予定なし」中小企業の意見/“従業員発のSNS炎上”6割の企業が懸念/「SNS疲れ」利用を減らす効果的方法、ほか

  2. 2位

    ビジネス・開発

    「Gemini Enterprise」に大規模導入の波 ― SOMPO・NTTデータ・Skyが描く“エージェント企業”への進化

  3. 3位

    sponsored

    キャッシュレス決済の利用シーンを広げる 三井住友カードの「stera terminal light」とソフトバンクのIoT回線

  4. 4位

    YouTube

    ぶっちゃけ、あのSaaSってどう!? 情シスがガチ格付け! 本当に使えるツールを決める最強SaaSティア決定戦!!

  5. 5位

    sponsored

    “120TB消失危機”を救ったBox。ゼネラルが挑むグローバルデータ統合の舞台裏

  6. 6位

    sponsored

    60年の時を超え「COBOL」がGitHub Copilotでよみがえる 勘定系アプリの“超難関”モダナイに7社が挑戦

  7. 7位

    データセンター

    「関東・関西に次ぐDC集積地」目指す 北海道・石狩でデータセンター連合 さくら、NTT東らが参画

  8. 8位

    TECH

    プロアクティブDNSでDNSをセキュリティ基盤へ 福岡大学でも「運用課題なし」の実績

  9. 9位

    デジタル

    異常検知からロボット走行、車両制御まで —— 現場を遠隔化・自動化するSORACOM活用のIoTソリューション

  10. 10位

    Team Leaders

    Power AutomateでSharePointリストにある申請データ一覧をメール送信する方法

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