Xamarinクロスプラットフォームのモバイル開発と比較しフラッター

過去十年間では、携帯電話業界は、特にアプリケーションの開発で、驚異的な成長を経験しています。Statistaレポートをよると、20億以上は、2022年末までに予想される世界のスマートフォンユーザーは、この数字は50億以上に増加します。これらのスマートフォンでは、ほぼ100%上で実行するための3つの人気のプラットフォームで:Googleからのアンドロイド、iOSのAppleが開発し、MicrosoftのWindows Mobileによって開発されました。今いくつかの時間のために、モバイルアプリケーション開発者は、これらのアプリケーションを単一のプラットフォーム上で実行することができ、ネイティブアプリケーションを開発するためのプラットフォーム固有のツールに依存しています。例えば、KotlinとJavaは、主にiOSの開発者は、Objective-Cの最近のスウィフトを使用しながら、あなたは二つの言語の間で私たちの比較でコンテンツを読むことができ、Androidのネイティブモバイルアプリを開発するために使用されます。

企業がプラットフォームごとに別々のアプリケーション、および各キットは、異なる開発チームを持っていなければならないため、従来のモバイルアプリケーションの開発には、遅くて高価なされています。今日、我々は、企業が、開発時間を短縮メンテナンスコストを削減し、より多くのユーザーにリーチ支援するクロスプラットフォームのモバイル開発ツールを持っています。クロスプラットフォームのモバイル開発にのみ、複数のプラットフォーム上で動作するモバイルアプリケーションを構築することを意味することができます。現在、開発者はこれにインテルXDK、Xamarin、コルドバとフラッターを含め、クロスプラットフォームのフレームワークの様々なを使用してすることができます。特徴、長所と短所のそれぞれを比較することによって、1とされていない他のを使用する際に、開発者が決定を支援するために - Xamarinとフラッター - この記事では、我々は二つの側面に焦点を当てます。あなたはまた、私たちの比較Xamarinを表示ネイティブとイオンプラットフォームを反応させることができます。
Xamarin間違いなく主要なオープンソースのクロスプラットフォーム開発技術のMicrosoft操作の1つ。これは、モバイルアプリケーションを設計するには、Android、iOSとWindows MobileのようC#言語を使用しています。Xamarinは、開発者がネイティブAndroidとiOS APIへのアクセスを許可、およびC#のコードベースのXamarin試験クラウドならびにクロスデバイスアプリケーションのテストで共有提供します。Xamarinは、2011年にモノの背後にある開発者によって作成され、それは、CLI(共通言語基盤)と(また、Microsoft .NETとして知られている)共通言語仕様を使用しています。Xamarin Microsoftが2016年に取得し、後でXamarinのVisual Studio IDE不可欠な部分として、オープンソースプラットフォームXamarin SDKとなりました。Xamarinの可能性を最大限に活用するには、C#の開発者に加えても、iOSとAndroidのいくつかの知識が必要です。
フラッターは、Googleが設計し、フリーでオープンソースのクロスプラットフォームツールです、それは開発者がAndroidとiOS用の高性能ネイティブモバイルアプリケーションを作成することができます。フレームワークは、Googleのダーツプログラミング言語C ++で軽量なエンジンを使用しています。そして同様のXamarin、それは1つのコードベースを提供します。フレームワークは、2D、シミュレーション、ジェスチャーとSDK APIと絵をレンダリング、ならびに既存のスイフト、オブジェクティブC及びJavaコードの使用を可能にするために提供します。これは、Googleの製品も、機械設計のウィジェットが付属しています。
モバイル開発では比較的新しいフラッターが、その2018年1月でベータ版の発売が、フラッタークロスプラットフォーム開発フレームワークは、いくつかの議論のモバイル開発者コミュニティにつながりました。Xamarinと比較すると、これらの二つの異なった専門家は、異なるビューフレームワークを持っています。Visual StudioのマガジンのDavid Ramelは、Googleが最初にフラッターを立ち上げたときに、この比較は2015年にさかのぼることができることを指摘したが、MWCが正式にリリースした後、彼らは2018年に激化しました。
現在、すべてのスタックオーバーフロー2018年調査の回答理由は開発者の間でより人気Xamarinは、7.2%は、Microsoftが140万人のXamarinのエンジニアを持っていると主張し、フラッターがリストに含まれている必要はありませんが、彼らは、Xamarinを使用すると述べました。フラッターコミュニティは十分な大きさではありません。ただし、一部のエンジニアはフラッターはXamarin新興の選択肢であると信じています。
ここでは、これら2つのフレームワークの主な機能と特徴を見ていきます。が、この記事では、意見の完全に確認されていませんが、彼らはこれらの2つのフレームワークのいくつかの有利な意見を提供します。
画像
画像
フラッターと短いXamarinの比較で
フラッターの目標は、AndroidとiOSを開発することである、とXamarinは、Android、iOSとWindowsプラットフォーム(Windowsのように10 [UWP]、Windowsのレガシー[WPF]アプリケーション)とMacOSのアプリケーションをサポートしています。フラッターの利点よりも大きな生態系Xamarin。Statistaは、最近の調査では、現在のスマートフォンのおよそ98.5%がAndroidまたはiOS上で動作しますが、言ったので。実際には、フラッターのアプリケーションは、移植は、Windows Mobileのプラットフォームには大きな欠点ではないことはできません あなたは、Windowsの携帯電話用のアプリケーションを開発したい場合でも、Xamarinは皆のためのフィットかもしれません。
粗動装置及びOS 32は互換性がありません。あなたがiPhone 5や他の古い携帯電話をカバーすることを計画している場合このように、例えば、Xamarinは、より良い選択です。
Xamarinは、C#を使用し、それが開発者に歓迎され、広く使用されています。あなたは既にC#と.NETのスキルを持っている場合は、すぐにXamarinを使用することができます。あなたがXamarin.Formsを使用する場合は、XamarinでC#コードの96%まで再利用することができます。
フラッターは比較的新しいと不人気ダート言語を使用しています。しかし、あなたはそれが同じ方法および実施例を使用しているためので、ダートは問題になることはありません学習、ジャワ、JavaScriptとC ++や他のOOP言語を使用した経験を持っている場合。
Xamarinは、コミュニティがサポーターをたくさん持っている、彼らは、他の開発者と知識を共有して喜んで経験した、いくつかの時間を回避されています。Xamarinのフォーラムでは、コードや経験を共有するために、それぞれ他の開発者を助けることに専念。プラットフォームは、大きな利点である、一般的な問題を解決するには、Microsoftのサポートされています。マイクロソフトは、まともなとすべての関連Xamarinと.NET製品の最新のドキュメントまでを提供します。
フラッターにもかかわらず、Googleのサポートされているが、それは、コミュニティのサポートの現在の不足は比較的新しいものです。プラットフォームは、数ヶ月の開発者はまだ枠組みの主要な弱点と強みを発見していないことを意味し、ベータ版のリリース前に、また、比較的若いです。
あなたが長期的な、複雑なプロジェクトを計画している場合は、Xamarin、その安定性および既知の問題を選択する必要があります。しかし、フラッタ社会の発展と、一年以内に、それはほとんどの新興のための問題解決を支援するために十分に成熟になることがあります。
ダートコードでフラッタは、ネイティブにコンパイルするコンパイラ(事前に)IBMアカデミーを使用していますが、それでもダートVM(仮想マシン)が必要です。この背後にある理由は、動的またはJITコンパイラをサポートしていないIBMアカデミーのiOSプラットフォームをコンパイルすることです。フラッターはまた、特定のコードのプラットフォームをサポートするためのカスタムプラグインを作成することができます。
ストレージおよびセンサを含むパッケージを介してすべてのプラットフォームとAPIサービスへのフラッタのアクセス、。また、ダートプラットフォームのチャネル使用フラッターライブラリからネイティブ関数を呼び出すために達成することができます。
画像
画像
*フラッターiOSとAndroidの構造*
Xamarinでは、C#コードをマシンコードにコンパイルされ、その後.APPに包装します。ネイティブプラットフォームコードにコンパイルされた中間マシンコード用にコンパイルJITコンパイルXamarin.AndroidおよびIBMアカデミーのiOSアプリケーションのアプリケーション(また、マネージコードとしても知られる)のために使用されるモノコードジェネレータ。
Xamarinプラットフォームライブラリは、.NET APIと特異的結合を使用することにより、マシンの機能にアクセスします。
画像
画像
Xamarin iOSとAndroidのアーキテクチャ
Xamarinは、ネイティブUIコンポーネントを使用していますが良いことですが、フレームワークの新バージョンへの適応に時間がかかることがあり、コストをもたらす定期的に更新プラットフォーム、と。また、ではなく、UIのコードの再利用のための、唯一のロジックコードを共有するためXamarinになります。最も重要なことは、私たちは、このようなゲームやアニメーションなどの重いグラフィックスを処理するために、ネイティブモジュールを使用することをお勧めします、です。
フラッターは、ネイティブUIコンポーネントを使用せずに構築されたを使用してウィジェット。その後、あなたはプラットフォームのUIを構築しているため、さらにウィジェットをカスタマイズすることが期待されます。現在、フラッターは、2D API、ジェスチャー、エフェクト、アニメーションやその他の機能のためのグラフィックスおよびサポートを作成するには、レイアウト、ウィジェットや基本的なプラットフォームの多様性を使用することをお勧めします。フラッターUI機能がまだ開発中ですが、彼らは強力なUIビルダ環境に進化する可能性があります。また、フラッターもクパチーノ材料設計と組み立てを装備します。
状態はシミュレータ上で失われていない状態でリロード機能の熱フラッターは、開発者がUI、実験を構築し、さまざまな機能を追加することができますし、すぐに検出し、エラーを修正します。開発者はまた、サードパーティのSDKやライブラリなどのローカル機能をアクセスし、既存のネイティブコード(SWIFT、オブジェクティブC、JavaおよびKotlin)を再利用することができます。
Xamarin一つの利点は、それがマイクロソフトXamarinクラウドへの開発者は、デバイス上でアプリケーションをテストすることを可能にするということです。ただし、この機能にアクセスするために購読料を支払う必要があります。Xamarinは、熱フラッタリロードと同等のリアルタイムリロード機能を提供し、それは、開発者がXAMLを変更して、コンパイルや結果を確認するには、「リアルタイム」でアプリケーションをデプロイせずにすることができます。
一つの問題は、より良いフラッターで実装しているようで、サードパーティのライブラリとそのXamarinの統合、です。
Xamarinは、C#コードの約96%を共有することができますが、あなたは完全にマシンを体験することを選択した場合、あなたはいくつかのプラットフォーム固有のコードを使用する必要があります。開発者はC#での経験を持っており、また、Java、Kotlin、スウィフトとObjective-Cや他のネイティブ開発プラットフォームを扱うことができるならばため、Xamarinが輝きます。
フラッターアプリケーションで開発するには、学ぶために時間を取るためにあなたを必要とするかもしれダーツ、について知る必要がありますが、JavaやC ++に精通している場合、これは問題になることはありません。あなたは、モバイルアプリケーション開発のパイオニアであり、何のAndroidまたはiOSアプリケーションの開発経験がない場合は、タスクを完了するためにダートを学ばなければなりません。
同等のXamarinアプリケーションが25.1メガバイトである一方で、昨年Korhan Bicarnによると、フラッターの基本的なアプリケーションのバイナリサイズをテストするためのキャピタルワンのエンジニアは、40.2メガバイトです。あなたはここで、より詳細な結果を表示することができます。それ以来減少は、Googleの努力は4.28メガバイトへの基本的なフラッターAPKのサイズを適用すると、Xamarinのサイズは約7メガバイトに維持されます。
同じ比較によると、アドレス空間やアプリケーションの動的リンク初期化はフラッターで1.05秒かかりました。アプリケーションは、約220ミリ秒で起動し、速度は58 FPSです。Xamarinでは、アドレス空間の初期化と動的にリンクされたアプリケーションは、3.2秒かかります。53 FPSの約345ミリ秒の起動速度の適用率。また、私たちの特別な記事にXamarinのパフォーマンスについての詳細を学ぶことができます。
開発者は多くの場合、フラッタ計画をサポートしていますが、それは必ずしもXamarinが廃止されたという意味ではありませんが。あなたは、クロスプラットフォームのモバイル開発に精通していない場合は、プラットフォームが近い将来に人気になりそうなのでフラッターは、正当化されることを検討してください。
しかし、コミュニティ、ツールセットや安定性など、多くの点でXamarin現在、より成熟しました。一般的には、複雑かつ長期的なプロジェクトのために、我々はあなたがC#と.NET開発者のチームを持っていて、マイクロソフトの生態系にし​​ている場合は特に、Xamarinに固執することをお勧めします。

おすすめ

転載: www.cnblogs.com/xiongwei/p/11489851.html
おすすめ