2017年の初めにXamarin開発者が知っておくべきこと

さまざまなレベルの開発者向けに、金曜日にジェームズモンテマグノが提供する有用なガイドとチートシートをご紹介します。







著者に代わってさらなる議論が行われます。



2017年の初めに.NET開発者が知っておくべきことについての彼のブログへの最近のScott Hanselmanの投稿に非常に触発されました。 そして、私はこれより少し進んで、.NETでiOS、Android、macOSアプリケーションを構築するXamarin開発者向けの小さなガイドを書くことにしました。 そこで私はChris Hardyに連絡し、一緒にXamarinに関連する概念と有用なリソースの広範なリストを作成しました。 始める前に、スコットのすばらしいブログにアクセスしてください。すばらしい情報が満載です。 さらに、この投稿を可能な限り便利にするために、「知っておく必要がある」、「知っておくべき」、「知っておくといい」という特別なセクションに分割し、さらにiOSとAndroid用の特別なセクションを用意しました。



Xamarinの使用を開始する準備ができたら、 ポータルにアクセスしてください。これは、初心者開発者に最適な場所です。 そこで2011年にモバイル開発の分野で仕事を始めました。 それでは始めましょう!



どこから始めますか?



Xamarinをよく読んで、ダウンロードして、勉強して、見たい人は、次のポータルにすぐに注意することをお勧めします。





知る必要がある:Xamarin



Xamarinとは何ですか? Xamarinプラットフォームのおかげで、開発者はC#、F#、またはVB.NETを使用してiOS、Android、macOS向けの完全にネイティブなアプリケーションを作成できます。 さらに、ネイティブAPIへの100%アクセスと、他の.NETアプリケーションとロジックを共有する機能がある場合。



.NETをiOS、Android、macOS、IoT、Linux、PS4、Xboxなどに配信する1つの超最適化された.NETランタイムがあります。.NETAPIを実装し、.NET Standardを駆動します。 「内部」の実装について心配する必要はありません。



ネイティブXamarin開発とも呼ばれる従来のXamarin開発により、開発者はアプリケーションのビジネスロジックを共有し、各APIに100%アクセスできるプラットフォームごとにネイティブユーザーインターフェイスを作成できます。



Xamarin.Forms開発は、開発者にiOS、Android、およびWindows用のクロスプラットフォーム抽象化ユーザーインターフェイスを提供します。 ユーザーインターフェイスはXAMLコードまたはその他の形式で作成でき、さらに、各プラットフォームのランタイムにネイティブコントロールがインストールされます。 さらに、データバインディングやデータ管理などのMVVM(Model-View-ViewModel)機能が提供されます。 プロジェクトプラットフォームと依存関係サービスを介してネイティブAPIにアクセスできます。



クロスプラットフォームのコード共有







さまざまなアプリケーションで共通のコードを使用するには、いくつかの方法があります。





ライブラリソース



.NETおよびすべてのプラットフォームで使用可能なAPIは多数ありますが、さらに多くのAPIが必要な場合もあります。 そして、ここでそれらを取得できます:





図書館



Xamarinによって作成または保守されているいくつかの非常にクールなライブラリを理解しましょう。





知っておくべきこと:iOS



拡張機能は、たとえば、ユーザーがキーボードを要求したり写真を編集したりする「通知センター」など、標準的な状況でiOSによって提供されるウィジェットです。 すべての拡張機能は、コンテナアプリケーションと共にインストールされ、ホストアプリケーションの特定の「拡張ポイント」からアクティブ化されます。



watchOSは、Apple Watchデバイス用に設計されたiOSの特定のバージョンです。

tvOS-Appleは第4世代のApple TVハードウェアをリリースしました。これは、再設計されたタッチコントロールコンソールと新しいオペレーティングシステム(iOS9ベース)を備えています。



登録プロファイル -デバイスにアプリケーションをインストールするか、App Storeでリリースする必要がある場合、開発者アカウントを取得して登録プロファイルを作成する必要があります。 開発者のデバイス、アカウント、コンピューターをリンクする必要があります。



知る必要がある:Android



Android Wearは、スマートウォッチなどのウェアラブルデバイス向けに設計されたAndroidのバージョンです。



キーストア-Androidアプリケーションをそれぞれのストアに配置するために署名するために使用されます。



解析APIとSDK-コンパイル、最小化、計画-重要で探索する価値のあるすべてのもの。 関連する短いビデオをご覧ください。



知る必要がある:Xamarin



リンカーはiOSおよびAndroidのアプリケーションのサイズを縮小するために使用され、アプリケーションで静的分析を実行して、どのノード、タイプ、およびクラスメンバーが使用されているかを判断します。 これにより、未使用のアイテムは破棄されます。



ILは、コンパイル時に作成される一種の中間言語です。 スコットが書いたように:C#はりんごで、ILはりんごソースを作り、JIT / AOTとランタイムはりんごジュースです。



AOT -Ahead of Time Compilation(「先行コンパイル」)の略で、ILを取得してマシンコードにコンパイルし、結果のバイナリファイルをネイティブ形式で実行します。 これはXamarin.iOSが使用するものです。



JIT -Just in Time Compilation(「インスタントコンパイル」)の略で、ILを取得してコンパイルし、マシンコードとして実行する準備をします。 これはXamarin.Androidが使用するものです。



知っておくべきこと:iOS



Storyboardを使用すると、開発者は両方のプロビジョニングコントローラーを定義し、設計画面上でそれらの間を移動できます。また、WYSIWYGアプリケーションのユーザーインターフェイス編集も提供します。



XIBは、特定の逆クラスに添付できるスタンドアロンの.xibファイルを追加できるiOS View XIBテンプレートです。



レジストラ -マネージコードをObjective-Cに公開するコード。 NSObjectから継承された各管理クラスのリストを作成することにより、これを実現します。



知っておくべきこと:Android



Dalvik&ART 。 ARTは、Android上のアプリケーションおよび一部のシステムサービスで使用されるAndroidランタイムです。 ARTとその前身のDalvikは、もともとAndroidプロジェクト専用に作成されました。



Multi-Dex -Androidアプリケーション(APK)はDalvik Executable(DEX)の形式の実行可能バイトコードファイルで構成され、アプリケーションの実行に使用されるコンパイル済みコードが含まれています。 DalvikExecutable仕様は、単一のDEXファイルで参照できるメソッドの総数を65,536に制限しています。 Multi-DexはAPKの複数のDEXファイルを作成するため、制限を回避できます。



ABI(Application Binary Interface) -単一のAPKには、いくつかの異なるアーキテクチャをサポートするマシンコードが含まれる場合があります。 アーキテクチャ固有のコードの各コレクションは、バイナリアプリケーションインターフェイス(ABI)に関連付けられています。



AndroidとManaged Callable Wrappersは、.NETがJavaと通信したり、その逆を可能にするものです。



Android仮想デバイスは、アプリケーションのデバッグに使用されるAndroidエミュレーターです。



HAXM(Hardware Accelerated Execution Manager) -仮想化用に設計されたWindowsおよびmacOS用のIntelソフトウェア。これにより、素晴らしいAVDが得られます。



みんな知っててよかった



Xamarin.Formsロードマップは、 Xamarin.Formsの今後の機能と修正のための優れた戦略計画です。



Xamarin プロファイラーは 、既存のXamarinアプリケーションツールと統合します。 これを使用して、メモリリークを探し、パフォーマンスのボトルネックを排除し、アプリケーションを自由にフロートさせる前に磨きます。



Model-View-ViewModel(MVVM)は、XAMLを念頭に置いて考案されたアーキテクチャテンプレートです。 テンプレートは、プロビジョンとモデル(ViewModel)の間の媒介として機能するクラスを介して、XAMLユーザーインターフェイス(プロビジョニング)とソースデータ(モデル)の分離を確立します。 多くの場合、ViewとViewModelは、XAMLファイルで定義されたデータバインディングを介して接続されます。 ビューのBindingContextは通常、ViewModelのインスタンスです。



カスタムリンカー -デフォルトで使用可能なオプションのセットが十分でない場合、XMLファイルを使用してリンクプロセスを制御できます。XMLファイルは、リンカーに必要なものを記述します。



注目に値するポータル





翻訳していただきありがとうございます。



アレクサンダー・アレクシーエフ-Xamarin-developer、フリーランサー。 2012年から.NETプラットフォームを使用しています。 彼はディガンマの調達自動化システムの開発に参加しました。 2015年以来、彼はフリーランスに入り、Xamarinを使用したモバイル開発に切り替えました。 現在、iOSアプリケーションでStecPointで作業しています。



リソースXamDev.ruおよびソーシャルネットワークのコミュニティ「Xamarin Developers」をリードしています: VKFacebookTelegram



All Articles