ダウンロード 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が稼働しているマシンが必要です。
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エディションでは利用できません。
この記事は参考になりましたか?
- 現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(Xuni)連載記事一覧
-
- 「Xuni」のXamarin.Forms向けコントロールセットを使ってデータを可視化してみ...
- Xamarin.Formsの弱点、グラフ表示を補強できるコンポーネント「Xuni」を使って...
- この記事の著者
-
初音玲(ハツネアキラ)
国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア

