見出し画像

DroidKaigi 2024カンファレンスレポート【各講演の学び】

9/11~13に開催された「 DroidKaigi 2024 」にRIZAPメンバーが参加。ここでは、会期中に開催された数々の講演について、メンバーがそれぞれの言葉で感想をまとめています
(メンバー別⇒参加した講演別に目次を分けています)。


↓↓↓ 現場レポートはこちら ↓↓↓

~~~~~~

※以下、登壇者の皆さんが資料を公開されているセッションについては、文中で引用させていただいています。]

Androidエンジニア北村涼の感想まとめ

1. Context を理解する

context とは何かをGoogle のドキュメントを見た後、Context class を継承した ApplicationContext と ActivityContext の役割を確認することで、どのような場面・メソッドで context を取得すれば良いのかを知ることができました。

context はアプリケーション開発最初期に触るものであるため、誰にとっても馴染みがあるものです。ただし、雰囲気で使えてしまう書き方もあるため、このセッションによって具体的な使い方を理解できました。

2.たすけて!ViewModel / Help me! ViewModel

Android 開発では MVVM パターンが広く使われていますが、実際に書く上ではいくつかの迷いが生じます。実際の経験をもとに、このような場合はこうすると良い、というパターンや考え方を共有されていました。

ViewModel を実装する上で、ふと気になるようないくつかのポイントが紹介されていました。特に、エラーハンドリングの事例は誰もが初めて触る際に気になるところでしょう。

MVVM というパターンは広く認知されていますが、実際にコードを書くとなるとさまざまなバリエーションが出てくる点は、その通りだなと思いました。

場当たり的に書いていくのではなく、なぜこのバリエーションになったのかをちゃんと説明できる状態でコードを書く必要があるという点が、今回の発表のポイントだったと思います。

3.デザインからアプリ実装まで一貫したデザインシステムを構築するベストプラクティス

デザインシステムをどう作っていくかという話です。 デザインシステムは完全に分断されたチームで作るのではなく、さまざまな人が関わり合いながら作成していきます。 エンジニア・デザイナがお互いの領域を越境してどう仕事をするのか、またエンジニアが Figma とどうか関わっていくかという事例が紹介されていました。

昨今のフロントエンドアプリケーションでは、デザインシステムを用意する事例が目立ってきています。 「デザインシステムとはチームを横断して作成するもの」という内容はとても共感できました。 Figma で定義されたカラーコードを自動的に実装に落とし込める仕組みは知らなかったので、試してみたいと思います。

Androidエンジニア藤井賢太郎の感想まとめ

4.Kotlin 2.0が与えるAndroid開発の進化

daasuuさんによるセッションです。早くKotlinを2.0に上げたい気持ちが高まるような内容でした。

改善点はいろいろありますが、特にBacking Fieldを書く時の手間が減り、かつ読み易くなる改善については「待ってました!」と言いたいです。

また、発表の最初の方ではKotlin 2.0へのmigrationの話もされていたので、これからリリースしていくアプリにおいては大変助かると思います。

chocoZAPアプリは現在Kotlin 1.9を使っており、まさに2.0への移行中ですのでチェックリストとしても使用させていただこうと考えています。

5.海外就職というキャリアの選択肢

てつさんによるセッションです。現状、自分自身が海外就職することは考えていないですが、行う場合はどういった考慮が必要になるのだろうと気になって話を聞きました。

内容からは、現地で生活して働くための準備と心構えが大変重要という感想とともに、根本の考え方としては国内の転職でも役に立つことがあるように思いました。

今後海外就職を考えていない人でも資料を見てみると良いと思います。

6.仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう

外山さんによるセッションです。前半はスクリーンショットテストで使うライブラリの紹介や、それらを使った環境を構築するところをお話されていました。

chocoZAPアプリではそのようなテストは行えておらず、そのうちちゃんとやるぞとチーム内で話していたため、環境を作るときには大いに参考になりそうです。

後半は一部抜粋されたサンプルコードを見ながら、さまざまなスクリーンショットを撮る時の指定方法についてのお話でした。

ポイントとなる箇所に資料でコメントしていただけているため、今後実際にテストを書く時には助かりそうです。

7.アプリをリリースできる状態に保ったまま段階的にリファクタリングするための戦略と戦術

弊社の技術顧問としてお世話になっている、あんざいさんによるセッションです。

リファクタリングのモチベーションの話から、あんざいさん流のリファクタリングの戦略と、その戦略を使ってモデルプロジェクトをリファクタリングする話をされていました。

chocoZAPアプリはリファクタリングしていきたい&していっている箇所があり、モチベーションも戦略の内容にも共感できる内容でした。

モデルプロジェクトを使用したリファクタリングの話は、モデルプロジェクトの中に今後リファクタリングしたいと考えているものがある場合に、どのタイミングでどのような手入れをしていけば良いかの参考になりました。

8.使って知るCustomLayout. vs DailyScheduler

Iijimaさんによるセッションです。最初にComposeで独自レイアウトを作成する場合などで使用される4つの関数を紹介しているのですが、できることと用途をまとめていて、大変分かりやすかったです。

また、それらの情報から、どの関数を使用すれば良いかを選択する際の助けになるフローを作成されており、これは今後役に立つ時がきそうと思っています。

後半はカレンダーアプリなどでよく見る、1日の予定表の見た目を作成する例を話されていました。 位置をSnapしながらDrag&Dropできるようにしたり、Recompositionの対策をしたり、多くの予定を抱えた予定表にも対応できるようにしたりと、いろいろなテクニックの話があり、今後使える機会がありそうです。

9.実践!難読化ガイド

みっちゃんさんによるセッションです。R8の話を中心に、たまにコラムとしてProGuardやデコンパイルの話を織り交ぜて話されていました。

keepの種類と、keepするときに記述する記号の説明についてまとめられていたページは早見表として分かりやすかったです。

最後の方で話されていた、難読化されたクラッシュレポートとの戦い方のmappingファイルとretraceコマンドは、いざという時に役にたつ武器になるかと思います。


\あなたもRIZAPのエンジニアとして働きませんか?/

▽新卒採用

▽中途採用

この記事が気に入ったらサポートをしてみませんか?