一般セッション

To Another Level. Fullstack your AI-Generation App!

yiichenhi Yii Chen

概要

In the AI ​​generation, we are living in now. How can we use it well to develop and implement better products? In this session, I will share with you how to complete an AI application through Flutter Full Stack, combining multi-connection interaction and fun. I will explain the full-end features, functional codes, and benefits it can bring to us so that everyone can experience more possibilities of Flutter!

想定視聴者

  1. All levels of developer
  2. Interested in Flutter Full Stack
一般セッション

Flutterアプリ開発における生成AIの活用

kumamo_tone kumamo_tone

概要

ChatGPTのような生成AIの登場によって、プログラミングの在り方は大きく変わろうとしています。さらに、GitHub Copilot や Cursor などの開発ツールに登場によって、さらに素早く生成AIの機能を使えるようになってきています。

本セッションでは、日常から生成AIをFlutterアプリ開発などのプログラミング作業でフル活用している筆者が、生成AIを使い、より効率的に検索、コード生成、問題解決する方法を探ります。そのためのルールの書き方や、関連ツールについても紹介します。

想定視聴者

生成AIの活用方法が気になるFlutterアプリ開発者

1
一般セッション

Flutterで学ぶ、モバイルアプリのトランジション

kumamo_tone kumamo_tone

概要

トランジションとは、アプリの個々の要素を繋ぐ短いアニメーションのことです。トランジションは、変化した意味を説明したり、UI要素の階層を明確化したり、ユーザーがアプリの動作を直感的に理解するのに役立つため、うまく使うことで、優れたUXを提供します。

本セクションでは、Material Designで紹介されている以下のような代表的なトランジションパターンと、それらの使い道や、実際にFlutterで実現する方法などについて紹介します。また、実際に業務で導入しようとしたときの体験談や反省点などについてもお話します。

  • Container transform
  • Forward and backward
  • Lateral
  • Top level
  • Enter and exit
  • Skeleton loaders

トランジションパターンについて正確に理解することによって、UIアニメーションの利点を、ただ単にカッコいいからといった感覚的な理由からではなく、理屈で説明できるようになると思います。

想定対象者

・アニメーションを使ったUX改善に興味がある人

1
一般セッション

flutter_unity_widget を利用した Flutter × Unity の AR アプリを半年間運用した話

_cokaholic cokaholic

概要

未踏アドバンスト事業 2023 に採択された私は flutter_unity_widget を利用した Flutter × Unity による AR アプリの開発に挑戦し、リリースしたアプリの運用を半年間経験しました。
参考リンク:https://www.cyberagent.co.jp/way/list/detail/id=29535

本トークでは、その際に得た flutter_unity_widget を利用した iOS / Android アプリを運用する上での知見について詳しくお話しできればと思います。

想定視聴者

・flutter_unity_widget を利用したアプリをリリースしてみたい人
・flutter_unity_widget を利用したアプリで気をつけるポイントを知りたい人
・Flutter と Unity を掛け合わしたアプリを作ってみたい人

一般セッション

Macros導入で広がる夢

akaboshinit akaboshinit

今後Flutterが大きく変わる転換点としてMacrosがあります。
私の所属するチームでは、freezedなどのモデル生成からflutter_genでのアセット管理、独自で運用しているmock用クラスを生成するfake_genなどがあります。それらの生成ファイルが既に1000件を超えており、開発環境及びCI環境で無視できない時間がかかっていました。
今後Macros導入によってそれらが何が変わり、何が必要なくなるのかをお話しします。

  1. Macrosの現状と未来
  2. 現状でのbuild_runnerの最適化の限界
  3. Macrosで起こる変化
  4. Macros試しに入れてみた
1
一般セッション

WasmがFlutter on the Webにもたらす変化

akaboshinit akaboshinit

Flutter on the WebがStableになってから3年経ち、さまざまな変化が加えられてきました。
今年はHTML renderer廃止に関するドキュメントが公開され、今後CanvasとWasmのrendererが主力になっていきます
Wasmサポートによって良くなること、できなくなることをHTML,Canvas rendererと実際に動作を比較していきます。

このセッションでは、以下の内容についてお話しします:

  1. Wasmとは一体何なのか
  2. Flutter on the WebのWasmサポートで何が変わったのか
  3. Wasmサポートで、できるようになること、できなくなることをHTML,Canvasとの比較
  4. Flutter on the Webの今後

想定視聴者
Flutter on the WebのWasmサポートで何が変わるか興味がある方

2
一般セッション

詳解 Widget catalog

nato_ring Kohei Natori

概要

Flutterアプリ開発において「Widget」は欠かすことのできない重要な概念です。

Flutterのアップデートともに多彩な進化を遂げているWidgetを、私たちはどれくらい知り、どれくらい正しく使えているでしょうか?
例えば、DialogにはAlertDialog・SimpleDialog・Dialogが存在しますが目的や使い方は異なります。

本セッションでは普段のアプリ開発でよく使うWidgetから最近登場したWidgetまで、その機能と適切な使い所と実装について有名なパッケージなどを例に挙げながらサンプルコードと共に詳解します。

想定視聴者

・ 新しいウィジェットや、あまり知られていないウィジェットの使い方を学びたい方
・ ウィジェットの選択や使い分けに関する知識を深めたい方

一般セッション

FlutterとCodePushの最前線:動的アップデート技術の徹底解剖

appgrape techiro

概要

このセッションでは、Flutter開発における最新のCodePush技術を活用し、コンテンツの動的更新の実現方法を紹介します。CodePushを利用することで、アプリの審査を通さずに迅速な更新が可能となり、開発プロセスが効率化されます。具体的には、CodePushを実現する代表的なパッケージであるShorebirdの内部構造について説明します。また、先駆けとなったReact Native CodePushとの比較を通じて、Flutterの技術的な優位性や制約についても詳しく解説します。

このセッションで得られること

  • CodePushの可能性を探る: 動的なUI更新やアプリロジックの変更がどのように実現されるか、その技術的な将来性を学びます。
  • CodePushの実用シナリオを理解する: 緊急修正や継続的なデプロイ、FeatureFlagの上位互換としてのCodePushの活用法を具体例から学び、効率的な運用方法の知識を得ます。

想定視聴者

  • CodePush技術に興味がある方
1
一般セッション

Impellerを知ろう:Flutterの新レンダリングエンジンの秘密に迫る

Knschwarze Keeeeen

概要

Flutterの新しいレンダリングエンジン「Impeller」は、従来のSkiaと比べて多くの進化を遂げていますが、その具体的な技術的な違いや利点についてはまだ広く理解されていません。
このトークでは、「Impellerを知ろう」というテーマのもと、Impellerの基本的な動作原理やパフォーマンス向上の理由を解説します。
また、メリット・デメリットについても紹介し、実際に運用しているアプリのImpeller有効化の可能性を探っていきます。このセッションを通じて、Impellerの基本をしっかりと押さえ、Flutter開発における新たな可能性を探りましょう。

想定視聴者

  • Flutterの内部構造に興味を持つエンジニア
  • Flutterアプリケーションのパフォーマンスを改善したい開発者
1
一般セッション

最適なScrolling Widgetsを見極める

Knschwarze Keeeeen

概要

FlutterのScrolling Widgetsには様々な選択肢があり、それぞれに適用シーンや特長がありますが、最適な選択をするためには各ウィジェットの利点と用途を理解することが必要です。
このトークでは、Scrolling Widgetsの代表例であるSliverをはじめ、ListView、SingleChildScrollView、CustomScrollViewなどを徹底比較し、それぞれの利点と適用シーンを明確にします。
また、なぜ特定のWidgetがパフォーマンスに優れているのか、その背後にある技術的理由を解説します。また、実際に運用されているアプリでの実例などを踏まえつつ、より効率的でパフォーマンスの高いアプリを開発するための知識と技術を身に付けましょう。

想定視聴者

  • Flutterで効率的かつパフォーマンスの高いスクロール機能を実装したい開発者
  • Scrolling Widgetsの選び方や使い分けに悩んでいる人
  • Flutterのパフォーマンス最適化に興味があるエンジニア
1
一般セッション

flutter_hooksを活用しまくった結果

kikuchy kikuchy

概要

Webアプリケーションでお馴染みのhookという概念があります。
これを使うと状態管理や副作用を隠蔽した状態で、とても宣言的にUIを書き上げることができます。

Flutterにおいてもflutter_hooksを使用することで同等の機能を実現でき、StatefulWidgetを全く書く必要がなくなります。
例えばTextEditingControllerなどの各種Controller系コンポーネントの初期化や破棄の処理をいちいち手書きする必要がなくなるのです。

私は業務でflutter_hooksを活用することで、非常に快適に状態管理を行えています。
本セッションでは以下のお話をします。

  • flutter_hooksとは
  • 便利なhook関数詰め合わせのflutter_use
  • 使うと世界がどう変わるのか?
  • APIコールも意識せずに宣言的に!
    • graphql_flutterの事例
    • 普通のHttpClientを使った通信を宣言的にする
  • riverpod / providerとの棲み分けは?

想定視聴者

  • 徹底的に宣言的UIでアプリケーションを作りたい人
  • flutter_hooksを活用したい人、使ってみるか迷っている人
  • もっと理解しやすく書きやすいコードにしたいと思っている人
1
一般セッション

Flutterと難読化

chigichan24 chigichan24

概要

リリースしたアプリのクラッシュ事例を追うべく、Crashlyticsなどのサービスを眺めていると、身に覚えのないスタックトレースを見た経験はありませんか? Flutter では release buildの場合には、コードが難読化されバイナリに含まれます。
FlutterはAndroid・iOSをはじめとして多くのプラットフォームで動作させる事ができるフレームワークです。Flutterはどのようにして、多くのプラットフォームをサポートする難読化を実現しているのでしょうか?

このセッションは、大きく2つの要素から構成されます。
1つ目は、難読化されたコードに直面したときのトラブルシューティングに焦点を当てたものです。例えば、難読化されたスタックトレースを読む方法や、flutter symbolize の仕組みやオプションについて紹介します。
2つ目は、Flutter の難読化そのものがどのようにして行われるかについて焦点を当てます。Flutterが難読化を行うステップと各プラットフォームでの実例を紹介しつつどのような難読化が行われるかについて紹介します。

想定視聴者

  • 難読化に関連したトラブルシューティングについて知りたい人
  • 難読化そのものについて理解を深めたい人
  • Flutter 特有のマルチプラットフォームでの難読化について知りたい人
2
一般セッション

スケーラブルなFlutter CI/CD:個人開発から大規模SIerまで

ma_freud Masahiro Aoki

本セッションでは、Flutter開発におけるCI/CDの重要性と、各開発環境に適したツールの選択について解説します。個人開発、受託開発会社、自社開発スタートアップ、大規模SIer案件まで、幅広い開発経験を持つ講演者が、実践的な知見を共有します。

主な内容:

  • CI/CDの基本概念とFlutter開発での具体的なメリット
  • 主要なCI/CDツール(Codemagic、Bitrise、GitHub Actions、fastlane)の比較
  • チーム規模と予算に応じたCI/CDツールの選択基準
  • 各開発環境に適したCI/CDパイプラインの構築方法
  • CI/CD導入時の課題と解決策(予算確保、保守方法、上司の説得など)

本セッションを通じて、参加者はFlutter開発におけるCI/CDの実践的な知識を得られ、自身のプロジェクトに最適なCI/CD戦略を立てる力を身につけることができます。

想定視聴者

  • CI/CDの導入を検討しているFlutter開発者
  • 既存のCI/CD環境の改善を目指すチームリーダー
  • 効率的な開発プロセスに興味のあるプロジェクトマネージャー
  • Flutter開発の品質向上とデリバリー速度の改善を目指す開発者

どの規模の開発チームにも適用できる知見を提供し、Flutter開発の効率と品質の向上に貢献します。

1
一般セッション

グローバルFlutterカンファレンスに挑戦しよう!

ma_freud Masahiro Aoki

概要

本セッションでは、国際的なFlutterカンファレンスへの登壇経験を共有します。2024年、State Of Open Conference(イギリス)、Flutter Connection(パリ)、Fluttercon EU(ベルリン)、Flutter Formosa(台湾)に登壇した経験を基に、以下の点についてお話しします:

  • 効果的な英語学習法
  • 採択されるCFP(Call for Papers)の書き方
  • 海外カンファレンスでの適切な振る舞い方

このセッションの最大の目的は、グローバルカンファレンスがもたらす素晴らしい機会を皆様にお伝えすることです。最新のFlutter情報収集だけでなく、有名パッケージの作者との意見交換や、かけがえのない友人関係の構築など、得難い経験ができます。

Flutterコミュニティの一員として、より多くの日本人開発者がこの素晴らしい経験をし、グローバルな舞台で活躍することを願っています。本セッションを通じて、皆様の挑戦への第一歩を後押しできれば幸いです。

想定視聴者

  • グローバルなFlutterコミュニティに参加したいと考えている開発者
  • 海外カンファレンスでの登壇に興味がある方
  • 英語での技術プレゼンテーションに挑戦したい方
  • Flutterの国際的なネットワークを築きたいエンジニア
一般セッション

高品質にアプリデリバリーを3倍にする

新垣清奈

タイトル

高品質でアプリデリバリーを3倍にする

概要

迅速かつ高品質なアプリデリバリーは競争力の源泉です。しかし、開発速度を上げる一方で、品質を落とすことなくアプリを提供することは難易度の高い課題です。本セッションでは、私たちの開発チームが実際に実践し、アプリを週1回リリースから週3回のリリースにデリバリー速度を向上させた具体的な戦略とツールの活用方法を紹介します。

このセッションの内容は以下の通りです:

  • 高リリース頻度を実現するCI/CDの構築
  • コード品質を維持するためのQCとe2eのプラクティス
  • カスタムLintルールの導入と運用によるコード品質の向上
  • SLI/SLOとフィードバックループの活用
  • 実際に得られた成果と改善点についてのデータ共有

想定視聴者:

  • 開発スピードを高めつつ、品質を保ちたいプロジェクトマネージャーやプロダクトオーナー
  • CI/CDパイプラインの構築や最適化に興味があるデベロッパー
  • コードレビューやLintツールを使ってコード品質の向上を目指すチームリーダー
  • 自動テストやモニタリングの導入に関心があるエンジニア
  • システムのスケーラビリティと信頼性を高めたい技術チーム
1
一般セッション

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

ma_freud Masahiro Aoki

本セッションでは、Flutterアプリの「Code Push」(即時コードアップデート)を実現するShorebirdについて深掘りします。Shorebirdを使用することで、FlutterアプリのDartコード部分の更新を、ストア審査なしでエンドユーザーのデバイスに即座に配信できます。

ただし、以下の重要な点に注意が必要です:

  • 初回リリースや大幅な変更時は従来通りの審査が必要
  • 更新できるのはDartコードのみ(ネイティブコードは不可)
  • 各アプリストアの規約遵守が必須

このセッションでは、以下の点に焦点を当てます:

  • Shorebirdの基本概念と仕組み
  • Code Pushの使用方法(ライブデモ含む)
  • CI/CDとの統合
  • 料金体系
  • Shorebirdの利点と課題
  • 実プロジェクトでの経験に基づく知見と教訓
  • アプリストア規約との整合性と法的考慮事項

想定視聴者:

  • 即時アップデートに関心のある開発者
  • Shorebirdを検討中の方
  • 実践的な使用例を知りたい方

複数プロジェクトでのShorebird導入・運用経験を基に、実践的な洞察と具体的なアドバイスを提供します。理論と実践の両面から、Shorebirdの効果的かつ適切な活用方法をお伝えします。技術的側面だけでなく、法的な観点からも安全な利用指針を示します。

1
一般セッション

E2Eテストシナリオのカバレッジを維持する技術

naruogram なるお

概要

私たちのチームは、約2年間にわたり自動テストの運用を行い、そのシナリオ数は70を超えました。その過程で多くの課題と学びがありました。
カバレッジを維持するためには、自動テストの書き方の統一性、痒いところに手が届く記法の必要性などの数多くの課題が存在します。

以下の内容についてお話しします。

  • 基本的なIntegration Testの書き方
  • SMS・メールアドレスログインやWebView、Map機能などの自動テストの書き方
  • 自動テストの効果的な定期実行方法
  • ライブラリ更新に気づく自動テストの手法

想定視聴者

  • Flutterを使ったアプリ開発での自動テストに興味がある方
  • 自動テストの導入・運用を検討中の方
  • Integration Testに興味がある方
一般セッション

作ってわかるDevTools Extensions

itometeam itome

Flutter開発の効率と快適さは、適切なツールの活用に大きく左右されます。本セッションでは、DevTools Extensionsを活用して開発体験を向上させる方法を、実際に拡張機能を作りながら探求します。
DevTools Extensionsは、Flutterの標準開発ツールをカスタマイズし、プロジェクト固有のニーズに合わせた機能を追加できる強力な機能です。このトークでは、DevTools Extensionsの基礎から応用まで、ハンズオン形式で詳しく解説します。

主な内容:

  • DevTools Extensionsの概要と開発体験改善における利点
  • ステップバイステップで学ぶカスタム開発支援拡張機能の作成方法
  • 実践的なコード生産性向上のための拡張機能の実装
  • UIデザインとレイアウト調整を効率化する拡張機能開発
  • チーム全体の開発効率を向上させるDevTools Extensionsの活用法

想定読者

  • 中級〜上級のFlutter開発者
  • 開発プロセスの効率化に興味のあるエンジニア
  • 開発者体験の向上を目指すチームリーダーやテックリード
一般セッション

作ってわかるDevTools Extensions

itometeam itome

Flutter開発の効率と快適さは、適切なツールの活用に大きく左右されます。本セッションでは、DevTools Extensionsを活用して開発体験を向上させる方法を、実際に拡張機能を作りながら探求します。
DevTools Extensionsは、Flutterの標準開発ツールをカスタマイズし、プロジェクト固有のニーズに合わせた機能を追加できる強力な機能です。このトークでは、DevTools Extensionsの基礎から応用まで、ハンズオン形式で詳しく解説します。

主な内容:

  • DevTools Extensionsの概要と開発体験改善における利点
  • ステップバイステップで学ぶカスタム開発支援拡張機能の作成方法
  • 実践的なコード生産性向上のための拡張機能の実装
  • UIデザインとレイアウト調整を効率化する拡張機能開発
  • チーム全体の開発効率を向上させるDevTools Extensionsの活用法

想定読者

  • 中級〜上級のFlutter開発者
  • 開発プロセスの効率化に興味のあるエンジニア
  • 開発者体験の向上を目指すチームリーダーやテックリード
一般セッション

マルチパッケージをFlutterアプリ開発に取り入れる

K9i_apps K9i - Kota Hayashi

概要

  • ネイティブ開発で広く採用されている一般的なマルチモジュール構成、最近ではFlutterでもmelosを使ったマルチパッケージ構成が徐々に導入されています。
  • このセッションでは、実際に業務でmelosを活用してFlutterアプリにマルチパッケージ構成を導入した実体験を共有します。導入のメリット・デメリット、現状の課題、そして今後の展望について具体的に語ります。

想定視聴者

  • マルチパッケージ構成に興味がある開発者
  • melosやPub Workspaceを使った開発に関心がある人
  • マルチパッケージでのアーキテクチャや実践事例を知りたいエンジニア
1