📱

FlutterKaigi2024に参加してきたよ

2024/11/27に公開

2024年11月21日(木)、22日(金)にFlutterKaigi2024が開催されました。
https://2024.flutterkaigi.jp/

弊社 リンクウェル はFlutterKaigi2024のブロンズスポンサーとして協賛しました。
https://x.com/lincwell_dev/status/1848205749220241782

そんなFlutterKaigiに初日のみですが参加してきたので、聞いてきたセッションの中で特に印象に残っているセッションについて紹介します。

なぜ参加したか

私が開発に携わっているクリフォアアプリはFlutterで作られています。
https://health.clinicfor.life/app

https://note.com/lincwell/n/n705350f04a4b

私は普段バックエンド開発をメインに行なっているのですが、Flutter開発に携われるチャンスがあったので、Flutter開発の事例やトレンドをキャッチアップして業務に活かすために参加しました。

参加してどうだったか

セッションの内容はFlutterエンジニア以外でも応用できる内容が多くとても学びになりました。セッションを聞いている間は、同じセッションを聞いている弊社のエンジニアとSlack上で疑問点を聞いたり感想を言い合ったりしていたのですが一人で淡々と聞いているより理解が深まり楽しく聞くことができました。

セッション内容

ここからは印象に残っているセッションについて紹介していきます。

Figma Dev Modeで変わる!Flutterの開発体験

https://speakerdeck.com/watanave/figma-dev-modedebian-waru-flutternokai-fa-ti-yan

変更差分の検知にCompare Changesが有効だよという内容が気になりました。Figma Dev Modeは弊社でも活用しているのですが、変更差分の検知が難しいという課題が上がっていたので試してみたいです。ただし、Compare Changesは同一ページの変更差分がわかるという機能なので注意が必要です。

Figmaでデザイン画像とJSONファイルを出力し、CursorのAIにデザイン画像とJSONファイルを読み込ませてWidgetを効率的に実装する方法が紹介されました。JSONを一緒に読み込ませることで、画像のみの場合より精度が大幅に向上する点が特に印象的でした。この点に関しては、バックエンドのプロンプト設計にも応用できるはずなので、色々と試行錯誤してみたいです。

セッション内では、プルリクエスト時点でデザイナーのレビューを取り入れている企業は少ないとの話がありましたが、弊社ではそれが実現できているため、自信につながりました。

Flutterによる効率的なAndroid・iOS・Webアプリケーション開発の事例 - スタディサプリ for SCHOOL

https://speakerdeck.com/recruitengineers/flutterkaigi-2024-wakamiya

スタディサプリ for SCHOOLでは、プラットフォーム間の仕様差を抑えるため、モバイルアプリとWebアプリをFlutterにリプレースを実施しました。この結果、開発フローがシンプルになり、効率が向上した一方、学習コストが課題として挙げられました。個人的にはFlutterに統一することでディープリンクに悩まされなくなるという点は大きなメリットに感じました。

Flutter Webでは2024年2月までJSとの接続に問題があった等、安定してるとは言い難いようです。WebまでFlutterを採用するのであれば、Flutter Webの問題に向き合う覚悟が必要と感じました。

WebアプリをFlutterにリプレースする事例は珍しく、非常に興味深かったです。ネイティブアプリのリプレースについてはブログ記事も共有されており、詳細を知ることができます。
https://blog.studysapuri.jp/entry//entry/2024/06/05/for-school-flutter-replace

キャッシュレス決済アプリでのFlutterの部分的採用から全面採用まで

https://2024.flutterkaigi.jp/session/f4966e95-b266-4edc-abde-f61c359b3a40

Flutterを部分的に採用しても、Hot Reloadを利用できるなど多くのメリットを享受できると紹介されました。Flutter化に伴いOS間のUIは既存のUIを使うのではなく新しく専用UIを用意したというのは良いアプローチだなと思いました。

Flutterを導入する場合の基本方針は全面採用を推奨し、ネイティブ機能が少ないなど全面採用が難しい場合は部分的採用を検討するのが良いとのことです。

Flutterの学習を早めるために、各チームが3交代で24時間勤務している状態を作っているというのは驚きました。オフショア開発をしている会社の強みをうまく活かしているなと思いました。

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

https://2024.flutterkaigi.jp/session/dd12ee26-4d87-4081-a01a-621411231a94

アプリのストア審査をスキップして即時アップデートを実現するShorebirdの活用法が紹介されました。従来はWebViewを使う方法が一般的だと思っていましたが、ShorebirdでもFlutterアプリの更新が可能になります。

ただし、課題もありパッチの反映はデフォルトの挙動だとアプリを2回キルしないと反映されません。これはアプリのインストール時も同様でインストール後に2回キルすることで反映されます。この辺りはカスタマイズができるようなのでそれによりどこまで解消できるかは気になるところです。また、コスト面は無料枠があるものの、1パッチ/1ユーザーでコストがかかってきます。アクティブユーザー数の多いアプリではコストが増大するので注意が必要です。

パッチについて、元々のアプリとは違う内容でパッチを当てることは技術的に可能です。ただし全く別の内容に変更してしまうことは禁止されているなど、法的な観点で考慮しなければいけない事項があるので、必ず確認してから利用するようにしましょう。

最後に

触れたことがない言語やフレームワークのカンファレンスでも学びが多かったのは自分の中で新しい発見になったので、今後も様々なカンファレンスに参加したいと思いました。

FlutterKaigiに少しでも興味を持った方は、来年も開催されると思うのでぜひ参加してみてください。
最後に、素晴らしいカンファレンスを作り上げてくださった運営の皆様、本当にありがとうございました。

Linc'well, inc.

Discussion