Androidのモバイルアプリケーション開発アーキテクチャ、クロスプラットフォーム技術の進化

>開発Zatan:Androidのモバイルアプリケーションアーキテクチャの開発の歴史 - https://mp.weixin.qq.com/s/a5PfzO5qh_1P1TcCwdWonQ
  フレームワーク:一度あなたがなるために、長期的、あるいは会社全体を使用することができ、フレームワークの独自のセットを形成大幅に新しいプロジェクトに開発プロジェクトの後半部分の効率を向上させ、開発標準のセットは、新しいプロジェクトに直接使用されるが、ビジネス機能の実現に主な焦点ことができます。
  コアアイデア:「より安全、より便利に呼び出し、コード間の結合度が低い」ことを、目標の良いソフトウェアの永遠の追求です。

--4世代のアーキテクチャ

第一世代:その標準MVCアーキテクチャのワークフロー:
1.Viewは、ユーザーとの対話要求受諾
2.Viewは、コントローラへのリクエスト転送
3.Controllerデータ更新操作のモデル
データ更新、モデルビューデータ変更通知後4
5。ビューの表示データ更新後

世代2:MVP作業フローチャート:
1.Viewは、ユーザーとの対話要求を受け付ける
プレゼンターに要求2.View
3.Presenterデータベース更新動作モデル
データの更新後4は、モデルプレゼンタ通知データが変化
5.Presenter更新ビューデータ

第三世代:MVVMワークフロー:
結合して、イベントに応答する1.View使用するコマンドのDataBindingイベント、ネットワーク要求は、トリガ
方式の2.ViewModel解析および処理を、データ要求するモデルを呼び出して
、要求3.Modelパラメータを受け取りますパッケージやその他の情報は、ネットワーク要求は、ライブラリを呼び出す
4.に他のネットワーク改修ライブラリにサーバーが返すデータを、その後、モデル・レイヤーに戻り
、コールバックを受け取る5.ViewModelエンティティクラスのオブジェクトが返さ
6. XMLエンティティクラスオブジェクトは、双方向のネクタイを実装しているためセット、更新エンティティクラス、その結果、UIの更新

第四世代:コンポーネントベースのアーキテクチャのMVPの+ 4つの世代:
 一般的なアーキテクチャで使用されるこれら3つの項目のトップアンドロイド開発、関係なく、アーキテクチャの種類、それは常に単一構造のプロジェクト、または様々なモジュール間の伝統的なパッケージ名ではありません各モジュールは強い結合である区別するために、プログラムの天然成分が発生し、コンポーネントおよびサブモード解除モードの開発は、各ビジネス開発モードであり、独立したモジュールがAPKであります様々なモジュール間の完全な分離を行う別個のコンポーネントライブラリにリリースモード、各ビジネス・モジュール内にパッケージ。

1.統合モード:すべてのビジネス・コンポーネントは、「アプリの住宅プロジェクト」です完全なAPPを形成するために、依存している;
2.コンポーネントモード:ビジネス・コンポーネントは、独立して開発することができ、各ビジネス・コンポーネントは、APPであり、
3.appの住宅プロジェクト:管理を担当各サービス・コンポーネント、およびパッケージAPK、ない特定のビジネス機能;
4つのサービスコンポーネント:プロジェクトから独立して形成された特定の事業会社;
5.機能部品:APPの開発は、印刷ログとして特定の基本的な機能を提供し、ドロップダウンリフレッシュそして他のコントロール;
6.Mainコンポーネント:ビジネス・コンポーネント、指定されたAPPのスタートページ、メインインターフェイスに属する;
7.Commonコンポーネントは:ビジネス・コンポーネントをサポートする、基本的な機能部品に属し、ビジネス・コンポーネントは、最も必要な機能を提供

  MVC、MVPやMVVMは、彼らはすべてのプロジェクトの符号化構造に属し、コンポーネントベースのアーキテクチャは、プロジェクト全体をエンジニアリングされ、その主な意義は、モジュールごとに完全に分離することにするために、オリジナルのパッケージを区別することであるかどうか、関係なく、技術のどのようにどのようにアップグレードするが、決して変わらないことは、目標の良いソフトウェアの永遠の追求である「コード間の結合の呼び出しより便利に、より安全に、より低い程度」の核となるアイデアです。

モバイル技術の進化の>クロスプラットフォーム開発 - https://mp.weixin.qq.com/s/g44ql1hOMdsfgKMXGjUo6w
 分類は、それらが5種類、すなわちWebアプリケーション、ハイブリッドアプリケーション、言語に分類されている標準的な答えのクロスプラットフォーム技術、ではありませんコンパイラスイッチ、ネイティブレンダリング、自己塗装UI。
 Webアプリケーションは、ネットワーク上で実行されているWebベースのアプリケーションや標準的なブラウザ、Webページの同等を参照して、アプリケーションのシェルを追加します。2014確定HTML5の標準仕様は、Webアプリケーション、ネットワーク上の世論は、ネイティブアプリケーションの勢いを交換しましたが、Webアプリケーションは、それが常にあるという欠点がある「命を支える、主人公の心を。」

PWA(プログレッシブWebアプリケーション)はプログレッシブ・エンハンスメントWebアプリケーションを意味し、それは技術が、概念ではありません、Webアプリケーションを強化するために、様々な技術を使用して特徴:
 サービスワーカー+ HTTPS +キャッシュアピ+でのIndexedDB とウェブのシリーズオフラインのロードとキャッシングのための技術
 プッシュと通知を達成するためには、
 携帯電話のデスクトップに直接添加することができる
 サービス労働者は、バックグラウンド同期かもしれ使用して
、メインの能力PWAがオフラインになっている、プッシュ、デスクトップアクセスをまとめるために、それはPWAネイティブWeb Appを与えると言うことができます経験

ネイティブおよびWeb開発アプリケーションの使用に加えて、それを使用することも可能HTML5 +ハイブリッドであるオリジナルの複合用途開発を、生まれました。
  ハイブリッド技術は、そのようなので、上のPhoneGap、コルドバ、イオン、VasSonicとして、関連をたくさん持っています。
  2011年には、ApacheはNitobi Softwareおよびその製品のPhoneGap、PhoneGapのを取得し、オープンソース、PhoneGapのバージョン2.0も、製品は、Apache Cordovaの名前が変更されました。コルドバ現在サポートされているプラットフォームは、Android、iOSの、Windows版、Mac OSある X、電子。
  イオンFrameworkはオープンソースのUIツールキットで、最初の目標は、モバイルアプリケーションを開発するために、HTML、CSSおよびJavaScriptや他のWeb技術を使用することです。このため、基本的なWeb技術の、イオンは、そのようなので、上のiOS、アンドロイド、ブラウザ、電子、PWAとして、ネットワークの稼働上の任意の場所で実行することができます。
現在、イオン性Frameworkは正式角度に統合されているが、Vueのためのサポートと反応は開発中です。
  VasSonicは、AndroidとiOSのプラットフォーム上で動作しますH5最初の画面を加速するためにテンセントVASチームによって開発された軽量の高性能ハイブリッドフレームワークです。VasSonicは、サーバは、Webオフラインリソースと完全に互換性の静的または動的なウェブサイトを提示しますが、サポートされていないだけ。VasSonicのURL接続カスタムネットワーク接続ではなく、元の要求インデックスHTMLを使用して、それは、ビューを初期化するためのリソース要求を待たないようにするため、事前または並列にすることができます。

  メインの開発言語マイクロチャネルアプレットは、通常のWeb開発に比べて小さなプログラムの開発は偉大な類似性を有する、JavaScriptのです。
レンダリングと論理層にアプレットの実行環境は、2つの層はWebViewのをレンダリングするために使用される界面層をレンダリングする、二つのスレッドによって管理され、JsCoreスレッドは論理層JSスクリプトを使用して実行されます。通信両方のスレッドはJSBridageに微信クライアント(ネイティブ)を経由して輸送を行います。ネイティブの前方を経由しても、論理層ネットワーク要求
  マイクロチャネルアプレットとPWAは、Web技術との差に基づいており、原則的には、アプレットと同様のハイブリッドアーキテクチャは、WebViewのは、基本的なWebコンテンツをレンダリングし、高いネイティブコンポーネントによってレンダリング性能要件のコンポーネント実装は、などのカメラ、ビデオ、地図、として、アクセスできない他の伝統的な地元の容量のWebは、JS SDKで実装する必要があり、PWAは、ネイティブアプリケーションの経験の近くに達成する能力を高めるためのWeb技術の様々な使用です。
  小型マイクロチャネルプログラム自体アプリケーションは、Appオブジェクトを促進することである一方で、それは、戻ってすぐに多くの促進のためのポスターのようなものです、マーケティング・チャネルのよりは、競争ではありません。小さなマイクロチャネル・プログラムの欠点は、経験がアプリケーションと比較することはできません明確で、機能はオンに依存しており、マイクロチャネルの対象を拡大することができません。小さなマイクロチャネル・プログラムは、サブエコロジーの確立であることを特徴とすることができ、マイクロ文字の生態は、オペレータが、開発の他の相手が脅かされると述べました。

  コンパイラは変換言語は、次のプラットフォームのバイナリのための言語コンパイラを直接参照します。Xamarinフレームワークは、それが実現するAndroidプラットフォームのMono仮想マシンに組み込まれているものの、比較的よく知られているが、それは言語のコンパイラ変換型に起因するので、AOTのIOSプラットフォームでは、バイナリファイルにコンパイルされます。
  Xamarinは、2011年に設立され、それが正式に2016年にマイクロソフトに買収されました。XamarinはMonoプロジェクト、クロスプラットフォームの.NET実装をベースとしたオープンソースプロジェクトのブランチです。
そして、等の違いPhoneGapのフレームワークは、Xamarinは、iOS版であってもよく、それらは適切なAPIを呼び出すことができます前に、新しい機能のPhoneGapパッケージを待つ必要があるでしょうPhoneGapのを使用しているAndroidはちょうど、新しい機能、適切なAPIを呼び出すための最初の時間を開始した、ということです。
  仮想マシンモノラルで実行中のAndriodアプリケーションで書かれたC#コード、ARTはACWs(のAndriod呼び出し可能ラッパー)を介してモノC#コードで行うことができます。彼らは、システムの機能やJavaクラスライブラリの実現を呼び出したい場合はC#のコード、MCW(マネージド呼び出し可能ラッパー)によって実現することができます。MCWは、JNIブリッジである、あなたはのAndriodコードを呼び出すために、マネージコードを使用することができます。

 この記事のネイティブレンダリングがネイティブ、Weex、高速なアプリケーションに反応表す、ネイティブJavaScriptとレンダリングコントロールによって中指によって開発されました。
 代表のQt UIフレームワークとフラッターの絵以来。フラッターは、GoogleのモバイルUIフレームワークである、我々はすぐに前身のパイロットプロジェクトグーグルスカイでAndroidとiOS、上の高品質なネイティブ・ユーザー・インターフェースを構築することができます。

おすすめ

転載: blog.csdn.net/ShareUs/article/details/89704571