Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Riverpodに機能追加したときの話

 Riverpodに機能追加したときの話

YOUTRUST x ゆめみ Flutter LT会@渋谷 #yumemi_growの資料です

Kota Hayashi

June 05, 2023
Tweet

More Decks by Kota Hayashi

Other Decks in Technology

Transcript

  1. Riverpodに機能追加したとき
    の話
    YOUTRUST x ゆめみ Flutter LT会@渋谷
    Kota Hayashi (K9i)

    View Slide

  2. 自己紹介

    View Slide

  3. Riverpod?
    - 日本だと特に人気が高い状態管理ライブラリ
    - 最近はデファクトスタンダード?
    - 世界的にはBLoCなんかも人気
    - https://docs-v2.riverpod.dev/

    View Slide

  4. 追加した機能

    View Slide

  5. 追加した機能
    Riverpod関連のWidget
    を相互に変換する

    View Slide

  6. もとからあった機能
    - StatelessWidget、StatefulWidget、ConsumerWidget、
    ConsumerStatefulWidgetをConsumerWidgetか
    ConsumerStatefulWidgetに変換するものはすでにあった
    - hooks系を追加して、すべて相互に変換できるようにした

    View Slide

  7. 変更したパッケージ
    - Riverpodはマルチパッケージ構成
    - riverpod
    - flutter_riverpod
    - hooks_riverpod
    - riverpod_generator
    - riverpod_lint
    - など

    View Slide

  8. 変更したパッケージ
    - Riverpodはマルチパッケージ構成
    - riverpod
    - flutter_riverpod
    - hooks_riverpod
    - riverpod_generator
    - riverpod_lint
    - など
    変更したのはこれ

    View Slide

  9. 機能追加の流れ
    - 気合で実装(割りとなんとかなった)
    - hooks関連の問題が発覚
    - HookWidgetなどはhooks_riverpodを使ってるときだけ変換したい
    → custom_lintで利用パッケージを知るすべが無い

    View Slide

  10. remiさんがcustom_lintを修正してくれた

    View Slide

  11. remiさんがcustom_lintを修正してくれた
    PR
    https://github.com/invertase/dart_custom_lint
    /pull/137
    Changelog
    https://pub.dev/packages/custom_lint_builder
    /changelog#033---2023-04-06

    View Slide

  12. 無事リリース🥳

    View Slide

  13. おわり
    - Riverpod関連のWidgetを変換する機能を追加したよ
    - 今回の実装のPR
    - https://github.com/rrousselGit/riverpod/pull/2306

    View Slide