Flutterパッケージのlazy_load_indexed_stackのv1.1.0をリリースした
はじめに
個人開発で、というよりも今はOSSとなっている感じだが、Flutterパッケージのlazy_load_indexed_stack
というものを開発している。名前の通り、IndexedStack
の子要素を遅延読み込みするパッケージになっている。
去年、機能追加要望のイシューをもらっており、自分も対応しても良さそうな機能に思っていたが時間が取れずに放置していた。年末年始に個人開発周りの整理をしており、その一環として対応した。
どんな変更か
preloadIndexes
というプロパティを追加し、指定されたインデックスの子要素を事前読み込みしておくというもの。
使用例としては以下。
LazyLoadIndexedStack(
index: 0,
preloadIndexes: const [3, 4],
children: [
Item1(),
Item2(),
Item3(),
Item4(), // 事前読み込みされる
Item5(), // 事前読み込みされる
],
)
機能提案時のイシューでは例としてPreloadPageView
というパッケージが挙げられていた。
このパッケージではpreloadPagesCount
というプロパティを持ち、事前読み込みする要素を先頭からの要素数として指定するようになっていたが、lazy_load_indexed_stack
においては必ずしもページの先頭から順番に読み込まれていくというものでもないため応用が効くようにインデックスの配列を渡すようにしておいた。
おわり
追加で対応することがなくあまり積極的に開発していないパッケージではあるが、いつの間にかpub.devでのライク数は70を超え、GitHubのスターは32まで伸びていて嬉しい。
要件に合えばぜひ使ってみてほしい。コントリビュートも大歓迎。