マルチプラットフォーム対応が進む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シリーズで同様にマルチプラットフォーム対応を目指しており、マルチプラットフォーム対応はプログラミング言語の発展における新たな競争領域になっている感があります。

関連記事

Compose for DesktopとCompose for Webなどを統合した「Compose Multiplatform」が登場しました。

あわせて読みたい

プログラミング言語 JetBrains Kotlin




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本