Xamarin クロスプラットフォームの導入検討結果

xamarin

はじめに

XamarinとはiOSとAndroid向けにクロスプラットフォームのネイティブアプリを開発できる開発ツール。
私自身がクロスプラットフォームのネイティブアプリに以前から興味があり
実際のところどうなんだろうと思いXamarinの特徴から使いどころについてまとめてみました。

 

Xamarinの特徴

Xamarinには下記の3つの特徴がある。

(1) C#で記述。
AndroidはJavaで、iOSはSwiftまたはObjective-Cで記述するが、C#でクロスプラットフォームのネイティブアプリを開発できる。
即ち、コードの共通化ができ、プラットフォーム間の実装差異を減らせる。
例として日付のyyyy/mm/ddとyyyy-mm-ddとか、桁数がフィーリングしないだとか・・・。
開発途中に仕様が変わってiOSは直っているけど、Android だけ追従できないとか・・・。

(2) UIやデバイス周り等はiOS、Androidでソースを分ける。ビジネスロジックは共通。
iOS、AndoroidのOSに依存するUIやデバイス等の処理についてはソースを分ける。
逆にOSに依存しないビジネスロジック等についてはソースを共通化する。

(3) ネイティブアプリを作成できる。
Xamarinで作成したアプリは、コンパイルしてネイティブアプリとすることができる。

■使いどころ、開発事例

開発でどのような事例があるか調査した結果、
・処理が複雑で個別に開発すると手戻りや差異がでてしまいそうな時。
・今後Windowsへの展開も視野に入れている。
・もともとC#のエンジニアが多い企業で使われている。
という事例・意見が多いことが分かった。

C#のエンジニアからすればJavaやSwiftまたはObjective-Cを勉強しなくても書けちゃう点は
すごく魅力的なツールだと思った。

 

デメリット

Xamarinのメリットばかり説明しましたが、少なからずデメリットもあります。

例えばC#のエンジニアであっても、プラットフォームのフレームワーク双方に知識が必要であったり
通常の開発よりも一段階上の設計が求められたり・・・。
習得するまでに時間はかかるものの、その分使いこなせれば大きな恩恵を得ることができる。

また、Android StudioやXcodeなどの無料の統合開発環境とは異なり、Xamarinは有料かつVisual Studioが必要となる。

さいごに

実際にXamarinを活用してアプリ開発をおこなうとなると、AndroidとiOSのフレームワークの知識が求められる。
そのため、実際に各OSごとにアプリを開発し実績を積む必要があると感じた。
また、Xamarinを使用するのに費用が発生するため、マネタイズの必要がある。

まずは、クロスプラットフォーム開発を行うのはやめて、Androidでアプリを作ってみることを決意した。

 

2016/06/08 岡広:XamarinはVSに統合されたため有料の部分を削除
参考URL:http://www.xlsoft.com/jp/products/xamarin/xamarin-for-all.html

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です