BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JetBrains Compose Multiplatformがベータ版へ

JetBrains Compose Multiplatformがベータ版へ

ブックマーク

原文(投稿日:2021/10/31)へのリンク

JetBrains Compose Multiplatformは、アルファ版として発表されてから数か月後にベータ版となった。そこには多くの改善があり、1.0リリースに向けたステップとしてAPIが安定化された。

Google Jetpack Compose宣言型UIフレームワークにインスピレーションを受けており、Compose Multiplatformは、そのアプローチを複数のプラットフォームに拡張することを目指している。そこには、Compose for DesktopとCompose for Webが含まれており、Kotlin Multiplatformを活用してさまざまなプラットフォームをサポートする。特に、Compose DesktopはGoogleのSkiaライブラリを使って、Windows、macOS、Linux上でUIウィジェットを描画する。これにより、サポートされているすべてのOSで統一されたエクスペリエンスが提供されますが、一方でそのために各プラットフォームのネイティブのルックアンドフィールを犠牲にしている。

KotlinおよびJetpack Composeとの厳密な関係を考えたときに、Compose Multiplatformの主な魅力は、モバイルに加えてWebとデスクトップをサポートする必要があるAndroid開発者にあるようだ。

JetBrainsベータ版の重要な変更の1つは、独自のバージョンを公開するのではなく、Androidプラットフォーム上のGoogle Composeアーティファクトを直接参照するようになったことだ。これにより、クラスの重複などの競合が防止され、互換性が向上する。

Compose Multiplatformベータ版のほとんどの改善点は、デスクトップバージョンに対するものである。例えば、ハードウェア互換性を拡張するための改善されたレンダリング、新しいマウスポインターAPI、macOSでのアクセシビリティサポートなどである。

現在、ソフトウェアレンダラーは、ターゲットシステムで使用可能なグラフィックハードウェアに問題が発生した場合のフォールバックレンダラーとして使用される。たとえば、レンダリングシステムでDirectXで問題が発生した場合には、OpenGLの使用に戻すことができ、それでも失敗した場合は、ソフトウェアレンダラーに戻すことができる。JetBrainsでは、ソフトウェアレンダラーのパフォーマンスが改善し、長方形以外のビューのサポートが追加された。

新しいマウスポインタAPIは、新たにホバーのイベントが利用できるように拡張された。これは、移植可能な方法でコンポーザブルのホバー状態にアクセスできることを意味する。

macOSに対するアクセシビリティサポートにより、弱視や目の不自由なユーザがVoiceOverを使用できる。これはWindowsを含むすべてのOSでCompose Multiplatformにアクセスできるようにするための最初のステップである。

ベータ版の新機能に関する最後の記載事項として、Compose MultiplaformのWebターゲットがSVGグラフィックスをサポートすることになった。これにより、@Composable APIを使って、ベクター画像を定義してアプリに埋め込むことができる。

1.0リリースに備えるために、JetBrainsは、十分なフィードバックを受け取っていないか、実験的に変更される可能性のあるすべてのAPIに注釈を付けた。実験的でないすべてのAPIは、ほぼ安定していると見なせるとJetBrainsは言っている。

現時点では、JetBrainsがCompose MultiplatformのターゲットとしてiOSをサポートするかどうか、いつサポートするかはまだ明確ではない。ただし、Jetpack ComposeをiOSプラットフォームに導入することを目的とした独立したプロジェクトについて言及しておく。これはまだ実験段階だ。その名称はMultiplatform-Composeだが、JetBrains Compose Multiplatofrmと混同しないでください。

Compose Multiplatformを始めるときには、デスクトップWeb用のJetBrainsチュートリアルを参照してください。もう1つ役に立つリファレンスとして、公式のサンプルアプリショーケースがある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT