最近、多くのアプリケーション開発者は、Xamarinがネイティブ開発ツールと見なされることに同意する傾向があります。 実際、「Objective-CまたはSwiftを使用してiOSアプリケーションで実行できるすべて、およびJavaを使用してAndroidアプリケーションで実行できるすべてのことは、Xamarinを使用してC#でも実行できます」という意見があります。
ただし、ネイティブプラットフォームとXamarinプラットフォームの競合には、多くの落とし穴があります。 それでは、Xamarinをネイティブ開発ツールおよびハイブリッドプラットフォーム(Ionic、PhoneGap / Cordova)の開発と比較しましょう。
シャマリン
テクノロジースタック:1つのスタック、1つのコードベース(C#、. Netフレームワーク+ネイティブライブラリ)
コード共有:はい、Xamarin.Formsを使用して最大96%
UI / UX(ユーザーインターフェイス/ユーザー経験):プラットフォームごとに完全にカスタマイズ可能なUIが可能
パフォーマンス:良い、ネイティブに近い
ハードウェア機能:高。 Xamrinはプラットフォーム固有のAPIを使用し、ネイティブライブラリと通信します
TTM(Time-to-Market):c Xamarin.Forms TTMは、制限された構成と高度なコード交換により高速です。
ネイティブ
テクノロジースタック:プラットフォームごとに異なるスタック
コード共有:いいえ、異なるコードベース
UI / UX(ユーザーインターフェイス/ユーザー有効期限):プラットフォーム固有のUIのみ
パフォーマンス:優れた
ハードウェア機能:高。 ネイティブツールはOOTB機能を完全にサポートしています
TTM(Time-to-Market):Xamarin、iOS、およびXamarin.Androidでは、ユーザーコードの量が増えると、より多くの時間が必要になります。
ハイブリッド
テクノロジースタック:1つのスタック、1つのコードベース(JavaScript、HTML5、CCS)
コード共有:はい、100%
UI / UX(ユーザーインターフェイス/ユーザー有効期限):すべてのプラットフォームに共通のUI(制限された構成オプション)
パフォーマンス:中-低
ハードウェア機能:中。 サードパーティのAPIとプラグインを介して機能にアクセスできますが、これらのツールのほとんどの品質と信頼性が低いため、いくつかのリスクがあります。
TTM(Time-to-Market):ネイティブAndroidまたはiOSアプリケーションのTTMは、Xamarin.FormsまたはハイブリッドツールのTTMと同じ場合があります。 ただし、複数のプラットフォーム用のアプリケーションを作成するには、市場投入までの時間を延長するか、関心のある開発者の数を増やす必要があります。
単一のコードベースと最小限の構成のおかげで、ハイブリッドソリューションは市場に早く参入します。 これらのツールは、概念プロジェクトのプロトタイピングにも使用されます。
今日、Xamarinに代わるものはありますか?
ハイブリッドモバイル開発ツールは非常に急速に成長していますが、Xamarinが提供するパフォーマンスとネイティブ機能がまだ不足しています。 同時に、コストは同等のままです。 2つのアプローチ(ハイブリッドとXamarin)を検討する場合、最も一般的なジレンマはXamarin対IonicおよびXamarin対Reactです。 ただし、React Nativeは、基本的なテクノロジー(Webテクノロジースタック)の多くの制限のために人気を失っています。
ただし、少なくともUIの点では、ハイブリッドソリューションを上回るモバイルJavaScriptベースの開発ツールがあります。 NativeScriptについてです。 Telerikがサポートし、単一のコードベースを使用するこのオープンソースのクロスプラットフォームフレームワークにより、ネイティブUIを実装し、ネイティブAPIに接続してモバイルデバイスをより適切に使用できます。 主な違いは、HTML Webブラウザーではなく、AndroidおよびiOSのネイティブ同等物でコンパイルされるXMLマークアップを使用することです。
このアプローチは、ネイティブ開発とハイブリッド開発のギャップを埋めるものであり、その方法はXamarinが行うものと似ています。 2つのツールの主な違いはプログラミング言語です。 したがって、XamarinとNativeScriptの比較は、より詳細な調査の対象となるはずです。
同時に、XamarinとネイティブAndroid / iOS開発の長所と短所の議論はより複雑に思えます。どちらのオプションも、品質とパフォーマンスの点で価値があることが証明されています。 したがって、通常、選択は作成するアプリケーションのタイプによって異なります。
Xamarinを使用するためのヒント
すべての長所と短所を比較すると、これらの欠点が開発に悪影響を与える可能性があると結論付けることは難しくありません。 ほとんどのビジネスオーナーは、コードを共有し、単一の技術スタックを使用することにより、市場投入までの時間とエンジニアリングコストを削減するため、Xamarinプラットフォームを選択します。
チームの経験に基づいて、Xamarinを使用するための最良の選択肢はビジネス向けモバイルアプリケーションの開発であると結論付けることができます。 プロジェクトの90%をカバーする標準インターフェイスにより、製品の論理コアをすべてのプラットフォームで簡単に共有できます。
ソース:
www.altexsoft.com/blog/mobile/the-good-and-the-bad-of-xamarin-mobile-development