全てのアプリをC#だけで作れる!「Xamarin」はいいぞ!
XamarinはiOSやAndroidのAPIをフルサポートしたアプリ開発ツール。Visual Studioに同梱されており、インストールすればすぐに使用できる。ちょまど氏からは「決して、神奈川県座間市のマスコットキャラクター『ざまりん』ではないですよ」と、冗談も飛び出した。
マイクロソフト入社前よりXamarinを使ってスマホアプリを開発し、このツールを愛してやまないという、ちょまど氏。なぜそれほどまでXamarinに愛着があるのか。それは、ちょまど氏が愛するC#だけでAndroid/iOSのネイティブアプリを作ることができる、クロスプラットフォーム開発ツールだからだ。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の組み合わせは親和性が高い!」とアピールした。
最後のまとめでは、「C#はいいぞ!」「Xamarinはいいぞ!」「Visual Studio 2017が3月7日に出るからよろしくね!」「クラウドはAzure!」と、ちょまどワールドが炸裂し、爆笑の渦の中、セッションは幕を閉じた。
なお、XamarinとAzureで“超効率的に”クラウドと繋がるモバイルアプリを作る方法は、ちょまど氏のブログで紹介されている。ちょまど氏が連載中のWebコミック作品「はしれ!コード学園」と併せてチェックしてみてはいかがだろうか。
お問い合わせ
日本マイクロソフト株式会社
- TEL:03-4332-5300(大代表)
- コーポレートサイト