個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Microsoft MVP for Developer Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

Xamarinを始める前に知っておきたいこと。 Xamarinで何が時短できるのか? ②開発工数を時短!

JXUGC #13 東京 緊急開催 Xamarin のすべて!でお話した内容ですが、限られた時間でうまくお伝えできたか不安な部分を再度ご説明したいと思います。

セッションのスライドはここです。

今回は開発工数の時短についてご説明します。

まずは、下の図をご覧ください。

f:id:hiro128:20160516210718p:plain

時短ポイント 1 Visual Studio 上で C# で開発できる

使い慣れた Visual Studio 上で、使い慣れた C# で開発できることが最大のアドバンテージです。
また、ReSarper などのアドインもそのまま使えるものが多いのもポイントです。

もちろん各プラットフォームのAPIの知識が必要なので、WPF や ASP.NET の開発のようにスムーズには行きませんが
C#しか知らない開発者が Xcode + Objective-C で慣れない環境や言語で開発する場合に発生してしまう時間のロスは無くなりますので、
確実にその分は時短できます。


時短ポイント 2 App Logic 部分をワンソースで共通化できる

Xamarin Native, Xamarin Forms どちらの場合でも PCL の App Logic 部分をワンソースで共通化できます。
ロジック部分はプラットフォーム依存度が少ないため、iOS, Android に不慣れなことによる時間のロスも少なく比較的スムーズに開発できます。

初回の開発時の工数はおおよそ半分となる上、改修時の管理も集約できるため、時短効果も非常に大きいです。
また、ロジック部分の単体テスト工数もほぼ半分になります。

各プラットフォーム個別で同じロジックを違う言語で2つ、3つ書くのは非常に手間も掛かる上、
どれだけ努力してもそれぞれのプラットフォームごとで微妙にプログラムの構造が違ってしまうためテストの工数もそれぞれ2倍、3倍以上になってしまいます。
また、改修部分の管理も非常にデリケートとなり、iOSでは簡単だった改修が、Android では非常に手間が掛かってしまうような事態も珍しくありません。
Xamarin を利用すればそのようなリスクをすべて回避できます。この時短効果も非常に大きいと言えるでしょう。


時短ポイント 3 ラムダ式, async/await, LINQ などが使える

PCL は .NET Framework のサブセットであるため、かなりのレベルで .NET の資産が使えます。
例えば、ラムダ式, async/await, LINQ など C#の便利な機能が Windows 開発と同様に使えます。

さらに Azure との連携も簡単で Azure Easy Tables 等が簡単に利用できるため、
ソーシャルゲームのように膨大なトランザクションの処理が必要で AWS が必須なシナリオで無ければ、バックエンドの構築も大幅な工数削減が可能です。

以上が、Xamarin で開発することによる、開発工数の時短ポイントです。
C#の開発者であればかなりの時短効果があることがご理解頂けたのではないでしょうか。

今回はここまでです。


次の記事、「Xamarinを始める前に知っておきたいこと。 Xamarin Native と Xamarin.Forms どちらで開発すべきなのか?」はこちらです。

前の記事、Xamarinを始める前に知っておきたいこと。 Xamarinで何が時短できるのか? ①知識の習得を時短! はこちらです。