FURYU Tech Blog - フリュー株式会社

フリュー株式会社の開発者が技術情報を発信するブログです。

DroidKaigi 2024 レポート 1日目

本記事は2024年9月11日(水)〜13(金)に開催されたDroidKaigi2024の1日目のレポートです!

はじめに

こんにちは。 ピクトリンク事業部でwebアプリケーション開発を担当している西村です🧑‍💻
今回は弊社がDroidKaigi2024にスポンサーとして関わらせていただいたので、そちらのレポートを記載したいと思います!

DroidKaigiとは

DroidKaigiはエンジニアが主役のAndroidカンファレンスです。
今年で10年を迎えるDroidKaigiは、Android技術情報の共有とコミュニケーションを目的に2024年9月11日(水)〜13(金)の3日間開催します。
2024.droidkaigi.jp

DroidKaigiも10回目ということもあって、複数回参加したことがある人が大勢いるようでした👍

1日目の概要

1日目はワークショップ・デイです。
From 0 to 100 with Kotlin and Compose Multiplatform と題してKotlin Multiplatform(以降KMP)と Compose Multiplatform(以降CMP)によって、
コードを最大限に再利用しながら優れたクロスプラットフォームアプリケーションを構築する方法を学びます。
講師はJetBrains社からSebastian Aignerさんが担当して下さりました。

ワークショップの様子

ワークショップの内容は以下に分けて実施されました。

Part 1: Intro to Kotlin Multiplatform
Part 2: Intro to Compose Multiplatform

それぞれのパートでの内容を簡単にご紹介します。

Part 1: Intro to Kotlin Multiplatform

KMPはDesktop/Server/iOS/Androidなど様々なプラットフォームのコードをKotlinで共通化できるというものです。
共通化することで開発コストやメンテナンスコストを下げるメリットがあります。

以下の例ではiOS/Androidで共通しているビジネスロジックを共通化しています。
バリデーションや通信周りなどを共通化できるとすごく助かりますよね🙌

Part 1では2つのサンプルプロジェクトを使用し、KMPを学びました。
1つ目のプロジェクトではローカルストレージにデータを保存する処理、
2つ目のプロジェクトではAPI Clientを作成し、それらを共通化することでKMPの理解を深めました。

またワークショップでは使用するIDEが指定されており、JetBrains社が提供しているFleetを使用しました。
FleetはKMPの開発に対応しているIDEツールです。
様々なマルチプラットフォームのビルドが容易に行えることが特徴です。

JetBrains Fleet: コードエディターを超えるツール

Part 2: Intro to Compose Multiplatform

CMPはKMP同様にマルチプラットフォームでJetpack Composeで作成したUIを共有できるというものです。

以下の例ではCMPとKMPを利用し、マルチプラットフォームでコードを共通化したものです。
各プラットフォームに依存するUIやロジックはありつつ、共通化できるものをCMPとKMPを利用することで生産性の向上が見込まれます。

Part 2では1つのサンプルプロジェクトを使用し、CMPを学びました。
以下のようなカウントできるHabit Trackerの作成をしましたが、
jetpack composeを触ったことがない人や宣言的UIに慣れていない人は少し難しかったかもしれません。

感想

ワークショップは英語で実施され、翻訳も無いとのことだったので参加する前はかなり不安でしたが、
当日はなんとかついていくことができました🙄
ワークショップでは3つのサンプルプロジェクトを触りながらKMP/CMPを学んでいくものでしたが、
KMP/CMPの知識量が少なくてもプログラムを完成していけるレベル感でした!
説明を聞くだけでなく、実際に手を動かしながら学んでいくことで理解がとても深められたと思います。
また機会があれば参加したいです👍