LoginSignup
3
2

More than 5 years have passed since last update.

マテリアルデザインガイドラインからStepperが消えた理由を考える

Last updated at Posted at 2018-09-08

結論のない、完全に自分用のメモ。
2018年9月初旬の情報なので、いずれ何の役にも立たない情報になるでしょう。

image.png

もともと https://www.google.com/design/spec/components/steppers.html にあったのが、material.io以降のタイミングかどこかで、闇に葬られてしまった。
(追記: ここにあった)

  • とくに「代替コンポーネントはこれだ」って情報もない
  • Flutterでは公式ライブラリ?が現存している模様
  • Backdropの説明のところで「stepperとあわせてつかうのもよし」みたいなのは残っている

:thinking: :thinking: :thinking: なんでStepperってコンポーネントの説明は消えたんだろう・・・ :thinking: :thinking: :thinking:

予想1:Backdropのサブみたいな位置づけになった?

image.png

Backdropの説明には明確にStepperが登場している。

この程度であれば、ぶっちゃけライブラリに頼らなくても実装できるだろう。
もともと存在していたStepperは、そもそもパターンが多かったし、アニメーションとかもあったり無かったりしていて、1つのコンポーネントとして語るには複雑性が高すぎたのではないか?

予想2:ほとんど使われていなかった割に、複雑性が高い(=コスパのよくない)コンポーネントだった?

マテリアルデザインは、おそらく

  • デザインが容易(属人化しないためのspec策定、シンプルなルール)
  • 実装が容易(表現手段が単純、標準ライブラリによる手厚いサポート)

という部分にもかなり重きをおいていると個人的には思っている。(対 🍎フラットデザイン)

そういう観点でいくと、Stepperは

  • horizontal/vertialがある
  • ふるまいのパターンが複数ある
    • 完了時の見せ方はグレーアウト系?アクセントカラー?
    • 前のステップに戻る方法は、stepのタップ?明示的にボタン置く?

のように、「使わなくてもViewPagerIndicatorあたりで十分!」ってケースでも使いたくなってしまうような曖昧性があったのではないかと予想。

予想3: 既存のコンポーネントとどう組み合わせるかを考えると、ライブラリ化できなかった?

たとえばAndroidで仮にStepperを実装するとしたら、何をつかうだろう?

  • FragmentAdapter的なものを受け取って、外回りをなんらかのアダプタViewにする?
  • 単純にLinearLayoutで全体をつくってしまって、開閉状態とか選択状態とかを状態でもつ?

などなど、これといった最強の方法が思いつかない。現に、サードパーティのライブラリもいくつかあるが、実現方式はいろいろだ。

material design componentsとして公式に配布するには、ボトムシートのときみたいに、単一的な実装が求められるが、Stepperにはそれができなかったんじゃないか?という予想。

結論

よくわからん。

わかったら追記する。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2