結論のない、完全に自分用のメモ。
2018年9月初旬の情報なので、いずれ何の役にも立たない情報になるでしょう。
もともと https://www.google.com/design/spec/components/steppers.html にあったのが、material.io以降のタイミングかどこかで、闇に葬られてしまった。
(追記: ここにあった)
- とくに「代替コンポーネントはこれだ」って情報もない
- Flutterでは公式ライブラリ?が現存している模様
- Backdropの説明のところで「stepperとあわせてつかうのもよし」みたいなのは残っている
なんでStepperってコンポーネントの説明は消えたんだろう・・・
予想1:Backdropのサブみたいな位置づけになった?
Backdropの説明には明確にStepperが登場している。
この程度であれば、ぶっちゃけライブラリに頼らなくても実装できるだろう。
もともと存在していたStepperは、そもそもパターンが多かったし、アニメーションとかもあったり無かったりしていて、1つのコンポーネントとして語るには複雑性が高すぎたのではないか?
予想2:ほとんど使われていなかった割に、複雑性が高い(=コスパのよくない)コンポーネントだった?
マテリアルデザインは、おそらく
- デザインが容易(属人化しないためのspec策定、シンプルなルール)
- 実装が容易(表現手段が単純、標準ライブラリによる手厚いサポート)
という部分にもかなり重きをおいていると個人的には思っている。(対 🍎フラットデザイン)
そういう観点でいくと、Stepperは
- horizontal/vertialがある
- ふるまいのパターンが複数ある
- 完了時の見せ方はグレーアウト系?アクセントカラー?
- 前のステップに戻る方法は、stepのタップ?明示的にボタン置く?
のように、「使わなくてもViewPagerIndicatorあたりで十分!」ってケースでも使いたくなってしまうような曖昧性があったのではないかと予想。
予想3: 既存のコンポーネントとどう組み合わせるかを考えると、ライブラリ化できなかった?
たとえばAndroidで仮にStepperを実装するとしたら、何をつかうだろう?
- FragmentAdapter的なものを受け取って、外回りをなんらかのアダプタViewにする?
- 単純にLinearLayoutで全体をつくってしまって、開閉状態とか選択状態とかを状態でもつ?
などなど、これといった最強の方法が思いつかない。現に、サードパーティのライブラリもいくつかあるが、実現方式はいろいろだ。
material design componentsとして公式に配布するには、ボトムシートのときみたいに、単一的な実装が求められるが、Stepperにはそれができなかったんじゃないか?という予想。
結論
よくわからん。
わかったら追記する。