Jetpack Componentは何か新しいものです
4240 ワード
GoogleはI/O 2019でKotlinがAndroid開発の第一選択言語になったと発表し(どのようにまたハハを発表したのか)、今後新しいJetpack APIと機能がKotlinで提供されることになりますが、Googleは当日Jetpack Composeというものをオープンソースし、何なのか見てみましょう.
ここは現在公開されている資料です. https://developer.android.com/jetpack/compose https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui/README.md
総じてxmlでレイアウトを記述するのではなく、KotlinコードでUIを書くのではないでしょうか.Flutterに似ていて、一部の学生はこれが後退だと思っています(結局無限のネストとコールバックは本当に面白くありません)、進歩だと思っている学生もいます.私はしばらく評価しませんが、グーグルがKotlinとJetpackで力を入れ続けることがわかります.実はみんなは多くmediumの上で外国人が书いたあれらの技术のブログを见て、すべてKotlinで実例を実现して、学ぶ余裕のある学友は试してみて、公式のドキュメントはとても完璧で、言语はとても简洁で、确かに1门の悪くないJVM言语です.
これはmediumの上の大物がまとめた長所です. 100% Kotlin ? It is not part of Android OS which would allow us to keep the same minSdkVersion when we face a bug in the library as it would be fixed separately in the next versions of Jetpack Compose Library. No need to write XML anymore. Can be part of our lovely Android Architecture! Potential flexible reusability ❤ It is part of AOSP, therefore, anyone can contribute to it.
以下は私が公式文書に翻訳したものです(GithubオープンソースJetpack中国語翻訳プロジェクトから取ったもの).
Jetpackアセンブリ
原文リンク:Jetpack Component|Android Developers
UIを構築するための宣言キット
Jetpackコンポーネント(Component)は、UIの開発を簡素化するための非バンドルツールパッケージです.応答型プログラミングモデルとKotlinプログラミング言語の簡潔性と使いやすさを組み合わせた.
注意:Jetpackコンポーネントは現在、初期探索のpre-alpha段階にある.そのAPIレベルはまだ最終的に確定されておらず、生産に使用すべきではない.
JETPACK COMPOSE探索
核心理念
シンプルで使いやすいKotlin
Kotlinのメリットに基づいて、簡潔で安全でJavaと完全に相互運用できます.作成するテンプレートコードの量を大幅に削減し、アプリケーションコードに集中し、さまざまなタイプのエラーを回避できるようにします.
宣言
完全宣言は、カスタムレイアウトの描画や作成など、UIコンポーネントを定義するために使用されます.UIを組み合わせ可能な関数のセットとして記述するだけで、フレームワークはUIの最適化を処理し、ビュー階層を自動的に更新することができます.
互換性
既存のビューと互換性があるため、組み合わせを混合し、すべてのAndroidとJetpackに直接アクセスするAPIを自分の意思で採用することができます.
きれいな応用を創造する
最初から開梱された素材化されたデザイン(Material Design)とアニメーションデザインを採用しているので、ダイナミックなきれいなアプリケーションを簡単に作成できます.
かいはつを速める
より少ないコードを作成し、Apply Changesやリアルタイムプレビューなどのツールを使用することで、開発を加速させます.
クイックブラウズ
JetpackコンポーネントはAndroidオープンソースプロジェクトで開発されています.2つの主要な構成要素があります.コンポーネントUIライブラリでは、レイアウト、入力、テキスト、アニメーション、スタイル、ウィジェット、グラフィックなど、コアUIツールパッケージが含まれています. コンポーネントコンパイラは、カスタムKotlinコンパイラプラグインで、組み合わせ可能な関数を採用し、UI階層を自動的に更新します.
コンポーネント(Component)アプリケーションは、アプリケーションデータをUI階層に変換する組合せ可能な関数で構成されています.新しいUIコンポーネントは、1つの関数で作成できます.
結合可能な関数を作成するには、
JetpackコンポーネントUIライブラリのAPIはAOSP frameworks/support/uiディレクトリにあります.コンポーネントコンパイラとランタイムコードはframeworks/support/composeで入手できます.
コンポーネントUIライブラリ
JetpackコンポーネントUIライブラリには、次のモジュールがあります.
android-text/
Androidはテキストスタック固有の実装
android-view/
既存のAndroidビューのパッケージとアダプタ
animation/
アニメーションコンポーネント
animation-core/
アニメーションシステムの内部宣言
core/
システムで使用されるベースクラスには、基本要素、グラフィック、およびペイントが含まれます.
framework/
基本コンポーネントは、システムによって構築ブロックとして開示される.これには、図面、レイアウト、テキストなどが含まれます.
layout/
基本レイアウトコンポーネント
material/
材料化設計仕様に従って構築されたUIコンポーネントセット
platform/
内部実装では、Androidがホスト側のテストから分離できる
test/
テストフレームワーク
text/
テキストエンジン
ここは現在公開されている資料です.
総じてxmlでレイアウトを記述するのではなく、KotlinコードでUIを書くのではないでしょうか.Flutterに似ていて、一部の学生はこれが後退だと思っています(結局無限のネストとコールバックは本当に面白くありません)、進歩だと思っている学生もいます.私はしばらく評価しませんが、グーグルがKotlinとJetpackで力を入れ続けることがわかります.実はみんなは多くmediumの上で外国人が书いたあれらの技术のブログを见て、すべてKotlinで実例を実现して、学ぶ余裕のある学友は试してみて、公式のドキュメントはとても完璧で、言语はとても简洁で、确かに1门の悪くないJVM言语です.
これはmediumの上の大物がまとめた長所です.
以下は私が公式文書に翻訳したものです(GithubオープンソースJetpack中国語翻訳プロジェクトから取ったもの).
Jetpackアセンブリ
原文リンク:Jetpack Component|Android Developers
UIを構築するための宣言キット
Jetpackコンポーネント(Component)は、UIの開発を簡素化するための非バンドルツールパッケージです.応答型プログラミングモデルとKotlinプログラミング言語の簡潔性と使いやすさを組み合わせた.
注意:Jetpackコンポーネントは現在、初期探索のpre-alpha段階にある.そのAPIレベルはまだ最終的に確定されておらず、生産に使用すべきではない.
JETPACK COMPOSE探索
核心理念
シンプルで使いやすいKotlin
Kotlinのメリットに基づいて、簡潔で安全でJavaと完全に相互運用できます.作成するテンプレートコードの量を大幅に削減し、アプリケーションコードに集中し、さまざまなタイプのエラーを回避できるようにします.
宣言
完全宣言は、カスタムレイアウトの描画や作成など、UIコンポーネントを定義するために使用されます.UIを組み合わせ可能な関数のセットとして記述するだけで、フレームワークはUIの最適化を処理し、ビュー階層を自動的に更新することができます.
互換性
既存のビューと互換性があるため、組み合わせを混合し、すべてのAndroidとJetpackに直接アクセスするAPIを自分の意思で採用することができます.
きれいな応用を創造する
最初から開梱された素材化されたデザイン(Material Design)とアニメーションデザインを採用しているので、ダイナミックなきれいなアプリケーションを簡単に作成できます.
かいはつを速める
より少ないコードを作成し、Apply Changesやリアルタイムプレビューなどのツールを使用することで、開発を加速させます.
クイックブラウズ
JetpackコンポーネントはAndroidオープンソースプロジェクトで開発されています.2つの主要な構成要素があります.
コンポーネント(Component)アプリケーションは、アプリケーションデータをUI階層に変換する組合せ可能な関数で構成されています.新しいUIコンポーネントは、1つの関数で作成できます.
結合可能な関数を作成するには、
@Composable
注記を関数名に追加するだけです.下位レベルでは、コンポーネントはカスタムKotlinコンパイラプラグインを使用するため、下位レベルのデータが変更されると、結合可能な関数を再呼び出して更新されたUI階層を生成することができます.次の簡単な例では、文字列を画面に印刷します.import androidx.compose.*
import androidx.ui.core.*
@Composable
fun Greeting(name: String) {
Text ("Hello $name!")
}
JetpackコンポーネントUIライブラリのAPIはAOSP frameworks/support/uiディレクトリにあります.コンポーネントコンパイラとランタイムコードはframeworks/support/composeで入手できます.
コンポーネントUIライブラリ
JetpackコンポーネントUIライブラリには、次のモジュールがあります.
android-text/
Androidはテキストスタック固有の実装
android-view/
既存のAndroidビューのパッケージとアダプタ
animation/
アニメーションコンポーネント
animation-core/
アニメーションシステムの内部宣言
core/
システムで使用されるベースクラスには、基本要素、グラフィック、およびペイントが含まれます.
framework/
基本コンポーネントは、システムによって構築ブロックとして開示される.これには、図面、レイアウト、テキストなどが含まれます.
layout/
基本レイアウトコンポーネント
material/
材料化設計仕様に従って構築されたUIコンポーネントセット
platform/
内部実装では、Androidがホスト側のテストから分離できる
test/
テストフレームワーク
text/
テキストエンジン