コネヒト開発者ブログ

コネヒト開発者ブログ

FlutterについてDroidKaigi2023に登壇してました

この記事はコネヒトアドベントカレンダー 2日目の記事です。

コネヒト Advent Calendar 2023って?
コネヒトのエンジニアやデザイナーやPdMがお送りするアドベント カレンダーです。
コネヒトは「家族像」というテーマを取りまく様々な課題の解決を 目指す会社で、
ママの一歩を支えるアプリ「ママリ」などを 運営しています。

adventar.org


初めまして、コネヒトでAndroidエンジニアとして開発しております中島(id:nacatl)です。 開発経歴で言うと、Android→Flutter→Androidという出戻りエンジニアです。 7月にジョインしてから右往左往してたら、もう世間では師走になっており困惑しております。

今回のブログでは、去る9月14日〜16日にかけて開催されました DroidKaigi2023において「Flutterにおけるアプリ内課金実装 -Android/iOS 完全なる統一-」と題しまして登壇したことについて、遅ればせながら少し補足などお話させていただきます。

2023.droidkaigi.jp

当日の様子などはこちらのブログをご覧ください。

tech.connehito.com tech.connehito.com tech.connehito.com

Flutterにおけるアプリ内課金実装 -Android/iOS 完全なる統一-

nacatl名義にて、Day 2のArcticFoxにて 12:00~12:40 の40分間で登壇いたしました。

動画の方もDroidKaigiのYoutubeチャンネルにて、先日無事公開していただきました。 開催の準備から動画の公開まで色々実行していただきましたこと、運営の方々にはこの場を借りて感謝申し上げます。

speakerdeck.com

www.youtube.com

AndroidネイティブではなくFlutterの話、かつまさかの荒木佑一さんのセッションと同じ時間帯ということで伽藍とするだろうとも予想していたのですが、多くの方々に聞いていただきとても嬉しく思いました。

なぜFlutterの登壇だったのか

今回の登壇内容は、表題の通りFlutterというマルチプラットフォームのフレームワークについての発表でした。 ただ先に言っておきますが、コネヒトでは現状Flutterは利用しておりません。

このことは発表内でも述べていますが、冒頭にも書いた通り中島がコネヒトにジョインしたのは7月であって、実はDroidKaigiへセッションを投稿した時点ではまだ以前の職場であるスタディプラス株式会社に所属していました。 そのため、セッション内容もStudyplusの開発における内容で投稿したことが理由です。 発表内容に関しても退職後にも快く協力していただき、改めましてこの場にて感謝申し上げます。

tech.studyplus.co.jp Studyplusからもセッションについて紹介していただいております

セッションの補足について

セッションの本筋に関しましては、Flutterの課金実装に関して自分の知見を余さず発表できたと自負しています。 ただ、最後にまとめとして話したことについて、一言この場で補足いたします。

アプリ内課金も含めてFlutterによる完全なる統一は目指せる

資料にも小さく書いてありますが、「目指すべきか」どうかは各プロダクトの事情によると認識しています。 これは「目指すことが可能である」ことが重要だと思っており、Flutterによってモバイルアプリプロダクトにおける技術選択の幅が確実に広がっていることが肝要です。 Studyplusもこの恩恵に授かったプロダクトのひとつです。

FlutterはモバイルアプリだけでなくWebアプリの開発にも利用できるフレームワークの一つとして、今後も発展していくだろうと期待しています。

FlutterからJetpackComposeへ

ここまで読んでいただいた方にはおそらく、「コネヒトで使ってないんじゃ、転職して知見リセットして仕事してるの?」と思われた方もいらっしゃるかと思います。

これに関しては半分その通りで半分違うという答えになります。

宣言的UI

確かに現状のコネヒトではFlutterそのものは採用していませんが、宣言的UIを用いて開発した経験は活きていると認識しています。 昨今、モバイルアプリの開発では宣言的UIの採用が進んでおり、Android開発では Google I/O 2019 にてJetpack Compose、iOSでも WWDC 2019 でSwiftUIが発表されて、それぞれ既に数年が経っています。

コネヒトの開発するモバイルアプリ「ママリ」においても、それぞれの導入が進んでおります。

developer.android.com

www.youtube.com

developer.apple.com

developer.apple.com

MaterialDesign

また、FlutterはGoogleの後発UIツールキットという立場からか、MaterialDesign、特にMaterialDesign3(以下M3)の導入もAndroidネイティブと同じかそれ以上に進んでいる印象を持っています。 2023/11/16にリリースされたFlutter 3.16では、M3がデフォルト設定になっています。

Throughout the year we’ve worked on completing support for Material 3, the latest version of the Material Design design system. Flutter’s Material widgets now fully support Material 3 and, in Flutter 3.16, Material 3 is now the default style.

medium.com

M3の知見はAndroidでもそのまま適用できるので、コネヒトでもデザイナーの方々と色々知見を共有し合いながら開発を進められていると感じております。

m3.material.io

おわりに

今回は、DroidKaigi2023にてFlutterについて登壇したこと、そこから派生して、転職を経てFlutterの知見をどうAndroidネイティブに活かしているかについて軽く紹介させていただきました。

これからも、Flutterで培った宣言的UIやMaterialDesignの知見を基に、コネヒトのAndroidエンジニアとしてママリをより良いアプリにしていきたい所存です。