Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Xamarin.Formsの弱点、グラフ表示を補強できるコンポーネント「Xuni」を使ってみた

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

ダウンロード Sample.zip (306.6 KB)

 日本におけるスマホシェアの状況はアメリカを除く海外の状況と異なっています。それは、iOSのシェアが他国に比べて高いという点です。そのため日本のスマホアプリは、iOSとAndroidの両方をサポートして初めてスマホ対応と呼ぶことが許されるような状況にあります。さらに、4年ぶりにWindows Phoneが新発売されるなど、iOSとAndroidだけではなくWindows Phoneの対応についても検討する必要性が生じてくるでしょう。

目次

 同じロジックを3プラットフォームのそれぞれの開発言語で開発するというスタイルもあるかも知れません。しかし、Xamarinを使って同じロジックを共通ライブラリ化して製造の工数を圧縮したり、品質を均一にしたりできることを考えると、これらの開発部分を極力少なくして共通化を進めることで開発コストや期間の圧縮が可能になります。

 また、Xamarin.Formsを使えばロジックだけではなく画面定義も3プラットフォーム共通です。しかし問題がないわけではありません。Xamarin.Formsはまだ発展中のコンポーネントであり、業務アプリやIoT関連アプリをつくるのに必要なグラフ表示などが決定的に不足しています。

 今回ご紹介する「Xuni(ズーニー)」は、このXamarin.Formsの弱点をカバーするコンポーネントになります。

Xamarinとは

 「Xamarin」とは、Xamarin社が販売・提供しているiOS、Android、Windows Phone用のマルチプラットフォーム開発環境です。その基礎となる技術は.NET Frameworkのオープンソース版のMonoです。Xamarin社とMicrosoft社はXamarin開発で協力体制を敷いています。

 また、iOSやAndroidのバージョンアップにもほぼ即日対応しており、この点でもiOSやAndroidの開発環境としては信頼できるものと判断できるでしょう。

Xamarinの開発環境

 Xamarinの開発環境は、Xamarin社がWindowsとMac OS用にXamarin Studioを提供しています。Xamarin StudioはMonoの開発環境であるMono Developmentがベースとなっています。

 さらにWindowsであれば、Visual StudioをXamarinの機能に対応させるVisual Studio拡張も提供されています。Visual Studio拡張なのでVisual Studio Expressでは利用できず、Visual Studio Community EditionもしくはVisual Studio Professional以上のエディションが必要です。

 Windows版のXamarin StudioやVisual Studio拡張を使用する場合、AndroidやWindows Phoneの開発はすぐにできますが、iOS版の開発にはビルドやシミュレータ実行にXamarin 、Xcode、iOS SDKがインストールされたMac OSが稼働しているマシンが必要です。

図1 Xamarinの開発環境
図1 Xamarinの開発環境

Xamarinの実行環境

 Android、Windows PhoneとiOSでは、Xamarinの実行環境の構成が異なります。

 Androidの場合、C#のコードは.NET中間言語にビルドされ.NET Framework互換のXamarinランタイムと一緒にネイティブAndroid APKとして配布されて動作します。Windows Phoneでも同様に.NET中間言語にビルドされて配布された先の環境で動作します。

 一方、iOSの場合は、XamarinのAhead-Of-Time(AOT)コンパイラが、Apple App Store向けのARMアセンブリコードとして配布されて動作します。

 若干の違いはありますが、Xamarinで作成したアプリの処理速度は、JavaでAndroidアプリ、Objective-CでiOSアプリを作成する方法と比べても遜色ない速度で動作します。

Xamarinのエディション

 Xamarinには、Enterprise、Businessなどの有償エディション、学生向けのINDIEエディション 、そして無償評価版であるStarterエディションがあります。

 なお、起業して3年以内、従業員数が20名以下の企業、開発者が3名以下でスタートする場合は特別価格が適用されるのでXamarin社に直接問い合わせてみましょう。

Xamarin.Formsとは

 Xamarinは、もともとロジック層の共通化を主眼に置いており、画面デザインについては、iOSならばStory Board、AndroidならXMLでそれぞれ個別に画面デザインを行うことが前提となっていました。

 その状況が大きく変わったのがXamarin.Formsの登場です。Xamarin.Formsは、WindowsストアアプリやWindows Phoneストアアプリ、そしてWindows 10でのUniversal Windows Appsにも採用されているXAMLライクなXAML(筆者はXamarin XAMLと呼んでいる)を使って、iOS、Android、Windows Phoneで共通の画面定義が可能です。これにより、ロジックも画面デザインも共通化できます。

 Xamarin.Formsは、Starterエディションでは利用できません。


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

著者プロフィール

  • 初音玲(ハツネアキラ)

    国内SIerのSEで受託開発を主に行っています。Visual Basic + Oracleという組み合わせに関する事が得意です。 Internet of Thingsという名前もよく聞くようになってきてセンサーとクラウドという組み合わせに注目があつまっています。Kinectなどのモーションセンサー...

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