読み取り時間:16分
iOSやAndroidアプリの開発を考 ネイティブテックスタックと考えられているので、iOSとAndroidアプリの開発に関しては、当然最も頻繁に使用されるモバイル開発ツールです。 しかし、パフォーマンスとユーザーフレンドリーなモバイルアプリを構築するためのより多くの方法があります。 そしてXamarinもその1つです。 この記事では、Xamarinの詳細なレビューを行い、市場のネイティブおよびクロスプラットフォームのモバイル開発ソリューションと比較します。 基本を知っていれば、あなたが興味があるセクションにとばすことを考慮しなさい。Xamarinとは何ですか?モバイルアプリケーション開発の重要なアプローチについて話すとき、Xamarinを無視することは不可能です。 Xamarinは、クロスプラットフォームのモバイルアプリ開発に使用されるツールで、エンジニアは主要なプラットフォーム間で最大90%のコードを共有できます。 比較的新しいツールであること、それはMicrosoftの技術スタックに基づいており、すでに1.4万人以上の開発者のコミュニティを持っています。
プラットフォームは、Miguel de Icazaが率いる.NET Frameworkに基づくオープンソース開発プラットフォームであるMonoの開発者によって構築され、2001年に最初に導入されました。 Xamarin社は2011年5月16日に設立されました。しかし、その前身とは異なり、Xamarinは2016年にMicrosoftに買収されるまで商業プロジェクトとして作成されました。 Xamarinは、Microsoftエコシステム内でモバイルアプリを開発するための人気のあるクロスプラットフォーム製品となりました。 この買収は、Xamarinを使用するための財政的障壁を破りました。 Microsoftがxamarin SDKをオープンソースにしたため、Xamarin Visual Studio統合開発環境の一部となりました(以下では、Xamarin開発に使用するのに最適なIdeについて説明します)。 Xamarinの主な機能は何ですか?
C#言語。 Xamarinは、すべてのモバイルプラットフォーム用のアプリを作成するために、単一の言語であるC#を使用します。 Appcelerator Titaniumのような解釈されたソリューションとは異なり、Xamarinはネイティブコンパイルされているため、ネイティブのルックアンドフィールで高性能アプリを構築するためのオプションとなっている。
.NET frameworkに基づいています。 C#は、予期しない動作からコードを防ぐ強力な安全型付けを備えた成熟した言語です。 C#は.NET framework言語の1つであるため、ラムダ、LINQ、非同期プログラミング(async/await)などの多くの便利な.NET機能で使用できます。
技術的に言えば、Xamarinはc#とネイティブライブラリを使用してラップされています。クロスプラットフォームアプリ開発のためのネット層。 このようなアプリケーションは、パフォーマンスとユーザーエクスペリエンスの点で、iOSとAndroidの両方のモバイル開発プラ さらに、Xamarinはすべてのネイティブおよび最新のAPIアクセスを活用して、iOSやAndroidマルチウィンドウのARKitなどのXamarinアプリの基盤となるプラットフォーム機能
ビジネスロジック、データベースアクセス、ネットワーク通信に関連するコードはすべてのプラット したがって、Xamarinクロスプラットフォームアプリは、一般的なハイブリッドアプリと比較して、より良いユーザーエクスペリエンスを提供し、任意のデバ
コンパイル。 プラットフォームには2つの主要な製品があります:Xamarin。iOSおよびXamarin。アンドロイド… IOSの場合、ソースコードはネイティブのARMアセンブリコードに直接コンパイルされ(事前コンパイル)、Android Xamarinアプリは最初に中間言語にコンパイルされ、実行時 ただし、どちらの場合も、プロセスは自動化され、デフォルトではメモリ割り当て、ガベージコレクション、プラットフォームの相互運用性などの問題を処理
Xamarin。フォーム。 Xamarin。Formsは、iOSとAndroid間でコードの最大100パーセントを共有するプロトタイプやモバイルアプリを作成するために設計された別の製品です。
Xamarin。マック さらに、エンジニアはXamarinを使用できます。Macは、Mac OS用のアプリケーションを構築します。 これらとXamarinスタックの他のいくつかの製品については、少し説明します。
プラットフォームSdk。 Xamarinは、単純なC#構文を介してプラットフォーム固有のSdk(IosおよびAndroid SDK用のCocoa Touch)へのアクセスを提供します。
プラットフォーム固有のコードバインディング。 ほとんどの場合、エンジニアはXamarin環境内でそれぞれのプラットフォームのネイティブなルックアンドフィールを維持して開発を処理できます。 ただし、xamarinでは、いくつかのモジュールを再利用したり、バーコードスキャン、PayPal、Google Analyticsの統合などのプラットフォーム固有の機能を実現する必要がある場合は、既存のプラットフォームコード(例:Swift for iOS)を呼び出すことができます。
ウェアラブルのサポート。 Xamarinは、AppleおよびAndroid Watchデバイス用のアプリの構築をサポートしています。 エンジニアは、mac用とWindows用の両方のVisual Studioを使用して、iOS Apple Watchアプリを構築できます。 また、XamarinはAndroid Wearを完全にサポートしています。Xamarinプロジェクト構造。 Xamarin関連の作業のほとんどは、Visual StudioとXamarinがインストールされたWindows開発コンピューターを介して実行される予定です。 アプリは、デスクトップから直接、またはデバイスやエミュレータ上でデバッグすることができます。 Windows上でiOSアプリを開発する予定の場合は、Visual StudioがiOS storyboard designerおよびiOS simulatorに接続することも可能です。 Mac上で、または直接テザー iPhone上でシミュレータを実行することを可能にするMac用のVisual Studioもあります。 デバッグはVisual Studio経由で実行されます。
Xamarin project structure. Image source: Developer Support Blog
To get a more in-depth understanding of Xamarin engineering aspects consider checking these resources:
Main Xamarin Documentation Hub
Xamarin.Android Documentation
Xamarin.iOS Documentation
Xamarin.Forms Documentation
Visual Studio for Xamarin
Xamarin Studio App Center
Xamarin Community Forum
他の技術と同様に、Xamarinには独自の利点と欠点があり、最近白熱した議論の対象となっています。 Xamarinとネイティブ開発についての情報に基づいた決定を下すために、Xamarinを使用したアプリ開発の長所と短所をすべて比較検討しましょう。 あなたが本当に時間に追われている場合は、このビデオを見て、Xamarinプラットフォームの長所と短所の概要を6分以内に提供することをお勧めします。p>
詳細に取り掛かりたい場合は、読んでください。
- 開発にXamarinを使用する利点
- All One Technology Stack to Code For All Platforms
- Nativeネイティブに近いパフォーマンス
- Native Native User Experiences
- ⊕フルハードウェアサポート
- ⊕強力な企業サポートを持つオープンソース技術
- Maintenance Simplified Maintenance
- Complete Complete Development Ecosystem
- ⊕Xamarin。Forms:ネイティブUIレイアウトを作成するためのフレームワーク
- ⊕Xamarin。フォームXAMLホットリロード
- ⊕Xamarinを使用してMac用のアプリを構築します。Macツール
- ⊕Xamarin Learning Resources
- Xamarinは考慮すべき短所
- Θ最新のプラットフォームアップデートのサポートがわずかに遅れています
- §オープンソースライブラリへのアクセスが制限されている
- Θプロと企業の使用のための高コスト
- Θ Xamarinの人材プールとコミュニティの制約
- Θより大きなアプリサイズ
- フォームはすぐに存在しなくなります
- Θサードパーティのライブラリとツールとの互換性の問題
- Xamarin Visual Studio IDE
- Android StudioまたはXcodeからVisual Studioに切り替える
- 他のオプションを考慮する:Xamarin vsハイブリッド開発vsネイティブiOS/Android vs他のクロスプラットフォームフレームワーク
- アドバイスの作品
開発にXamarinを使用する利点
XamarinがTrello、Slack、GitHubを含む多数の企業で使用されている理由は十分にあります。
All One Technology Stack to Code For All Platforms
Xamarinは、.Net frameworkで補完されたC#を使用して、任意のモバイルプラットフォーム用のアプリを作成します。 したがって、プラットフォーム間でコードの平均80-90パーセントを共有することができます。 すべてのXamarinアプリをVisual StudioまたはVisual Studio Codeでビルドできます。 クロスプラットフォーム開発ツールは、IDEの組み込み部分として追加費用なしで提供されます。
Nativeネイティブに近いパフォーマンス
webテクノロジに基づく従来のハイブリッドソリューションとは異なり、Xamarinで構築されたクロスプラットフォー プラットフォームの発展に伴い、Xamarinのパフォーマンスは常にネイティブ開発の標準に完全に一致するように改善されており、Microsoftは最適化技術につい Visual Studio App Centerを使用すると、自動化されたUIテストを実行し、リリース前に問題を特定することができます。 ただし、このサービスは追加料金で提供されます。
以前は、Xamarinとネイティブアプリのパフォーマンスをテストし、比較しました。 結果はやや古くなる可能性があります; しかし、彼らは明らかにXamarinアプリのパフォーマンスのまともなレベルを示しています。
Native Native User Experiences
Xamarinを使用すると、プラットフォーム固有のUI要素を使用して完璧なエクスペリエンスを作成できます。 Xamarinを使用して、iOS、Android、またはWindows用のクロスプラットフォームアプリを構築することもできます。実行時にアプリのUIコンポーネントをプラットフォーム固有のインターフェイス要素に変換するFormsツール。 Xamarinの使用として。フォームが大幅にアプリ開発の速度を向上させ、それはビジネス指向のプロジェクトのための素晴らしい選択肢です。 しかし、余分な抽象化層のためにパフォーマンスがわずかに低下する可能性があります。 カスタムアプリUIとより高いパフォーマンスのために、Xamarinを引き続き使用できます。iOSおよびXamarin。優れた結果を確実にするために別々にAndroid。
伝統的に、Xamarinは重いグラフィックを持つアプリのための最良の選択肢であるとは考えられていません。 そうは言っても、OpenGL ESのようなライブラリや、SkiaSharpやUrhoのようなフレームワークがあり、Xamarinでも豊富なカスタムUI、複雑なアニメーション、またはゲームを使用したアプリの開発を可能にしています。
⊕フルハードウェアサポート
Xamarinでは、ソリューションはネイティブレベルのアプリ機能を取得します。 プラグインや特定のApiを使用して、プラットフォーム間で共通のデバイス機能を使用するために、すべてのハードウェア互換性の問題を排除します。 プラットフォーム固有のApiへのアクセスに加えて、xamarinはネイティブライブラリとのリンクをサポートしています。 これにより、より優れたカスタマイズとネイティブレベルの機能が可能になり、オーバーヘッドがほとんどありません。
⊕強力な企業サポートを持つオープンソース技術
2016年にマイクロソフトに買収された後、Xamarinのライセンスポリシーは根本的な変更を受けました。 ランタイム、ライブラリ、コマンドラインツールを含むXamarin SDKはオープンソースとなり、VISUAL Studioの一部としてMITライセンスの下ですべて利用可能になりました。 主要な障壁、ライセンスのコストを排除することにより、Microsoftはプラットフォームのさらなる成長のための道を開いた。 さらに、Microsoftが率いる、とUnity、JetBrains、およびRed Hat、によってサポートされています。NET Foundationは一般的に、Xamarinは特に信頼性が高く強力な技術スタックとなっています。
Maintenance Simplified Maintenance
クロスプラットフォームアプリケーションのため、Xamarinはメンテナンスと更新を容易にします。 変更または更新をソースファイルに展開するだけで、iOSアプリとAndroidアプリの両方に適用されます。 したがって、それはあなたのアプリを最新の状態に保ちながら、時間とお金を節約するのに役立ちます。
Complete Complete Development Ecosystem
Xamarinは、独自のIDEを含む完全な開発ツールセットを備えた一つのパッケージに入っています。 2018年4月、以前は別の機能として知られていた多くのXamarin開発ツールがVisual Studio App Centerの一部になりました。 プラットフォーム自体(Xamarin Sdk)、テスト(以前はXamarin Test Cloud)、配布と分析(以前はXamarin)が含まれています。インサイト)プラットフォーム、およびより多くの。 ツールキットは無料のままなので、追加のツールに投資したり、サードパーティのアプリを統合してXamarinアプリを構築、テスト、および展開する必要はありません。
⊕Xamarin。Forms:ネイティブUIレイアウトを作成するためのフレームワーク
Xamarinは、開発者がモバイルアプリを2つの方法で構築することを提案しています。 最初のものはXamarinを使用することです。iOSおよびXamarin。Androidは、以前に登場し、もともとより能力があると考えられていました。 Xamarinを使用します。フォームは第二のアプローチです。 これは、より高度なバージョンであり、プラットフォーム固有の機能が少ないラピッドプロトタイピングやアプリの作成を可能にします。 それがXamarinの理由です。フォームは、カスタムUIよりもコード共有が重要なアプリに最適です。 つまり、プラットフォームごとに個別に設計することなく、単一のインターフェイスを作成し、プラットフォーム間で共有することができます。 また、ユーザーインターフェイスの一部がXamarinで作成されたアプリケーションを構築することもできます。フォームなどは、ネイティブUI toolkitを使用して設計されています。Xamarinとして
。フォームは長年にわたって開発され、それは普遍的なツールとなり、それに注意を払う活気のあるコミュニティを獲得しました。 たとえば、一部の技術プロバイダーは、事前に構成されたUIコンポーネントを提供するエンジニアリング機能を強化するTelerik UIのようなライ
⊕Xamarin。フォームXAMLホットリロード
Xamarinとして。Formsは高速で摩擦のない開発を目的としており、MicrosoftはXAMLホットリロードツールを使用することを提案している。 デバッグ中にXAMLを変更し、実行中のアプリでそれらの変更をすぐに確認できるようにすることで、開発を高速化します。 さらに、ナビゲーションの状態とデータが維持されるため、UIですばやく反復できます。 このようにして、XAML Hot Reloadを使用すると、UIの変更を検証するためにアプリを迅速に再構築および配置できます。
⊕Xamarinを使用してMac用のアプリを構築します。Macツール
Xamarin。Macでは、C#と.NETを使用して完全にネイティブなMacアプリを開発することができます。Xcodeを使用したObjective-Cでの開発に使用されるのと同じライブラリと統合されています。 Xamarinを使用して。MacとXamarinを組み合わせました。iOSおよびXamarin。Androidでは、開発者はAndroid、iOS、およびMac OS間でネイティブコードの最大90%を共有できます。 さらに、Xamarin。MacはXcodeと統合されているため、開発者はXcodeのInterface Builderを使用してアプリのユーザーインターフェイスを作成できます。
⊕Xamarin Learning Resources
Microsoft Learnは、Xamarinを含むMicrosoft製品に関連する技術スキルを開発するのに役立つオンライン教育ポータルです。 このプラットフォームでは、初心者と経験豊富なエンジニアの両方にコースを提供し、学習者はMicrosoft認定資格の準備を行うことができます。 教育リソースには、無料のセルフガイド学習、ライブオンラインクラス、オフィス講義、ゲスト講義が含まれます。 TVs、ウェアラブル、IoTのXamarinサポート
xamarinのおかげで、Xamarinフレームワーク。フォームは、多くのプラットフォーム用の移植可能なバージョンを構築することができます。 IOS、Android、Windows Phone、Macに加えて、一部のSamsungデバイスで使用されているオペレーティングシステムであるTizen用のウェアラブル、Tv、IoT用のアプリケーションを開発で それに加えて、Xamarin。iOSは、AppleとwatchOSのためのtvOS用のアプリケーションを構築することができます。
Xamarinは考慮すべき短所
しかし、プラットフォームに影を落とす可能性のあるいくつかの欠点がまだあります。 では、Xamarinを使用しないのはなぜですか?
Θ最新のプラットフォームアップデートのサポートがわずかに遅れています
これはXamarin開発者チームに完全に依存します。 変更の実装や新しいプラグインの導入などに時間がかかるため、サードパーティのツールが最新のiOSおよびAndroidリリースを即時にサポートすることは不可能です
§オープンソースライブラリへのアクセスが制限されている
ネイティブ開発はオープンソース技術を広範に利用しています。 Xamarinでは、開発者と消費者の両方に直面して、プラットフォームといくつかの.NETオープンソースリソースによって提供される要素を使用する必要があります。 AndroidやiOSモバイルアプリの開発ほど豊富ではありませんが、廃止されたXamarinコンポーネントに含まれていたすべてのものを含むNuGetパッケージを使用できま
Θプロと企業の使用のための高コスト
Xamarinは個々の開発者のための無料のオープンソースプラットフォームですが、フレームワークは、企業のニーズのためにかな Visual Studioのライセンスを購入するには、多くの費用がかかります。 たとえば、開発ツールのコアセットを備えたVisual Studio Professionalは、最初の年に1,199ドル、更新に799ドルの費用がかかります。 同時に、追加のツールを試すことができるVisual Studio Enterpriseは、最初の年には5,999ドル、更新には2,569ドルの費用がかかります。 両方の機能については、以下で説明します。
Θ Xamarinの人材プールとコミュニティの制約
明らかに、XamarinコミュニティはネイティブのiOSやAndroidのコミュニティよりも大幅に小さいです。 ReactやIonicのコミュニティよりも小さいです。 したがって、経験豊富なXamarin開発者を見つけることは挑戦になる可能性があります。
2020年のStack Overflow調査によると、わずか5です。2020年時点で8%がXamarin frameworkを使用しており、React Nativeの11.5%とFlutterの7.2%と比較しています。
他のフレームワークと比較したXamarinの使用法。 Image source:Stack Overflow
Xamarinエンジニアの数はiOSやAndroidのネイティブコミュニティと比較していないという事実にもかかわらず、プラットフォームは開発者に広範なサ 前述したように、Microsoft Learnは、この技術に慣れていない人のためのリソースと実践的なトレーニングを提供しています。 このサポートを使用すると、経験豊富なC#/.Netエンジニアの学習曲線は最小限に抑えられます。
一部の開発者が経験するもう一つの問題は、文書を含む学習と開発リソースにおける断片化と標準の欠如です。 これはあなたが得ようとしているサポートの質に影響を与えます。Xamarinを使用する場合のネイティブ言語の基本的な知識
。iOSおよびXamarin。Android真にネイティブなルックアンドフィールでモバイルアプリを構築するには、各プラットフォームのネイティブApiを使用して、プラットフォーム固有のコード層を記述する必要があります。 したがって、以前のように必須ではありませんが、プラットフォーム固有のドキュメントを理解して最大限に活用できるようにするには、少なくともネイ また、Xamarin。Essentialsライブラリは、複数のクロスプラットフォームApiを提供し、ネイティブ機能にアクセスするために使用できます。 ただし、これはXamarinには適用されません。フォーム。
Θより大きなアプリサイズ
その種類と複雑さに応じて、Xamarinアプリは通常、ネイティブのアプリよりも大きくなります(後者はXamarinアプリの半分のサ Android用の単純な「hello,world」アプリは最大16MBを要し、その多くは関連するライブラリ、コンテンツ、Mono runtime、および基本クラスライブラリ(BCL)アセンブリで使用されています。…………こんにちは、次のように定義されています。
Xamarinアプリのサイズ。 画像ソース:開発者。xamarin.comそのため、Xamarinアプリは通常、含まれているライブラリから未使用のコードを削除し、アプリのファイルサイズを合理的に保つためのリンクなど、追加の最
フォームはすぐに存在しなくなります
2020年には、毎年恒例のMicrosoft Build conferenceが開催されました。 他のニュースの中で、それはXamarinことが発表されました。Formsは.NETとマージされ、.NETマルチプラットフォームアプリUI、またはMAUIと呼ばれる新しいクロスプラットフォームフレームワークに進化します。 MAUIはすべてのネイティブUIを持ち、すべてのネイティブApiへのアクセスを提供します。また、段階的なの一部として。
また、段階的なの一部として。
ネット一本化、AndroidとXamarin。iOSは最終的に.NET for iOSおよび.NET for Androidとして.NET6の一部になり、他の.NETワークロードに合わせて更新されます。 そのためのタイムラインはまだ不明ですので、将来の更新をお楽しみに。
一方、Xamarin。フォームの移行は2021年11月に行われる予定です。 MAUIがリリースされると、Xamarinはさらに12か月間サポートされます。 したがって、現時点でXamarinを使用している場合、または新しいXamarinアプリを構築する予定がある場合は、日付を確認し、スムーズな移行のためのMicrosoftガイドを探
Θサードパーティのライブラリとツールとの互換性の問題
サードパーティのリソースをXamarinアプリに統合するときにいくつかの問題がある可能性があ ほとんどのツールとライブラリはネイティブ技術を完全にサポートしていますが、xamarinのサポートはベンダーによって提供されない場合があります。 Xamarinには独自のコンポーネントストアがありますが、プラットフォームによって提供されていない特定の機能やアプリ内の統合が必要になる可能性が そのため、他のサードパーティのパッケージを活用するには、ラッパーを使用する必要があります。
Xamarin Visual Studio IDE
Xamarinがあなたに合っていると感じたら、使用できる主要なXamarin Ideとそれらがどのように比較されているかを知ることに興味があります。
Visual Studio(VS)は、すべてのプラットフォームとデバイス間でアプリケーションを構築、デバッグ、および公開するために使用されるMicrosoft統合開発環境、またはIDE Xamarinには、Visual Studio Community、Visual Studio Professional、およびVisual Studio Enterpriseの3つの主要なVisual Studioバージョンがあります。 受け入れ可能なバージョンを選択するための重要な要因は、開発者(学生またはプロのエンジニア)の経験とそのチームのサイズです。 プログラマーはすべての版の網、移動式、サーバーおよび卓上のためのソフトウェアを開発できます。 Visual Studioの詳細については、.NET開発に使用されるツールについての記事を参照してください。最新バージョンはVisual Studio2019です。 VS2017と比較して、Visual Studio Live Shareを使用したリアルタイムのコラボレーションから、新しいVisual Studioの開始ウィンドウまで、アプリケーション開発を加速する多数の改善が含まれています。 また、モニターごとのDPIと改善されたデバッグ機能をサポートしています。
Xamarinのワークロードは、以前のバージョンから約3倍に削減され、23GBから7GBに削減されました。 これは、大幅にディスクの影響を低下させ、インストールを加速します。 さらに、新しいリリースでは、Android SDKとエミュレーターの管理が大幅に改善されました。 また、UIオーサリングの強化にも大きな努力をしました。 これにはXamarinが含まれます。IntelliCode for XAMLによるフォームの改善、AXML-Androidの機能強化、アップグレードされたXamarin iOSの出荷、およびその他の多くの機能。
Visual Studioコミュニティは、学生、オープンソースプロジェクト、最大5人のユーザーを持つ小さな開発チームに適しています。 コミュニティパッケージは、Visual Studioを初めて使用するチームにも適しています。 このバージョンは無料で使用できます。
Visual Studio Professionalは、プロの開発者、小規模なチーム、および企業の使用のために作成されたツールとサービスのセットです。 このバージョンでは、コード参照の表示、コードへの変更、メソッドの最後の変更者の表示、テストに合格したかどうかの検出など、コードをすばやく理解するた Professionalバージョンには、アジャイルプロジェクト計画とテストツール、CI/CDパイプライン、レポートソリューションなどの機能のコレクションであるAzure DevOpsが含 このバージョンの年間価格は$1,199です。
Visual Studio Enterpriseには、より強力なサポートツールとサービスがあります。 これにより、開発とIT運用の間のより複雑なプロセスの管理、手動および自動化されたテストツールによる品質の追跡、専門的なトレーニングとMicrosoftのエ Enterpriseバージョンには、優先サポート、パートナーオファーなどもあります。 Enterprise Studioの年間価格は$5,999です。
企業での使用のために、我々はまた、Visual StudioのApp Centerを確認することをお勧めします。 これは、Xamarinを含むさまざまなモバイルテクノロジ間でアプリ開発ワークフローを整理するツールです。 ここでは、複数のアプリで作業するエンジニアリングチームがツールセットをまとめることができます。 GitHubまたはBitbucketを介してアプリのパッケージ化を自動化し、さまざまなテストサービスの統合を提供し、テスト用の電子メールアプリの配布を可能にし、クラVisual Studio Code、またはVS Codeは、2019年に最も人気のある開発環境にランクされ、開発者の50.7%がそれを使用すると報告しています。 VS Codeは、コードの編集、構築、デバッグの簡単なサイクルに必要なすべての主要なツールを提供する無料の軽量なオープンソースコードエディタですが、より複雑な Mac、Linux、およびWindows上で実行され、タスクの実行、トラブルシューティング、バージョン管理などの基本的な開発操作をサポートします。 また、AI支援開発のためのIntelliSenseを持ち、GitHubと連携し、拡張機能の豊富なエコシステムを持っています。 VISUAL Studio OnlineまたはGitHub Cloudspacesは、VS2019およびVS Codeをサポートするブラウザベースの開発環境です。 これはベータ版でのみ利用可能で、機能が限られています
Android StudioまたはXcodeからVisual Studioに切り替える
開発チームがAndroid Studio(AS)またはXcodeからVisual Studioに移行す 機能間の比較では、Ideは開発フローの点で非常に同じであり、各環境のニュアンスはほとんどないことが示されています。Android StudioからVisual Studioへ。 Android Studioの公式サポートはJava、C/C++、Kotlin、およびXML言語に焦点を当てていますが、VSはASを含むすべての主要なプログラミング言語をサポートしています。 これは、IDEが食料調達するプラットフォームの広いスペクトルによるものです。 VSは、より多くのエンジニアリングの自由を提供し、一つの環境から異なるプロジェクトでの作業を可能にします。 ASと統合されたGoogle Cloud Platformを使用して仮想マシンを実行したり、プロジェクトを管理したりしている場合、GoogleはVS用のcloud platform拡張機能を提供するのに十分 Visual Studioは、Windows、Android、Mac OS、Linuxのすべての主要プラットフォームにインストールできます。
XcodeからVisual Studioへ。 VSと同様のXcode IDEは、すべての主要なプログラミング言語のソースコードをサポートしています。 だから、移行後には驚きはありません。 サーバー側のストレージにCloudKitを使用している人にとっては、Visual StudioとXamarinはCloudKitの簡単な統合を可能にします。 VsをXcodeと比較して使用する主な欠点は、価格です:Android StudioとXcodeの両方が無料で使用できますが、VSはかなり高い購読料を必要とします。開発者の見積もりによると、Visual StudioとAndroid Studioは、どちらもほぼ同じ使いやすさとサポート品質を持っています。 VSとXcodeと同じインデックスを比較すると、VS推定値は少し優れていると言えます。 また、Visual Studioは企業(>1000人の従業員)の間でより人気がありますが、Android StudioおよびXcodeユーザーの約50%は中小企業(従業員50人以下)です。
モバイル開発環境でのStrategy Analyticsのランクを考慮すると、XcodeはVisual Studioと同様にテスト能力で最高のランキングを達成しました。 Android Studioは遅れていました。 合計スコアはXcode-22、Visual Studio-21、Android Studio-13でした。
他のオプションを考慮する:Xamarin vsハイブリッド開発vsネイティブiOS/Android vs他のクロスプラットフォームフレームワーク
最近、多くの開発者は、Xamarinが”ネイ 実際、「Objective-CやSwiftを使用してiOSアプリケーションでできることは何でも、Javaを使用してAndroidアプリでできることは何でも、Xamarinを使用してC#で行うことがで”
まだ、ネイティブvs Xamarinの議論には多くの落とし穴があります。 Xamarinがネイティブ開発ツールやハイブリッド開発プラットフォーム(Ionic、PhoneGap/Cordova)とどのように比較されているかを見てみましょう。
Xamarin vsハイブリッドvsネイティブ開発一言で言えば
ハイブリッドモバイル開発ツールは急速に進化しているが、彼らはまだxamarinがほぼ同じコストで提供するパフォーマンスとネイティブ機能を欠いています。 しかし、市場投入までの短い時間は、彼らの主な利点のままです。XamarinまたはネイティブiOS/Androidのどちらかを選択するには、利用可能な時間と予算(ネイティブ開発は通常より高価で時間がかかります)とアプリの種類を ハイエンドのパフォーマンスと完全に調整されたUIが必要な場合は、ネイティブアプリに行く価値があります。
より多くのクロスプラットフォームフレームワークが登場し、開発するにつれて、Xamarinが市場での地位を維持することは困難になります。 今日、多くのフレームワークは、人気とパフォーマンスの点ですでにXamarinを上回っています。 React Nativeは2020年のトップチョイスに選ばれ、Flutterに続いています。
クロスプラットフォームモバイルフレームワークの使用状況のダイナミクス。 ソース:Statista
すべてのクロスプラットフォームアプリフレームワークは、異なる機能と構造を備えています。 より良い画像を得るために、私たちの比較記事をチェックしてください:Xamarin vs FlutterとXamarin vs React Native vs Ionic vs NativeScript。 例えば、後者はあまり普及していないにもかかわらず、密接に相互接続されているため、Angular frameworkを使用する開発者にとって特に価値があります。
アドバイスの作品
長所と短所を比較すると、記載されている欠点は、通常、副次的な損傷であると考えられています。 ほとんどのビジネスオーナーは、コードを共有し、単一の技術スタックを使用することにより、市場投入までの時間とエンジニアリングコストを削減するため、Xamarin mobile app development platformを選択しています。 しかし、アプリとそのターゲットオーディエンスの目的は、考慮すべきさらに重要な要因かもしれません。
私たちのチームの経験に基づいて、Xamarinのための最良のユースケースは、エンタープライズモバイルソリューションです。 プロジェクトの90%をカバーする標準UIを使用すると、すべてのコア製品ロジックをプラットフォーム間で簡単に共有できます。 したがって、プラットフォームのカスタマイズにはエンジニアリング作業の5-10%しかかかりません。
UIが重い消費者向けアプリの場合、共有コードの量は大幅に減少します。 したがって、Xamarinクロスプラットフォーム開発は大きな利点を失い、時間とコストがネイティブソリューションに等しい可能性があります。この記事は、「The Good and the Bad」シリーズの一部です。
この記事は、私たちの「The Good and the Bad」シリーズの一部です。 Web開発に興味がある場合は、
Angular開発の良いことと悪いこと
JavaScriptフルスタック開発の良いことと悪いこと
ノードの良いことと悪いこと。js Webアプリ開発
ReactJSとReact Nativeの良いと悪い
Swiftプログラミング言語の良いと悪い
Seleniumテスト自動化ツールの良いと悪い
Androidアプリ開発の良いと悪い
ネット開発
Ranorex GUIテスト自動化ツールの良いところと悪いところ
Flutterアプリ開発の良いところと悪いところ