マルチプラットフォーム対応が進むKotlin。「Jetpack Compose for Web」登場、Webアプリ対応のUIフレームワーク

2021年5月6日

Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Kotlinに対応したWebアプリケーション用のUIフレームワーク「Jetpack Compose for Web」のテクニカルプレビューを発表しました。

fig

Jetpack Compose for Webの基となったのは、Android向けのUIフレームワークとしてGoogleが開発し、発表した「Jetpack Compose」です。2020年9月にアルファ版が公開されたばかりで、現在もベータ版として開発が進められています。

Jetpack Composeはマテリアルデザイン対応で、それまでXMLで設定する必要があったAndroidのUIを、簡潔かつ宣言的なコードで記述できるようにしました。

それまでJavaのコードとUIのためのXMLのコードに分かれていたために開発生産性や保守性に課題があったAndroidのネイティブアプリケーション開発が、Jetpack Composeによって改善されると期待されています。

Jetpack Compose for Webの登場

JetBrainsはこのJetpack Composeをベースに、2020年11月にKotlinでデスクトップアプリケーションを開発する際に使えるUIフレームワークの「Jetpack Compose for Desktop」を発表します。

Windows、macOS、Linuxのデスクトップアプリケーショの開発に対応し、Skiaグラフィックライブラリを内部で用いることでハードウェアによる高速なレンダリングを実現。JavaのGUIライブラリであるAWTやSwingとの高い相互運用性も保っています。

そして今回、テクノロジープレビューとして発表されたのが、Jetpack ComposeをベースにKotlinでWebアプリケーションを開発する際に使えるUIフレームワーク「Jetpack Compose for Web」です。

Jetpack Compose for Webは、DOM APIを通じて詳細にUIをコーディングする方法と、Android用JetpackやJetpack Compose for Desktopと同様にウィジェットを用いてUIをコーディングする方法が用意されています。

Kotlinはマルチプラットフォーム対応へ進む

このようにAndroid用として登場したJetpack Composeは、JetBrainsによってKotlinにおけるデスクトップアプリケーションとWebアプリケーションへも対応するように拡張されました。

これはKotlinそのものがAndroidのネイティブアプリケーション開発用だけでなく、デスクトップアプリケーションやWebアプリケーションなどのマルチプラットフォームに対応した言語へと進化しようとしていることが背景にあります。

fig10

Kotlinがマルチプラットフォームに対応するためには、それぞれのプラットフォームに対応したUIを構築するためのフレームワークのマルチプラットフォームが求められることになります。

JetBrainsがJetpack Compose for DesktopとJetpack Compose for Webを開発したのは、そうした理由からです。

現在、マイクロソフトは.NETでマルチプラットフォームに対応したUIフレームワークのMauiを開発中、GoogleはDartに対応しマルチプラットフォームに対応したUIフレームワーク「Flutter 2」を開発中であることを明らかにしています。

JetBrainsはKotlinとJetpack Composeシリーズで同様にマルチプラットフォーム対応を目指しており、マルチプラットフォーム対応はプログラミング言語の発展における新たな競争領域になっている感があります。

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本