先日 FlutterKaigi 2024 に参加したので、そのレポートを書く。
FlutterKaigi 2024
https://2024.flutterkaigi.jp
今回初めての参加となり、2 日間の平日開催なので、1 日だけの参加とした。木金曜日に開催されるのと、YouTube チャンネルでライブ配信する予定だったので、木曜日は家で仕事しながらオンライン参加、金曜日にオフライン参加した。チャンネルを覗くと、過去の登壇の動画もアップロードされているのが非常に良心的と感じた。チケットに懇親会込みと書いてあり、参加する気満々だったのだが、どうやら開催は木曜日の夜で金曜日ではなかったので、ここでスケジュールを確認しなかったことを後悔した。(お疲れ様会を兼ねているかと思ったのだが、早とちりだった。)
FlutterKaigi
https://www.youtube.com
公式サイトはもちろん Flutter Web で作られていて、Flutter ならではなのか公式アプリも Flutter で実装され、リリースされていた。リポジトリを発見し、パッと見た感じ、Supabase SDK を使用しているので、今度の開発の何かの参考になりそう。
GitHub - FlutterKaigi/2024: FlutterKaigi 2024 Official Project
https://github.com
場所は有明セントラルタワーホール & カンファレンスになる。国際展示場駅から歩いてだが、ビルだらけでどのビルが該当するものかわからず、ずっと迷って 10 分ほど遅刻した。ようやく FlutterKaigi 2024 のロゴを見つけ、4 F へ上がっていく。
当日は、事前に公式サイトで購入したチケットを受付で見せて、入れた。ノベルティをもらえたが、豪華であった。手拭きだったり、水筒がついていた。少し歩くと大きなウェルカムボードが出迎えてくれた。
いくつかセッションを見て、お昼休憩時間に会場内を歩いていると、プレミアムブースが並んでいた。
他のカンファレンスでもあるような、面接でどんなことを聞きますかとか Flutter の好きなところをアンケートボードに付箋を貼っていた。(もう少し拡大して写真を撮ればよかった)
アンケート | アンケート2 |
---|---|
会場についてをまとめた後は、セッションへの感想についてをまとめる。
企業がどのように自社プロダクトを Flutter で開発したかや、手を動かして実際の動作を見るハンズオンに近い形のセッションもあれば、技術的に深い内容のものがあり、多種多様で飽きがなかった。結論としては、満足度が高かった。このようなカンファレンスで実務に直結する話が有意義なのはもちろんなこと、技術的に深いトピックも普段触れないため視野を広げてくれた。知名度のある企業が Flutter を使い、実績を生み出していることは、業界の中で Flutter を検討している企業の後押しになる。しかし、セッションのほとんどが若干長く、聞く側としては疲れてしまった。最後のほうは内容が頭にあまり入らなかった。これは宣言を兼ねているので仕方がないことだが、休憩中にずっと CM の動画が流れていたて、しっかり休憩が取れなかったこともあるだろう。
みんなの登壇を見る限り、ライブコーディングには失敗している人が多かった。保険をかけて、事前にデモ動画を撮っている人が多くいたので、これは登壇する上で参考になった。セッションを一通り見終わった後、登壇者がサイバーエージェント出身の方が多いのに気づいた。社内で知見が溜まる職場なのか、プレミアムスポンサーでもあるため社内で登壇を促す動きがあるのかもしれない。
セッションの数が多いので、印象に残ったものを残す。詳細は要調査が必要だが、年末の今度の勉強メモととして残す。
isolate、shorebird による Code Push、Dart macros など、触れたことない技術ついてばかりだった。
Dart macros は、先日 Dart の機能を使って技術的に何か取り組んだかと聞かれ答えられなかった自分にとっては、何かピンとくるものがあった。技術を深く一歩理解するのに experimental なものに触ってみるというのは大事だと痛感した。
Code Push はアプリ内のコンテンツを審査なしで変えられるのは非常に魅力的と感じた。しかし、shorebird でビルドしていないアプリでリアルタイムな変更を反映できないみたいなので、既存のアプリにいきなり導入するというのは少しハードルがありそう。毎回申請をかけるのも大変なので、初期リリースしてスピード感を持って質を向上させるフェーズにはあってそう。これはもう少し用調査。
impeller のレンダリングエンジンやアニメーションのセッションは理解できたようで理解できなかった。短く要約すると、レンダリングエンジンの部分で Flutter 管轄が増えたということだろうか。セッションを繰り返して聞く必要がある。
Firebase Dynamic Link のサービス終了のセッションが自分の中では興味を引いた。Dynamic Links を使っての施策を長く担当した過去がある。Dynamic Links には自分をモバイルエンジニアとして従事させたという感謝や恩があるので、サービス終了にはひどく落胆した。落ち込んでいてもしょうがないと思い、移行先のサービスを探していたところ、その現場を離れることになったので、気になった次第だ。回答しては、adjust にしたみたい。似たサービスで appsflyer と kochavabranch の候補があるのを知れたのも大きかった。appsflyer は無料で branch.io 価格はようお問い合わせと個人開発をする分にはいいことを聞けた。
DevTools extensions 開発のセッションもあり、これは見ていてモチベがあがった。セッションの内容は、riverpod の state notifier のローディング状態のトグルを切り替えるものだった。ゼロベースから実際に作成し、最終的にはローディングの UI 表示と非表示を devtool のトグルで自由に切り替えていた。最後にどんな extension を作るべきかを悩むが、web 開発にはブラウザの extension が多くあるので、それを参考にするといい、登壇を締めた。まさにその通りで、 Vue.js で開発していると Vue.js 用の extension があって、コンポーネントの依存関係や vuex のグローバル state の中身を見られる。Flutter に置き換えると、riverpod の state の中身を見る devtool extension はないみたいなので、挑戦する意欲が湧いた。登壇者は開発しているアプリの中で使う想定をして実装しているが、どうやって pub.dev にパッケージとして公開できるのか探すところから始める。
まだまだ書こうと思えば書けるが、ここでまとめを書くと、数年連続でカンファレンスが開催されるぐらいの規模の技術になっているのを見て、Flutter と関わってよかったと感じる。流行らなかったらと考えると末恐ろしい。カンファレンスに参加して、コミュニティに参加したいと感じた。来年はスタッフ応募する予定だ。案内が公式アプリからプッシュ通知で来たらいいのだが、現場のスタッフにきいたら、2 月ぐらいに案内が出ているみたいなので、X を見てみたい。懇親会に行けなかったことだけが本当に残念だ。どんな企業、どんなアプリが Flutter 導入しているのかを聞き込みしたかった。スタッフになれば色々と聞けるのだろうか。最後、来年は自分も登壇したいと感じた。AST の勉強をしているので、custom lint rule を作った話などで 10 分の LT 枠に応募できたらと感じる。
Flutter は自分をモバイルエンジニアにさせてくれたので、アプリを開発する以外でなにかしら実績を残したい。