同僚と物理参加。ネイティブアプリへのFlutter組み込みで、Add-to-app の存在は知っていたが具体的な手法を知れて良かったし懇親会でも詳しく話を聞くことができた。ほかiOSDC運営の方ともお話しでき、今年のiOSDCでは5、6年ぶりに当日スタッフで参加しようかと考えていたところなので、その熱意をお伝えした。
イベントページ:https://potatotips.connpass.com/event/341264/
Flutter の Add-to-app でナビゲーションスタックが Flutter → ネイティブ → Flutter になってしまう場合の技術選定事例
@tfandkusu さん
- Add-to-app : ネイティブの一部だけをFlutter実装
- 3つの概念
- FlutterEngine:ネイティブから作成、複数可
- FlutterFragment (or FlutterViewController)
- MethodChannle:ネイティブ間との情報受け渡し
- 2つの問題
- 以前の表示が一瞬残る
- 1つのFlutterEngine x 複数の FlutterFragment で古い方が真っ白
- 解決方法:FlutterFragment の付け外しをせず複数使う
- アプリの性質上 Fragment 間の連携なさそうだったのでOK
iOSアプリの定期リリースとそのための自動化
@hiragram さん
- 定期リリース運用を始めた(週1)
- 時系列イベント(スライド)
- 機械に人間が合わせる価値観に重きを置いた。
- 定期リリース以前:リリースマネジメント複雑で事故起こりやすかった
- 定期リリース以降:ジョブに各チームが努力する。ひと都合で動かさない。
- 安全にリリースするために
- コードフリーズ予告を GitHub Actions で
- リリースビルド時でチェックしていること
- 満たされていなければ自動は中断し手動で
- バージョン上げ忘れも自動化
- 得られた効果
- 細かくイテレーションを回せるようになった
- 小さな改善混ぜ込む余地ができた(時間余ったからリファクタとか)
- 属人化解消、PdM不在でもリリースができる
iOS/Android間でUI実装を近づけるヒントと道標
@fumiyasac さん
- Androidと同じ形でいけそうだがそうではない事例
- テキスト入力
- Chipカテゴリ表示やタグクラウド、iOSには純正コンポーネントがないもの
- スクロール表現(NestedがiOSだと難しい)
SwiftUIで単方向アーキテクチャを導入して得られた成果
@t_osawa_009 さん
- 既存資産の多さ、人が増えてアーキテクチャ統一が必要になった
- MVI(Model View Intent)アーキテクチャ
- 選定理由、実装例の紹介
- メリット
- テストが容易になった
- レビュー効率化
- それに伴って SwiftUI 率が向上した
DevContainerでリモートビルドの夢を見たかった..
@Kuu さん
- Android開発のリモートビルドの現状
- mainframerとかあったが、メンテされてない
- DevContainersの概要
- Docker のポータビリティ、appを気軽に作って消して、環境再現しやすいメリットがあるためそれを利用
- Dockerのコンテナの中でビルドして手元で動かしたい
- Github Codespaces → 高い
- Dev Container 内で adb 呼び出しても端末が見られないなど、問題残っている
9-patchで画像の一部分を伸縮させる
- チャットの吹き出しなど、画像の一部分だけを伸ばしたい
- Android の標準機能で作れる
- リソース画像を右クリックして、create 9-patch file
まさかのバグ!SwiftUIプレビューでハマった国際化対応の落とし穴
- Previewのバグ
- 別モジュールで国際化対応していても、、
- Reasonable time error があるので、ビルド軽くするのも大事
- フィードバックアシスタントにバグレポする方法(日本語OK)
CursorにAndroid開発を任せてみた
tofu さん
- 荒く指示できる AI エージェントに、どこまで荒い指示が通用するのかを検証
- 10分くらいしかかかってない、実質 AI のコーディングは3-4分、それ以外はビルドエラーの解消
- 細かい機能を勝手に作ってくれる(loading, error, infinite scroll など)
- 未来:AIの生成物に対して、専門知でレビューができる人間が生き残れるのでは
マルチプラットフォーム系はSkipで良さそうな話
@yamakentoc さん
- Skip + Xcode = Swift で Android 開発ができる
- Swift コード → Kotlin に trasnpile
- 2つの作成方法を紹介
- ほかの Multi-platform との比較
- 学習コストかかる、ユーザー体験の低下など
- Skipだと全部解決!
- Skip 特有の依存関係がほぼ不要なので取り外し可能
- Skip の設計思想:簡単にビルドから外せるようにする
- フラグを使った処理分岐を可能にしている