Compose Multiplatform 実践:リラックスして、CMPの初歩を探る

はじめに

こんにちは
このシリーズのテーマはCompose Multiplatform 実践:Kotlinでゼロからクロスプラットフォームアプリを開発するです
今回はAndroidiOSのクロスプラットフォームアプリ開発に焦点を当てます
最終日には研究結果と感想を共有します

Compose Multiplatformの紹介

まずはCompose MultiplatformKotlin Multiplatformについて簡単に理解しましょう

Multiplatformという言葉自体はMulti+platform
文字通りマルチプラットフォームという意味です

そしてCompose Multiplatform
現在JetBrainの公式サイトの説明によると
KotlinにおけるCompose宣言型UIを使って
アプリケーションを開発することをサポートしています
現在サポートされているプラットフォームはiOSAndroidDesktopWebの4つです

また、KMM (Kotlin mobile multiplatform)
あるいはCMP (Compose Multiplatform)KMP (Kotlin Multiplatform)とも呼ばれています
以下ではCMPを使ってCompose Multiplatformを表現します
冗長さを避けるためです
ご了承ください!

CMPとKMPの違いは何ですか?

実際、両者はクロスプラットフォームプロジェクトの開発を簡素化し
異なるプラットフォーム向けに同じコードを書いて維持する時間を減らすことを目的としています

Gradleの設定を通じて
共通のソースコード開発と組み合わせて開発時間を短縮できます
例えばcommonMainを通じてクロスプラットフォームコードを開発します
Compose UIはこのレイヤーで開発されます

主な違いは次のとおりです

KMPでは、ターゲットアプリのUIレイアウトを作成するためにネイティブプラットフォームのコードを使用する必要があります
例えば:
Androidではxmlを使用してレイアウトを実装するか
最近ではComposeを使用してUIを実装しています

iOSではSwiftUIを使用して実装します

一方、CMPはKMPの概念を拡張し
同様に共通コードを書くことができ
さらにComposeを使用して複数のプラットフォーム向けの画面を完成させることができます

プレビュー

下の画像のように、Composeだけでマルチプラットフォームの画面を一度に作成できます
Cover

もちろん、これはMaterial Design 3で作られた画面です
iOSの規格と異なることを気にする人もいるかもしれません

しかし過去の実務経験から言えば
プロジェクトを行う際
ほとんどのUIデザインは
iOSの画面をベースにすることが多いです

そのため、各プラットフォーム固有のコンポーネントを除けば
丁寧に作り込めばiOSと非常に似た画面を作ることができます

ですから、この部分は各自のユースケースによって
気にするかどうかを決めればいいでしょうXD

目標

最後に
この30日間で、以下のテーマを中心に共有していきます

まとめ

明日から
Compose Multiplatformについてより理解を深めるためのノートを書き始めます

またCMPは常に更新されています
Googleが発表した記事を見ると

CMPに
より多くのサポートが徐々に追加される
可能性があり、期待できます
Cover
(画像出典:Google Blog)

CMPは比較的新しいものなので
様々な状況に遭遇する可能性があります
ネット上の情報もそれほど豊富ではありません
ですから問題に遭遇した場合は議論して、お互いに学び成長しましょう

You might also enjoy