本セッションでは、Flutter開発におけるCI/CDの重要性と、各開発環境に適したツールの選択について解説します。個人開発、受託開発会社、自社開発スタートアップ、大規模SIer案件まで、幅広い開発経験を持つ講演者が、実践的な知見を共有します。
主な内容:
本セッションを通じて、参加者はFlutter開発におけるCI/CDの実践的な知識を得られ、自身のプロジェクトに最適なCI/CD戦略を立てる力を身につけることができます。
どの規模の開発チームにも適用できる知見を提供し、Flutter開発の効率と品質の向上に貢献します。
本セッションでは、国際的なFlutterカンファレンスへの登壇経験を共有します。2024年、State Of Open Conference(イギリス)、Flutter Connection(パリ)、Fluttercon EU(ベルリン)、Flutter Formosa(台湾)に登壇した経験を基に、以下の点についてお話しします:
このセッションの最大の目的は、グローバルカンファレンスがもたらす素晴らしい機会を皆様にお伝えすることです。最新のFlutter情報収集だけでなく、有名パッケージの作者との意見交換や、かけがえのない友人関係の構築など、得難い経験ができます。
Flutterコミュニティの一員として、より多くの日本人開発者がこの素晴らしい経験をし、グローバルな舞台で活躍することを願っています。本セッションを通じて、皆様の挑戦への第一歩を後押しできれば幸いです。
環境構築が開発を行う上で最も最難関の準備パートではないでしょうか? flutter doctor コマンドを使っても解決まで時間がかかった経験を持っている初学者の方はいませんか?
Project IDX はこれらの課題を解決し、すぐに関心事である実装に集中することができます。 Project IDX はいわゆるplaygroundの一種で、オンラインで開発環境を提供するツールです。Flutterはこの中に含まれています。オンラインで開発の環境が完結しているため、環境構築の手間をほとんど0にしてコードを書くことができます。
このプロジェクトは発展途上ではありますが、プロトタイピングに非常に優れています。プロトタイプした完成のみならず、コード自体も共有しアイデアをすぐに実装・プロトタイプに反映する、高速な開発を進めることが可能になります。
このLTでは、IDXを用いてプロジェクトを作る方法や、既存のFlutterプロジェクトをIDXにする方法、エミュレータの使用方法など Flutter のための Project IDX の使い方を共有します。
本セッションではFlutter開発経験が0のモバイルエンジニアのみで構成された弊チームが、どのようにしてFlutterを学び、新規アプリをリリースするまでに至ったかを2024年度版と題してご紹介します。
Flutter導入の背景から、効果的だった勉強方法やそうでなかった方法、実際に新規アプリを開発・リリースするまでの道のりについて具体的にお話しします。
現在では、Flutterで開発したアプリを1つリリースし、さらに2つの新規アプリを開発中です。
Flutterの導入を検討しているエンジニアやマネージャーにとって有益な情報を提供し、実際の導入事例を通じてチーム全体で新しい技術を学ぶ際の参考にしていただければと思います。
・ Flutterに興味があるが、どのように学習を進めれば良いか悩んでいるエンジニア
・ 新しい技術を導入する際のチームの学習プロセスやリソース配分について知りたい方
・ チーム全体で新しい技術を学ぶ際の効果的な方法や、実際の導入事例を知りたい方
・ 新しい技術を導入する際のメリットやデメリット、実際の導入事例を通じて、組織全体の技術戦略を考える参考にしたい方
高品質でアプリデリバリーを3倍にする
迅速かつ高品質なアプリデリバリーは競争力の源泉です。しかし、開発速度を上げる一方で、品質を落とすことなくアプリを提供することは難易度の高い課題です。本セッションでは、私たちの開発チームが実際に実践し、アプリを週1回リリースから週3回のリリースにデリバリー速度を向上させた具体的な戦略とツールの活用方法を紹介します。
このセッションの内容は以下の通りです:
本セッションでは、Flutterアプリの「Code Push」(即時コードアップデート)を実現するShorebirdについて深掘りします。Shorebirdを使用することで、FlutterアプリのDartコード部分の更新を、ストア審査なしでエンドユーザーのデバイスに即座に配信できます。
ただし、以下の重要な点に注意が必要です:
このセッションでは、以下の点に焦点を当てます:
想定視聴者:
複数プロジェクトでのShorebird導入・運用経験を基に、実践的な洞察と具体的なアドバイスを提供します。理論と実践の両面から、Shorebirdの効果的かつ適切な活用方法をお伝えします。技術的側面だけでなく、法的な観点からも安全な利用指針を示します。
私たちのチームは、約2年間にわたり自動テストの運用を行い、そのシナリオ数は70を超えました。その過程で多くの課題と学びがありました。
カバレッジを維持するためには、自動テストの書き方の統一性、痒いところに手が届く記法の必要性などの数多くの課題が存在します。
以下の内容についてお話しします。
私たちのチームは、約2年間にわたり自動テストの運用を行い、そのシナリオ数は70を超えました。その過程で多くの課題と学びがありました。
カバレッジを維持するためには、自動テストの書き方の統一性、痒いところに手が届く記法の必要性などの数多くの課題が存在します。
以下の内容についてお話しします。
Flutter開発の効率と快適さは、適切なツールの活用に大きく左右されます。本セッションでは、DevTools Extensionsを活用して開発体験を向上させる方法を、実際に拡張機能を作りながら探求します。
DevTools Extensionsは、Flutterの標準開発ツールをカスタマイズし、プロジェクト固有のニーズに合わせた機能を追加できる強力な機能です。このトークでは、DevTools Extensionsの基礎から応用まで、ハンズオン形式で詳しく解説します。
Flutter開発の効率と快適さは、適切なツールの活用に大きく左右されます。本セッションでは、DevTools Extensionsを活用して開発体験を向上させる方法を、実際に拡張機能を作りながら探求します。
DevTools Extensionsは、Flutterの標準開発ツールをカスタマイズし、プロジェクト固有のニーズに合わせた機能を追加できる強力な機能です。このトークでは、DevTools Extensionsの基礎から応用まで、ハンズオン形式で詳しく解説します。
Flutter用のゲームエンジン「Flame」をご存知でしょうか? Flameは、スプライト管理、衝突判定、エフェクトなど、2Dゲームに必要な機能を一通り備えています。FlameのGameWidgetはFlutterのWidgetツリーのどこにでも挿入できるため、ゲームアプリ以外のアプリにもゲーム的な要素を盛り込むことができます。
近年のモバイルアプリでは、LottieやRiveといったツールで作成されたベクターアニメーションが盛んに利用されていますが、これをFlameを使ってゲームライクなインタラクティブコンテンツに置き換えると、またちがった面白さが生まれるかもしれません。
このトークでは、Flameを用いて一般的なモバイルアプリのアニメーション演出をユーザーが操作できるコンテンツに変換した事例を紹介します。Flameを活用した派手な演出の作成方法や、GameWidgetとFlutterアプリ本体との連携方法についてもお話しします。
昨今の Flutter 開発の現場において、build_runner は欠かせない存在になっているかなと思います。
しかし一方で、それなりに大きなコードベースで作業されている方は特に、build_runner の実行時間の長さによって生産性が低下したり、また DX (Developer Experience) が阻害されているという人も多いのではないでしょうか。
本セッションでは build_runner による待ち時間を少しでも短くするための tips についてお話しします。
・開発現場で build_runner を使っている方
・build_runner の実行時間に課題を抱えている方
数100万 MAU を誇る大規模アプリを Flutter にてリプレースを行い、現在も開発を続けています。
本セッションでは、少数精鋭 (3〜5名程度) で大規模アプリのリプレースを成功させ、アプリの信頼性を落とすことなく、いま現在も安定した開発を続けている、その開発の裏側についてお話しします。
【セッション内容の詳細】
・技術選定
・どのようなアーキテクチャ、package などを採用したか
・アーキテクチャの解説
・意思決定の背景
・アプリの信頼性を担保するための取り組み
・自動テスト
・モニタリング
・持続可能で安定した開発をどのように実現しているのか
・CI/CD
・チームの技術力の底上げ
・しくじり談
・これからサービスの立ち上げに関わる方
・アプリの品質の担保に悩んでいる方
・少数チームで持続可能で安定した開発を実現させたい方
Supabaseは Firebaseの代替となるオープンソースのBaaSです。
本セッションでは、Supabaseを利用したアプリ開発における、
ユニットテストの実装方法について、
私の業務での実装経験をベースに、
認証、SQLデータベースへのCRUD操作の2つの観点から解説を行います。
具体的には以下の内容について解説します。
Flutter 用のパッケージが提供されていること、
Postgres SQLというFirebaseとの差別化点があることから、
Flutter と Supabaseでの開発は、今後も増えていくと考えられます。
テストに関する情報はまだまだ少なく、
実装に困っている方は多いと考えます。
本セッションが開発者の方々の一助となれば幸いです。
Flutter 3.24のアップデートにて、
Flutter GPU と呼ばれる低レベルのグラフィックレンダリングのAPIが紹介されました。
Flutter GPU により、2Dだけでなく3Dのグラフィックが、
ネイティブのコードの利用をせずに利用できるようになります。
本セッションでは、Getting started with Flutter GPUと、
私の調査結果から、このFlutter GPUについて紹介、解説を行います。
具体的には以下の内容について解説します。
本セッションを通して、Flutterの未来を覗いてみませんか?
Dart や Flutter ではいままで、ビルド時に追加の処理を行う手段がありませんでした。
しかし最近、 Native Assets と呼ばれる新機能が追加され、ビルド時に追加の処理を行うことが可能になりました。
本LTでは、 Native Assets とはそもそもどんな機能なのか、どのように活用できるのかをお話しします。
Dart/Flutter でアプリやパッケージ開発をする方全般
特に、FFIを用いた開発をしている方
現在担当しているサービスはモバイルアプリ(Flutter)とWebブラウザ(PC/SP)の複数プラットフォームに提供していますが、各プラットフォームでは一部を除いて共通のデザインコンポーネントを使って実装しています。
Flutterアプリで効率よく実装、管理するためにはどういったコンポーネント定義なら実装しやすいかをFlutterのコードを踏まえながら、デザイン作業も兼任しているエンジニア目線で解説します。
このセッションでは以下の内容を想定しています
モバイルアプリの開発において、審査は避けられないプロセスです。
しかし、リリース後にバグが発覚すると、再び審査を経る必要があり、ユーザーに不便を強いることがあります。
特にユーザー数が多い企業のアプリでは、このプロセスが大きな課題となり得ます。
このセッションでは、月間約2万人が利用する弓道アプリ「採点簿」での実際のCodePush導入経験を基に、運用ノウハウを解説します。
また、このノウハウを本業の大規模アプリに組み込み、実際に稼働させた過程を具体的に説明します。