読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます。新機能の詳細をご覧ください。
新しいAndroid拡張ライブラリ(AndroidX)は、提供開始から7年経つSupportライブラリの代替であり、様々な事項を合理化し、ライブラリのさらなる進化のための確立された基礎を提供することを目指している。
Android Supportライブラリは、開発者が、古いバージョンのAndroidで新しいOS機能をサポートしたり、同等の機能にフォールバックできるようにすることで、Androidエコシステムの断片化を軽減する効果的な方法を提供する。Googleは次のように述べている。
Support Libraryの採用については驚くべきことに、ほとんどのAndroidアプリが現在、Support Libraryを使用しています。
しかし、その有機的成長によって現れた多くの選択肢は、多くの開発者に混乱を招いている。このような例の1つは、バージョン14(Android 4.0)が現在最低限必要なSDKであるにもかかわらず、「v7」という名前のコンポーネントとパッケージの存在することである。「v7」は、ライブラリが要求するものとしては、オリジナルのAndroid SDKレベルである。
AndroidXが最初に改善しようとしていることは、開発者がどのパッケージがOSに属し、どのパッケージがアプリケーションAPKに同梱されているかを区別できるようにすることである。通常、APKに同梱された(バンドルされていない)ライブラリは、さまざまなバージョンのAndroidで単一のAPIが使用できることを確実にするために有効な方法である。AndroidXを使用する場合、バンドルされていないすべてのライブラリは名前空間androidx.*に属す。名前空間androidx.*には、すべてのSupportライブラリとArchitecture Componentが含まれている。これによって、どの依存関係をapkに含めるべきかを明確にできる。
さらに、AndroidXは、より小さなライブラリを促進するためにパッケージ構造を再設計し、SupportライブラリとArchitecture Componentパッケージ名の両方を簡素化した。ここで、すべてのリファクタリングした変更の一覧を参照できる。
最後に注記として、AndroidXは、どのような条件でバイナリ互換性が保証されるか、あるいは動作しなくなる可能性があるかを明確にするために厳密なセマンティックバージョン管理を採用している。たとえば、リビジョン1.5.0のAndroidXの依存性は、1.7.0でも機能するが、2.0.0では動作しない可能性がある。
AndroidXによる変更によって、既存のコードベースに影響を受け、コードのリファクタリングと依存関係の変換の両方が必要となる。開発者がコードベースを移植できるように、Android Studio Canary 14にはそのプロセスをできるだけ簡単にするためのリファクタリング機能が含まれている。
AndroidXはまだアルファの品質と考えられており、互換性を失う変更があるかもしれない。さらに、既知の問題があるため、Googleは本番のプロジェクトで使うことを推奨していない。
Rate this Article
- Editor Review
- Chief Editor Action