LTセッション

OpenApi Generatorによるクライアントコード自動生成とRepository層におけるテストコードを考える

yamahiro248 yamahiro248

概要

OpenApi Generatorによる通信周りのDartのクライアントコードを自動生成できる。
このコードを使ってRepositoryの実装を行なっていくことになる。
恐らく、多くの方は基本的な方針として「swaggerのYAMLファイルをメンテナンスする」としたいはず。

そうなると、生成されたコードには一切の手をつけないままで、
プロダクトコードとUnitTestコードともに動作させられるコードを書く必要がある。

このコードの中で
「どのようにテストコードを書いたらよいか」を一つのアプローチを実例を踏まえて説明をしたいと思います。

想定視聴者

OpenApi Generatorによるプロダクトコードへの反映を考えているエンジニア
テストコードの書き方が気になっているエンジニア

1
LTセッション

生成AIでデザインからコード出力はどこまでできるのか?2024年版

yamazaking0 Shoichi Yamazaki

概要

生成AIの急速な進化により、私達の生活や仕事においてAIを利用することが身近になりました。
2024年現在、複数の生成AIサービスが提供されており、チャット形式で疑問に答えてくれたり、コーディングのサポートなど徐々に私達の生活に欠かせないものになりつつあります。

本セッションでは、単一の生成AIサービスを用いて、デザインからFlutter用のコード出力した場合のポイントやTipsを深堀りする形で解説していきます。(ChatGPTを想定)

想定視聴者

・AIに興味がある

・プロトタイプを爆速で開発したい

・デザイナーやPMなど、エンジニア以外でも開発に興味がある

LTセッション

すべて自腹!各種サービス徹底比較!生成AIでデザインからコード出力 2024年版

yamazaking0 Shoichi Yamazaki

概要

生成AIの急速な進化により、私達の生活や仕事においてAIを利用することが身近になりました。
2024年現在、複数の生成AIサービスが提供されており、チャット形式で疑問に答えてくれたり、コーディングのサポートなど徐々に私達の生活に欠かせないものになりつつあります。
本セッションでは、生成AIの中でも特に注目されている「画像からコードを生成する機能」に焦点を当てます。ChatGPTやGeminiをはじめとする最新の生成AIサービスを徹底的に比較し、読み込ませたデザインからFlutter用のコード出力結果にどのような違いがあるのかを明らかにします。また、性能や使い勝手を実際の例を用いて検証・比較をしていきます。

想定視聴者

・AIに興味がある

・プロトタイプを爆速で開発したい

・デザイナーやPMなど、エンジニア以外でも開発に興味がある

LTセッション

ネイティブ連携を加速するPigeon活用法

ma12441469 masaki futami

概要

セッションの概要を記載してください。

このセッションでは、Pigeonを活用してDartとネイティブプラットフォーム(iOS/Android)間の連携を加速する方法について詳しく解説します。
Pigeonは、Flutterアプリケーションとネイティブコードの間の通信を簡素化し、開発効率を向上させるツールです。
以下のポイントに焦点を当てて説明します。

  1. Pigeonの基本概念
  2. Pigeon導入方法
    • 導入手順や初期設定のガイド
    • 必要な依存関係や準備すべき環境
  3. 使用例
    • 実際にPigeonを使用して、Flutterアプリケーションとネイティブコード間のデータ交換や機能呼び出しを実現する具体例を紹介します。

想定視聴者

誰に向けたセッションなのかを記載してください。
・MethodChannelで四苦八苦している方
・Pigeonに興味がある方

1
LTセッション

200人が参加する弓道大会を支えたアプリ開発と運用

BowyerApp Takaya Shono

概要

9月7日に「弓道の日」記念交流射会が開催されました。全国各地から弓道家が集まり、200人が参加する大規模な大会となりました。
通常、弓道大会では紙で記録が張り出されますが、今大会ではアプリを用いてリアルタイムに記録を共有しました。

今回のアプリでは、リアルタイム記録の閲覧、参加者間のプロフィール交換機能(QRコード使用)、大会前後の通知機能を搭載。大会はボランティア運営でコストゼロが求められ、私はFlutter、Firebase、Google Spreadsheetを活用して、すべてのシステムを一人で構築・運用しました。

大会運営はボランティアで行われたため、コストゼロでの運用が求められました。
エンジニアは私一人だったため、これらのシステムを全て1人で構築・運用しました。
このノウハウは、他の大会やイベントでも活用できると考えており、今後、同様のイベントでアプリを導入したいという方々に役立てば嬉しいです。

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

  • FirebaseとGoogle Spreadsheetを用いたリアルタイムデータ同期システムの構築方法
  • QRコードとFirebaseを用いたプロフィール交換システムの構築方法
  • その他、リアルタイムイベントを実施するためのノウハウ

想定視聴者

これから特定ドメインのイベントアプリの開発を行いたい方

LTセッション

FlutterプロジェクトでのOpenAPI運用

shintaku_square 新宅 千晶

概要

APIの仕様の管理は、効率的に開発を進める上で大切な要素の1つですよね。
本セッションではOpenAPIの運用について焦点を当て、リポジトリの配置やディレクトリ構成、どのようにDartコード生成を行っているか、そのために使用しているテンプレートツールなど弊社のプラクティスを紹介します。

想定視聴者

  • プロジェクトへOpenAPIの導入を検討している方
  • FlutterプロジェクトにおいてAPIとの連携を効率化したいと考えている方
  • OpenAPIを使ってコード生成を行うことを検討している方
1
LTセッション

デコンパイルから発見!shared_preferencesに隠された秘密の文字列と真実

chigichan24 chigichan24

概要

Androidアプリの難読化されたコードを見るのが趣味の筆者。ある日、Flutter製のAndroidアプリの多くには、共通のBase64エンコードされている文字列が使用されていることを発見しました。この文字列は、flutter/packagesの中の特定のデータ型に関連する重要な手がかりを含んでいることが判明。詳細はGitHubの公開アーカイブされたリポジトリでの調査により、これらの文字列がどのような目的で使用されていたのかが筆者の中で明らかになりました。

この発見は、特に、AndroidのSharedPreferencesの実装に対するFlutterのユニークなアプローチとマルチプラットフォームに対応するフレームワークとしての解決策の苦悩が垣間見えます。プロダクトの実装時には気にする必要のない部分、Flutterの1st partyライブラリの実装を深堀りしていきます。

<トークのアジェンダ>

  • アプリのデコンパイルについて
  • flutter/packageのshared_preferencesについて
  • 不自然に共通している3つの秘密の文字列
  • 秘密の文字列の目的とその背景

想定視聴者

  • flutter の 1st partyのライブラリの実装に興味がある人
  • shared_preferencesに隠された真実に興味がある人
2