対象読者
- JavaScriptとWeb開発の基礎に理解がある方
- Reactを用いたJavaScriptアプリケーション開発の未経験者
前提環境
筆者の検証環境は以下の通りです。
- macOS Catalina 10.15
- Node.js 12.4.0/npm 6.9.0
- expo-cli 3.11.7
- expo 36.0.0(React Native 0.61)
- React 16.9.0
美しいコンポーネントを自分で作るのは大変
前回までに、規定となるコンポーネントの振る舞いや、それらを配置・装飾するスタイルの扱い方について学んできました。これらの知識を総動員すれば、美しい画面を組み立てることも可能です。
ここで「十分に可能です!」と言えればよかったのですが、残念ながら、少しトーンダウンしてしまう事情があります。配置に関するスタイルは自分の力でどうにかなる部分が多いのですが、装飾についてはそうもいきません。自分の力でView
やText
に十分な装飾を行うのは、労力を伴うのです。自分でUIの装飾についてデザインするのも楽しいですが、そこまでオリジナリティを必要としない場面も多いはずです。
こういった課題を解決するためのツールとして、デザインのガイドラインを公開してくれている企業や個人のデザイナーの方々がいます。それぞれのガイドラインに沿って自身のアプリを組み立てることで、まとまりのある、美しいアプリを作り上げることができるでしょう。
Material Design
本記事では、ガイドラインの1つとして、Material Design(マテリアルデザイン)について扱います(図1)。
Material Designは、Google社が自社のサービスに統一的なデザインを与えるために作成した、デザインのガイドラインであり、仕様書です。
プログラマーも読みやすいように配慮されており、「こういった場合はマージンを16pxにして、こちらの場合では72pxにする」や「こういった部品を作る際は高さを56pxにする」といった具合で、定性的な基準よりも定量的な基準を重視した仕様書となっています。
また、用意すべきUI部品(コンポーネント)の種類や名前、どのようなカスタマイズを実施すべきかといった項目についても言及されています(図2)。
アプリやWebサービスを作っていく中で、多くの場合、必要になるUI部品が定義されています。なかなか面白いので、興味があれば眺めてみてください。