Google は、UI 開発を簡素化するために Kotlin で書かれた同社の宣言型 UI エンジンである Jetpack Compose のベータ版をリリースしました。
またまた来ました。 Google の新しい UI エンジンである Jetpack Compose については、それがリリースされた頃に書きました。 アルファ、そしてまた JetBrains のとき デスクトッププラットフォームに移植しました. 本日、Jetpack Compose のベータ版がリリースされました。
既存の新しい UI テクノロジーのすべてに追いついていなくて (私はあなたを責めません)、それを望んでいない場合に備えて、 他の記事を読んでいただくために (今、私はあなたを責めています)、これが何を意味するのかを簡単に説明します。 Jetpack Compose は、Kotlin で書かれた宣言型 UI エンジンで、Android の XML レイアウトなどの古典的な命令型 UI エンジンを置き換える (または、少なくとも実行可能な代替となる) ことを目的としています。 宣言型レイアウトと命令型レイアウトの違いについては説明しないので、Jetpack Compose は UI の実装をはるかに簡単にする強力なコード専用レイアウト エンジンであるとだけ言っておきましょう。
それはさておき、Compose のベータ版リリースとは正確には何を意味するのでしょうか? さて、見てみましょう。
API
すべての優れたフレームワークには (定義上) API が必要です。 プレアルファ段階とアルファ段階で、Google は Compose の API をできるだけ直観的で便利なものにすることに熱心に取り組んでいました。 そして、他の優れたプロジェクトと同じように、多くの修正が加えられました。 API は警告なしに削除されたり、名前が変更されたりする可能性があるため、これらの段階で Compose を使用することは困難になる可能性があります。
現在はベータ段階にあり、Google は API が完全で安定していると確信しています。 つまり、(大幅な) 削除や変更がなくなるため、API の変更に対応するよりも実際のアプリの作成に多くの時間を費やすことができます。
もちろん、安定した API は不変の API を意味するわけではありません。 Google は今後も機能の追加や変更を行いますが、今後は適切な非推奨通知と置き換えサイクルが行われる予定です。
コルーチンのサポート
Google のときのことを思い出してください AsyncTask を非推奨にしました Android では、誰もが心配していましたが、その後、そのことを完全に忘れていましたか? それはおそらく Kotlin のコルーチン フレームワークに感謝するでしょう。 最も基本的な形式では、AsyncTask の代替品ですが、より強力で、より柔軟で、よりクロスプラットフォームです。
Jetpack Compose は ある種の コルーチンの使用はサポートされていますが、主に相互運用性レイヤーとして使用されています。 ただし、ベータ版ではコルーチンが Compose に組み込まれているため、非同期呼び出しを再び適切に使用できるようになります。
アニメーション
Android でアニメーションを構築するのは少々面倒なことがありますが、一時期は Compose にもアニメーションが組み込まれていました。 ただし、ベータ版では、Google は作業を容易にする「使いやすい」アニメーション API を約束しています。 また、Android Studio も更新され、これらのアニメーションのプレビューのサポートが追加されたため、アニメーションをテストするためにアプリをデプロイする必要はありません。
レイアウト
Android Studio には、レイアウトを処理するための非常に優れたツールがいくつかあります。 1 つはレイアウト プレビューで、デバイス上でレイアウトがどのように見えるかを確認できます。 もう 1 つはレイアウト インスペクターです。これを使用すると、アプリが実行されているときにそのレイアウトで何が起こっているかを正確に確認できます。 デバイス。
これまで、レイアウト プレビューは Compose レイアウトで機能していましたが、プレビューを更新するために何かを変更するたびにアプリを再構築する必要がありました。 ただし、現在はベータ版なので、Android Studio が更新され、Compose コードのライブ プレビューが含まれるようになりました。
また、以前は、レイアウト インスペクターは基本的に Compose レイアウトでは機能しませんでした。 アプリのスクリーンショットは表示されますが、実際にすべてのレイアウト コンポーネントのワイヤーフレームを抽出して表示することはできませんでした。 レイアウト プレビューと同様に、Android Studio は Compose レイアウトをサポートする新しいレイアウト インスペクターで更新されました。
トークバック
次に、アクセシビリティについて話しましょう。これは、残念ながら忘れ去られがちな非常に重要な機能です。 幸いなことに、Google は忘れていませんでしたが、もっと早く実現することもできました。Compose レイアウトがサポートされるようになりました。 トークバックは、Android の高度なスクリーン リーダーで、コンテンツを読み上げたり、簡単なジェスチャーを使用してディスプレイを操作したりできます。
現時点で主要なアクセシビリティ機能はこれだけですが、Google は安定版までに他のアクセシビリティ機能も追加すると約束しています。 遅いよりは遅かった方が良いと思いますが、これらの機能が XML よりも Compose とより緊密に統合されることを願っています。
そして、それがほぼすべてです。
Jetpack Compose を使い始めたいなら、今がとても良い時期です。 遊んだり学習したりできる機能が充実した API と、Google から直接提供される豊富なチュートリアルが用意されています。 チェックアウト Google の開発者向け Web サイト アップデートと Compose の使用方法の詳細については、こちらをご覧ください。
そしてもちろん、ベータ版の変更についてのご意見や、Compose 全般についてのご意見もお聞かせください。