GitHub Biaoxing 8.2K +、2021年のAndroidコンポーネント化のための最も完全にオープンなソースプロジェクト

バックグラウンド

Androidクライアントテクノロジーの重要な分野として、コンポーネント化は、近年、業界で積極的な調査と実践の方向性となっています。各大工場のさまざまなAndroid開発チームも、さまざまなコンポーネント化されたソリューションを試し、実践しており、コンポーネント化された通信フレームワークには多くの高品質の出力があります。この記事では、Androidコンポーネント化の開発に携わる学生に刺激を与えることを期待して、主にコンポーネント化ソリューションを紹介します。

コンポーネント化する理由

近年、なぜこれほど多くのチームがコンポーネント化を実践しているのでしょうか。コンポーネント化によってプロジェクトやコードにどのようなメリットがもたらされますか?コンポーネント化は2つの最大のメリットをもたらすと信じています。

1.コンポーネントの再利用性を向上させる

再利用性を向上させ、Androidモジュールに再利用する必要のあるコードを直接作成し、AARをパッケージ化してコードウェアハウスをアップロードするのは非常に簡単だと考える人もいるかもしれません。そうすれば、関数のこの部分を簡単に導入して使用できます。しかし、これだけでは不十分だと感じています。ウェアハウスにアップロードされたAARライブラリを簡単に再利用できるかどうかは、再利用の利便性を高めるために、コンポーネント化されたルールによって制限する必要があります。

2.コンポーネント間の結合を減らします

コンポーネント化のルールを通じてコードを異なるモジュールに分割する必要があり、モジュールは非常にまとまりがあり、低結合である必要があります。モジュールを直接呼び出すこともできないため、コンポーネント通信フレームワークのサポートが必要です。コンポーネント間の結合を減らすと、2つの直接的な利点がもたらされ
ます。1。コードの保守が容易になる
2.モジュールのバグ率が低下する

コンポーネント化を実現する方法

コンポーネント化を実現するために考慮する必要のある問題には、主に次のものがあります。

  • コードデカップリング。巨大なプロジェクトの分解と分離は、非常に時間と労力を要する作業ですが、最も基本的で重要なステップでもあります。
  • データ転送。各コンポーネントは、他のコンポーネント、メインプロジェクトとコンポーネントに提供される場合があり、コンポーネントとコンポーネントの
    UIジャンプ間のデータ転送が行われます
  • コンポーネントのライフサイクル。コンポーネントのロード、アンロード、および寸法削減のライフサイクル
  • 統合されたデバッグ。開発段階でコンポーネントをオンデマンドでコンパイルするにはどうすればよいですか?デバッグ中の統合には1つまたは2つのコンポーネントしか含まれない可能性があるため、コンパイル時間が大幅に短縮され、開発効率が向上します。
  • コードの分離。カップリングを防ぐ方法。

以下は、インターネット会社全体をカバーする、ネットワーク全体で最も包括的な高度なAndroidコンポーネント拡張実用マニュアルです。スペースの制限により、すべてのコンテンツが表示されるわけではありません。スクリーンショットのみを表示できます。完全なコンテンツはPDFにまとめられています。資料。
友だち、「高度なAndroidコンポーネント化と実用的な戦闘の強化」マニュアルが必要な場合は、クリックして入手してください〜

画像(受信するスキャンコード、上位200のみ)

最初の章のAndroidコンポーネント化


コンポーネント化とモジュール化の違いコンポーネント化とプラグイン化の違いコンポーネント化された開発
の利点
ビジネスロジック層
コンポーネント化された開発で遭遇する問題コンポーネント化
の実際の戦いから問題を解決するための
Androidコンポーネント化の基礎
...

第2章Androidコンポーネント化の予備カタログ

コンポーネント化されたデモンストレーションケースの
概要
モジュール化とコンポーネント化
コンポーネント化されたデモ
コンポーネントアプリケーションとライブラリの動的切り替え
...
WanAndroidAPPコンポーネント化されたプロジェクトデモ
バージョンの更新
レンダリングによる実際の戦闘
主な機能
プロジェクトのディレクトリ構造
メインのオープンソースフレームワーク
..
画像

第3章アーキテクチャの進化(大廠章)

  • ZhixingAndroidプロジェクトからの
    コンポーネント化されたアーキテクチャの実践を見てください
    コンポーネント化された調整の理由と目標
    コンポーネント化されたアーキテクチャの調整の全体的な計画。コンポーネント化されたアーキテクチャの調整で発生したいくつかの問題。

画像

  • アプリ
    Androidの完全にコンポーネント化されたデモがリリースされた
    JIMUユーザーガイドを入手してください
    。コンポーネント化された分割の感覚
    ...

画像

  • WeChatアプリ
    WeChatAndroidモジュラーアーキテクチャ再構築の実践
    WeChatAndroidアーキテクチャの歴史
    なぜWeChat再構築
    ..。
    画像

  • Mogujie App
    MogujieAppのコンポーネント化された実現方法
    コンポーネントライフサイクル管理
    シェルエンジニアリング発生した
    問題
    継続的インテグレーション
    周辺機器
    ..。
    画像

  • iQiyiアプリ
    サービスベースのIPC通信
    コンポーネント化されたクロスプロセス通信のコアアピール
    アンドロメダ
    アーキテクチャ分析
    ..。
    ここに画像の説明を挿入


  • Meituanのコンテナアーキテクチャの進化のApp食品配信クライアント
    Meituanフードデリバリーコンテナアーキテクチャのパノラマ。
    のクロスエンドコンテナ建設
    食品配信ページ。のコンテナ建設
    食品配信ページ。の測定指標
    食品
    配達コンテナ化アーキテクチャ。食品配達コンテナ化アーキテクチャのリリース機能
    。。。
    画像


MeituanAndroidコンポーネント化プログラムとコンポーネントメッセージバスモジュラー-イベントの実際の戦闘MeituanAndroidメッセージバスの進化の道:RxBus、EventBus
WMRouterをLiveDataBusに置き換える:MeituanテイクアウェイAndroidオープンソースルーティングフレームワークMeituan Maoyanandroid
モジュラー戦闘-最も詳細なモジュラー戦闘かもしれません

画像

  • Ctripアプリ
    Ctripモバイルアプリアーキテクチャ最適化ツアー
    ..。

画像

  • Alipayアプリ
    Quinoxの紹介
    バンドルの紹介
    リソース管理の
    コンテナ化
    ..。
    画像


  • Atlas-ハンドショッピング用のコンポーネント化されたフレームワークであるAtlasとは何ですか?
    コンポーネント化の誕生。
    デカップリングと依存関係
    。パフォーマンスの進化
    ...
    画像

  • Youzan MicroMall
    コンポーネント変換
    実装計画の概要
    実用的なアプリケーションケース
    ..。
    画像

総括する

コンポーネント化後、コード構造は非常に明確です。階層構造とそれらの間の相互作用は非常に明確です。チームの誰もがコード構造図を簡単に描くことができます。これは以前は不可能でした。コンポーネントのコンパイル時間はそれぞれ10分から数十秒に短縮され、作業効率が大幅に向上しました。最も重要なことは、デカップリング後、開発が必要になるたびに直面するコードが少なくなるため、それほど多くのことを実行する必要がないことです。コードの手荷物は、「書くコードが少ない」という理想的な状況に達したと言えます。

あなたがAndroid開発者である場合、コンポーネント化を学ぶことは非常に必要であり、コンポーネント化の実際の戦いを深く理解することが最も重要です。

スペース上の理由から、この高度なAndroidコンポーネント化の実用マニュアルはPDFドキュメントにまとめられています。完全なドキュメントが必要な場合は、+コメント[1]を高く評価して、無料で情報を入手してください。

この記事、オープンソースプロジェクトhttps://github.com/Android-Alvin/Android-LearningNotesに含まています。このプロジェクトには、さまざまな方向への自己学習プログラミングルート、インタビューの質問/顔、および一連の技術記事が含まれています。リソースは継続的に更新されます…

おすすめ

転載: blog.csdn.net/weixin_43901866/article/details/112769454