SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2014】セッションレポート (PR)

【デブサミ2014】13-C-6 レポート
WindowsアプリがiOS/Androidアプリに! Xamarinの実力を披露

  • このエントリーをはてなブックマークに追加

WindowsアプリからiOS/Androidプロジェクトを自動生成

 ここまでの説明を終えた渡辺氏は、次にVisual StudioとXamarinによるクロスプラットフォーム開発のデモを披露した。

 最初はWindowsストアアプリ(Windows 8アプリ)。当然ここではXamarinは必要ないのだが、クロスプラットフォーム開発の話なので、話の流れ上デモが行われた。

 Visual Studioを起動し、Windowsストアアプリのテンプレートを選択すると、Windowsストアアプリのプロジェクトを含むソリューションが作成される。そこから通常のネイティブアプリ開発を行うと、これがAndroidアプリやiOSアプリの「元」となる。

 次はAndroidアプリ。XamarinがインストールされているVisual Studioで、先ほどWindowsストアアプリを作成したソリューションを右クリックし、[新しいプロジェクト]を選択すると、Androidアプリのテンプレートも表示される。これを選ぶと、ソリューションにAndroidプロジェクトのファイルが生成される。開いてみると、Visual Studioの中でAndroid Designerが立ち上がり、toolboxからボタンを入れるといった作業ができる。ソースコードを見ると、普通にAXMLで書かれていることがわかる。

 残すところはiOSアプリ。先ほど作成したAndroidアプリのソリューションを右クリックすると、iOSのテンプレートも入っている。ビューコントローラーを見ると、そのままC#だが、ボタンを追加するなどの作業は問題なく行える。残念ながら、iOSシミュレーターとStoryboard、Interface BuilderはWindowsに対応していないので、この部分に関してはMac上で作業する必要がある。

 また、デバッグするにはMacとVisual Studioを接続しなければならない。Visual StudioにXamarinをインストールすると、設定に[Find Mac Build Host]というボタンが現れる。これをクリックすると、ネットワーク内にあるXamarin.iOS Build Hostが起動しているMacを探してくれる。対象となるMacでXamarin.iOS Build Hostを起動して接続するためのPIN番号を取得し、その情報をWindows側で入力すれば、接続が完了する。この環境により、Windows上のVisual Studioで、Mac側で立ち上がったiOS Simulatorを使ったデバッグが行えるようになる。

 ここまでのデモでは、それぞれのプラットフォーム上に向けて別々に作業が行われたが、それをクロスプラットフォーム化する「PCL」(Portable Class Library)という仕掛けがある。これは、複数の.NET処理系に対し、バイナリレベルで再利用できるライブラリを作成するものだ。

PCL(Portable Class Library)
PCL(Portable Class Library)

 ビジネスロジックやデータ、抽象化された機能などの部分をPCLとして共通化し、プロジェクトを作っていく。その共通部分を、ネイティブのUIを定義しているプロジェクトから参照することにより、クロスプラットフォーム開発を効率的に行えるようになる。

 ここまでがXamarinの大きな流れだが、スマートデバイス向けのアプリが、クライアント上だけで完結することは少ない。通常はクラウドに繋ぐことになる。その意味で、「バックエンドをどう共通化していくかに留意する必要がある」(渡辺氏)

 Windows Azureにはモバイルサービスという仕掛けがあり、これを使えばバックエンドを簡単に作成できる。管理画面を見てみると、Windowsだけでなく、Android、iOSを対象とするプッシュ通知や、Facebookでのログインなどを設定するための項目が並んでいる。Xamarinに関するドキュメントも用意されており、すぐに開発を始めることができる。

 さらに、Visual StudioからXamarinが公式に運営しているマーケットプレイス「Xamarin Component Store」に入り、様々なコンポーネントを追加することができる。中には、Azureモバイルサービスに公式に対応したコンポーネントもある。

 セッションの最後に、渡辺氏はXamarinで使えるMVVMフレームワーク「MVVMCross」を紹介。デモでは、MVVMCrossを活用して共通ロジック部分をPCLとして作成し、クロスプラットフォームに展開していく様子が披露された。

スピーカー紹介

渡辺友太(わたなべゆうた)

日本マイクロソフト株式会社 テクニカルエバンジェリスト

Blog:Yuta Watanabe’s Blog

Twitter:@YutaWatanabe

セッション資料:XamarinとVisual Studioでまとめて作るiOS / Android / Windowsアプリ (Developers Summit 2014)

セッション関連情報:XamarinとVisual Studioでまとめて作るiOS / Android / Windowsアプリ (Developers Summit 2014)

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2014】セッションレポート 連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7683 2014/03/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング