こんにちは。タップルでモバイルアプリエンジニアをしている緒方 裕樹(@icoriha)です。現在タップルでは、「無料でも本気の恋はできる」をコンセプトにしたマッチングアプリ「Koigram」をFlutterで開発・運用しています。この度、Flutterの最新トレンドのキャッチアップや、他のエンジニアとの交流を目的とし、11月21日から22日にかけて開催されたFlutterKaigi 2024に現地参加してきました。都合によりDay1のみの参加となりましたが、非常に刺激的な1日だったので、その体験を共有したいと思います。

FlutterKaigiについて

FlutterKaigiはエンジニアが主役の、Flutterの技術情報の共有とコミュニケーションを目的としたカンファレンスです。2021年に初開催され、今年で4回目を迎えます。特にオフライン開催は昨年に続き2回目となります。

FlutterKaigi 2024におけるサイバーエージェント スポンサーブース

サイバーエージェントのブース
ノベルティのアベマくんトートバック
ノベルティのアベマくんトートバック

FlutterKaigi 2024において、サイバーエージェントはゴールドスポンサーを務めました。当社では複数のプロダクトをFlutterで開発していますが、当日ブースでは主な4つのプロダクトを紹介し、来場者と技術談義をしたり、ノベルティを配布したりしました。さらにセッションでは、サイバーエージェントからの登壇者は9名に上り、過去最多となりました。

サイバーエージェント社員の登壇セッション

前述した通り、サイバーエージェントからは9名の社員が登壇しました。

 

登壇者が多いだけでなく、各セッションの内容も、アニメーションパフォーマンスの最適化やテーマ管理といったUIに関する話から、FeatureFlagやSLI/SLOの活用といったプロダクト運用戦略まで多岐にわたります。多様なプロダクトの開発に携わっているだけでなく、各々のエンジニアが得意領域を持っていることが、弊社のFlutter組織としての強みだと感じました。本記事内で9名分の登壇内容を個別に紹介することは難しいため、各登壇者名とセッションタイトルの紹介に留めます。詳細は、YouTubeにアップロードされているFlutterKaigiの全セッションをご覧ください。(また、以下の登壇者の写真をタップすると、YouTubeの各セッションパートにジャンプできます)

中鉢かける|Flutterアプリで可用性を向上させたFeatureFlagの運用戦略とその方法
中鉢かける|Flutterアプリで可用性を向上させたFeatureFlagの運用戦略とその方法
伊藤恭平|実践的パッケージ戦略
伊藤恭平|実践的パッケージ戦略
西峰綾汰|アニメーションを最深まで理解してパフォーマンスを向上させる
西峰綾汰|アニメーションを最深まで理解してパフォーマンスを向上させる
新垣清奈|Master of Isolate
新垣清奈|Master of Isolate
長田卓馬|Flutterアプリにおけるユーザー体験の可視化と計測基盤構築
長田卓馬|Flutterアプリにおけるユーザー体験の可視化と計測基盤構築
赤星光誓|WasmがFlutter on the Webにもたらす変化
赤星光誓|WasmがFlutter on the Webにもたらす変化
國師誠也|OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理
國師誠也|OS 標準のデザインシステムを超えて – より柔軟な Flutter テーマ管理
田中宏和|Firebase Dynamic Links終了に備える:FlutterアプリでのAdjust導入とディープリンク最適化
田中宏和|Firebase Dynamic Links終了に備える:FlutterアプリでのAdjust導入とディープリンク最適化
吉田航己|DevTools Extensions で独自の DevTool を開発する
吉田航己|DevTools Extensions で独自の DevTool を開発する

印象的だったセッション

すべてのセッションにオフラインで参加できたわけではないため、後日オンラインで視聴したセッションも含まれます。

Shorebirdを活用したFlutterアプリの即時アップデート:Code Pushの実践と可能性

ShorebirdおよびCode Pushの存在は知っていたものの、「審査なしでアプリコードを変更?そんなことしていいの?」と思っていました。
本セッションではその疑問への回答に加え、Shorebirdの発足、Code Pushの使用方法、料金体系、できることやできないことについて、時にはクイズを交えながら解説され、漠然としていたイメージを固めることができました。
結局、大切なのはサービスを提供する者としてのモラルであり、それを遵守する限りShorebirdはエンジニアの心強い味方になってくれそうです。

体験!マクロ時代のFlutterアプリ開発

コードからコードを生成するコードであるマクロ。導入されれば、コード生成によるボイラープレートの削減が期待できます。Dartのマクロ機能は現在試験公開段階であり、Flutterエンジニアの間で正式リリースが待ち望まれています。
本セッションでは、来るDartマクロの正式リリースに備え、Dartマクロの概要と実装デモが示されました。また、マクロの導入が私たちの開発にどのような影響を与えるかについても詳しく説明されました。
個人的には、「Freezedを通常クラスと同じくらい簡潔に記述できるようになれば」とずっと前から思っていたので、マクロは今最も期待している技術です。また、記述量が多いために他のパッケージに置き換えられることが多いStatefulWidgetやInheritedWidgetなどのFlutter標準の状態管理手法の採用ハードルが、マクロの導入によって下がるのではないかという話も興味深かったです。

Effective Form ~ Flutterによる複雑なフォーム開発の実践 ~

フォームの問題には私も長い間悩まされていました。「よく分からないけど、なんか難しいし無理だ」と完全に解決を諦めてしまい、抗うという発想がありませんでした。しかし、本セッションは「課題を見極め、適切なアプローチをもって臨めば、フォームの複雑性に対処可能である」ということを教えてくれました。
フォームの難しさは、その特性に由来する状態の複雑性であり、正体不明の怪物ではありません。状態の複雑性に立ち向かうためには、RiverpodやFlutter Hooksといった状態管理手法が役立ちます。それらを適切に使用することで、複雑な状態をあるべき場所に再配置できます。私がずっと抱えていたモヤモヤを、慣れ親しんだ手法を用いて解決していく、目から鱗のセッションでした。

ブース紹介

ブースに出展していたのは弊社だけではなく、他社様のブースにも訪問しました。個性的で魅力的なアクティビティやノベルティはもちろん、今回初の試みとしてスタンプラリーも実施されました。イベント開催中に各社のブースを回ってスタンプをすべて集めると、くじが引けるというもので、景品にはあの「Dashくん」のぬいぐるみもありました。
ここでは、訪問したブースの一部をご紹介します。

RevenueCatさん

RevenueCatさんのブース

RevenueCatさんのブースには、可愛らしいぬいぐるみの猫がいました。しかも、アクティビティであるルーレットの景品の一つだとか。「絶対当てるぞ」と意気込んで回した結果はなんと「全部!」思わずガッツポーズ。他の景品であるバッジやキーキャップ、トートバッグと一緒に、無事に猫ちゃんを部屋にお迎えすることができました。

ゆめみさん

ゆめみさんのブース

ゆめみさんのブースでは、ゆめみクイズに挑戦しました。技術的な内容ではなく、ゆめみさんについてのクイズでした。社外の人間にとっては難易度が高かったようで、ブースを訪れた人の大多数が0〜5問正解でした。ちなみに私は3問正解。健闘した方だと思います!

DroidKaigiさん

DroidKaigiさんのブース

DroidKaigiさんのブースには、仲良く並ぶKodeeくんとDashくんが。KotlinのマスコットキャラクターとDartのマスコットキャラクターの共演ですね。よろず相談受付中ということだったのですが、私はタイムリーな悩みである「写真を撮るコツ」を教わりました笑 上手に撮れていますでしょうか。

ビットキーさん

ビットキーさんのブース

ビットキーさんのブースでは、訪問者が開発に携わるプロダクトのディレクトリ構成を再現するパネルが。私は個人で開発している時間割アプリのディレクトリ構成を再現してみました。(うろ覚えで申し訳ないです)
ディレクトリ構成は、企業であれば設計方針が、個人であれば好みが強く反映される部分だと思います。もっとディレクトリ構成をオープンにする文化が広まれば面白いなと思いました。

ブースを巡った感想

訪問したすべてのブースを紹介することができず残念ですが、どのブースでも楽しい時間を過ごしました。技術談義ができたり、ノベルティをいただけたりと良いことばかりでした。来年もぜひ巡りたいです。
ちなみに、私はすべてのブースを訪問したので、最後にくじを引きました。くじの結果は次のセクションで紹介します!

おわりに

当社社員・関係者の皆様での一枚
当社社員・関係者の皆様での一枚

FlutterKaigiのような大規模な技術カンファレンスに現地参加したのは初めてでしたが、学びあり、出会いありと非常に濃密な時間を過ごすことができました。FlutterKaigi運営チームや関係者、登壇者の皆様、本当にありがとうございました。Flutterに興味のある方は、ぜひ次回参加を!
最後の最後に、FlutterKaigiでゲットしたノベルティや景品をいくつかご紹介します。

FlutterKaigiでゲットした、盛りだくさんのノベルティや景品

盛りだくさんですね。次回参加される方はマイバッグの持参をおすすめします笑
くじの結果は3等のFlutterKaigiスプーン(写真左手前)でした!愛用させていただきます。