読者です 読者をやめる 読者になる 読者になる

iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

Xamarin を LOB に使う事の現実味

今回の記事担当、コクブンです。
前回からまたまた 4 ヶ月ぶりですね。
今回も私らしく Microsoft なネタをひとつ。

Xamarin とは

Xamarin*1 は Mono*2 をベースとした「クロスプラットフォーム開発環境」、と捉えて差し支えないと思います。
実際、 iOS / Mac OS X / Android / Windows と多岐のプラットフォーム向けアプリケーションの開発が可能になっています。
特徴としては、「 C# / .NET での開発が可能」、「ネイティブ API 100% 移植」、「 Visual Studio 上で全てのプラットフォーム向けアプリケーションを開発可能」と云ったところがあります。

C# / .NET での開発が可能

Xamarin は Mono ベースのため、開発言語は C# を利用する事になります。したがって、非同期や LINQ と云った C# 言語の恩恵をフルに活用する事が可能です。

ネイティブ API 100% 移植

Xamarin の API は各プラットフォームのネイティブ API が(基本的に) 100% 移植されています。
そのため、各プラットフォームの機能をフルに利用したアプリケーションの開発が可能です。
また、開発言語自体は C# ですが、実際のアプリケーションは各プラットフォームのネイティブアプリとしてパッケージングされる*3ため、 Objective-C / Java で作成されたネイティブアプリと遜色のない実行速度を提供出来ます。

Visual Studio 上で全てのプラットフォーム向けアプリケーションを開発可能

最新版である Visual Studio 2015 では統合開発環境の一部として Xamarin が含まれている*4ため、 UI を含めて全てのプラットフォーム*5向けアプリケーションの開発を Visual Studio 上で行う事が可能です。
また、 Xamarin 開発環境には Android エミュレータも含まれているため、 Android 向けアプリケーションについてはエミュレータによる動作検証まで Visual Studio 上で出来ます。
iOS については次の Visual Studio アップデートでシミュレータ*6が追加される予定です。

銀の弾丸」ではない

もちろん、 Xamarin は万能ではありません。
「 Xamarin を採用したらみんなハッピー」を望んでいる場合は注意が必要です。
※具体的には鈴木友宏氏の資料が非常に参考になるかと思います。

Xamarin 、 Microsoft に買収されたってよ

元々 Xamarin は Xamarin 社によって提供される有償の開発ツールでしたが、先日、 Xamarin 社が Microsoft に買収され子会社となった事で Visual Studio に無料で付属する形式*7に替わりました。
この事により、今後は更に幅広く Xamarin が利用される様になっていくのではないかと思われます。

そして「 Xamarin を LOB で使う」時代へ

これまでも、フェンリル社の「 NHK 紅白」やライフベア社の「Lifebear」等、 BtoC アプリケーション開発プラットフォームとして Xamarin が利用されている事例はありました。
しかし、Visual Studio の付属ツールとなった事、また MPN (Microsoft Partnet Network) の社内使用ライセンスプログラム特典としても Xamarin が利用出来る様になった事で、 BtoC だけでなく BtoB アプリケーション開発プラットフォームとしても Xamarin を利用する事がより現実味を帯びてきたと言えると思います。
特に、 BYOD (Bring your own device) やテレワークの増加による作業環境の多様化によって、今後 LOB (Line of Business) を実行するプラットフォームも多様化の一途を辿る事は容易に想像出来ます。(既にその動きが広まっている業種も多いでしょう)
その様な流れの中で Xamarin は確実に優位に立っていく事になるのではないでしょうか。

(宣伝) Xamarin の事も学べる de:code 2016

1 年前に参加報告を投稿した de:code ですが、今年も 5/23, 24 の 2 日間に開催されます。
今回取り上げた Xamarin に関するセッションもありますし、それ以外にも Microsoft の各種技術・製品に関する多数のセッションが満載ですので、興味のある方は参加してみてはいかがでしょうか。

*1:「ザマリン」と読みます

*2:.NET のオープンソース実装

*3:iOS 向けでは .ipa パッケージが生成されます。 Android 向けでは JIT コンパイラを備えた仮想マシンと Mono ランタイムがパッケージに内包される様です。

*4:ライセンス等の制限はあります。

*5:Mac OS X は除く。( Xamarin for Mac については Mac 上で動作する Xamarin Studio を使用して開発する必要があります。)

*6:あくまでもシミュレータなので、動作には Mac 本体が必要になる様です

*7:Visual Studio Community Edition にも付属するため、「 Xamarin が無料になった」と表現している方もいます。