Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

合言葉は「Xamarinはいいぞ!」――ライブコーディングを交えてアピールされた、C#とVisual Studio 2017の魅力【デブサミ2017】

【17-A-4】C#で簡単にモバイルアプリを作ろう!

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/03/27 14:00

目次

全てのアプリをC#だけで作れる!「Xamarin」はいいぞ!

 XamarinはiOSやAndroidのAPIをフルサポートしたアプリ開発ツール。Visual Studioに同梱されており、インストールすればすぐに使用できる。ちょまど氏からは「決して、神奈川県座間市のマスコットキャラクター『ざまりん』ではないですよ」と、冗談も飛び出した。

 マイクロソフト入社前よりXamarinを使ってスマホアプリを開発し、このツールを愛してやまないという、ちょまど氏。なぜそれほどまでXamarinに愛着があるのか。それは、ちょまど氏が愛するC#だけでAndroid/iOSのネイティブアプリを作ることができる、クロスプラットフォーム開発ツールだからだ。Android/iOSの両方でアプリを作りたい場合でも、個別の言語を使わずにコードを共通化させることができる。

C#でAndroid/iOSアプリ開発
C#でAndroid/iOSアプリ開発

 通常のモバイルアプリ開発では、iOSの場合、言語はSwiftやObjective-Cを使用し、IDE(統合開発環境)はXcodeを用いる。AndroidならJavaとAndroid Studio、WindowsならC#とVisual Studioというように、言語やツールがバラバラに分かれてしまっている。その結果、スキルやコードの再利用ができず、プラットフォームごとの実装差異が生じてしまう。バージョンの表記方法が異なることや、修正対応のタイミングがずれるケースも発生する。当然ながら、それぞれの言語にかける習得コストもかかるため、iOSとAndroidで開発チームを分けている会社も少なくないだろう。

 「iOSアプリもAndroidアプリも全部同じ、1つの言語/IDEで開発できたらなあ」と思うのは自然なこと。「そこでXamarinですよ!」と、ちょまど氏。iOSアプリやAndroidアプリ、そしてUWP(ユニバーサルWindowsプラットフォーム。Windows 10 デスクトップや Windows 10 Mobileで動く)アプリなどを、全てC#およびVisual Studioで開発できる。

 さらに、コードの共通化はバックエンド/UIを問わない。例えば画面にアラートを出す場合、以下の例の通り1行記載するだけで全てのプラットフォームで動作する。

画面にアラートを出すときの記載例
画面にアラートを出すときの記載例

 このように言語の習得コストをかけず、共通化したコードで実装差異を排除できる点がXamarinの最も大きなメリットといえる。例えば数式を描画するノートアプリ「Calca」、回路設計アプリ「iCirkit」、フローチャートを描画する「Touch View」は全てXamarinで作られているが、ソースコードの6〜9割はOSを問わず共有されている。ただし、どうしても共有化できない部分として、バッテリーやGPS、ライト、通知などのハードウェアに依存するものは残ってしまうとのことだ。

 開発環境は、WindowsはVisual Studio、MacはXamarin StudioまたはVisual Studio for Macとなるが、iOSアプリにつける「証明書」発行やiOSのSDKなどがXcodeにしか無いため、WindowsでiOSアプリを開発する場合は、別途ビルドホストとしてMacに接続する必要がある。

それぞれのアプリケーションを開発する際に必要な環境
それぞれのアプリケーションを開発する際に必要な環境

 ここまでの説明を聞くと「あまりに話がうますぎる」と、機能的制約があるのではないかと心配する人もいるだろう。しかし、ちょまど氏は「ご安心ください!」と断言。Xamarinは各プラットフォームのネイティブUI/APIを100%利用可能であり、アプリのパフォーマンスもネイティブアプリと変わらない。しかもiOSの場合は「Same-day Support」を掲げており、常に最新の状態が保たれ、新しいiOSのバージョンが出たとしても、24時間以内に対応される。また、Apple WatchやApple TV、Android Wear、Amazon Fire TV、Google Glassなどの新しいデバイスも完全にサポートしている。

 となれば「高価」なのではないか、という懸念があるかもしれない。確かに以前は開発者1人につき年間12万円程度がライセンス代としてかかり、Android/iOSの両方を開発する場合は倍額の約24万円が必要だった。そのため当時はユーザーも少なく、インターネット上を検索しても情報がほどんどない状態だった。しかし2016年2月にマイクロソフトがXamarin社を買収し、2016年4月以降はXamarinが無料でVisual Studioに付属するようになった。

 Xamarinの採用実績には、コカ・コーラやアラスカ航空、Tableauなどがあり、世界中で使われていることが分かる。日本では三井住友銀行の住宅ローン事前審査アプリや、NHKの紅白公式アプリに採用されている。

Visual Studioは今年で20周年! サクッとAzureをアピールし、駆け足でまとめ

 最後にXamarinが無料で付属するVisual Studioにも触れ、無償版があること、20周年を記念してイベントがあることなどを駆け足で紹介。さらに、近年のモバイルアプリでは必ずといっていいほど搭載される「プッシュ通知」や「ログイン認証」「ユーザーデータ保存」などの機能を含むmBaaS、「Azure Mobile Apps」を紹介し、「クライアントはXamarin!サーバサイドがAzureの組み合わせは親和性が高い!」とアピールした。

XamarinとAzureの親和性は高い
XamarinとAzureの親和性は高い
Azure Mobile Apps:モバイルアプリに必要な全ての要素を集約
Azure Mobile Apps:モバイルアプリに必要な全ての要素を集約

 最後のまとめでは、「C#はいいぞ!」「Xamarinはいいぞ!」「Visual Studio 2017が3月7日に出るからよろしくね!」「クラウドはAzure!」と、ちょまどワールドが炸裂し、爆笑の渦の中、セッションは幕を閉じた。

 なお、XamarinとAzureで“超効率的に”クラウドと繋がるモバイルアプリを作る方法は、ちょまど氏のブログで紹介されている。ちょまど氏が連載中のWebコミック作品「はしれ!コード学園」と併せてチェックしてみてはいかがだろうか。

お問い合わせ

 日本マイクロソフト株式会社



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

著者プロフィール

バックナンバー

連載:【デブサミ2017】セッションレポート

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5