デザインシステムはデザイナーだけのものではなく、デベロッパー向けのものでもあり、必要なフロントエンドコードとドキュメント、デザインガイドライン、関連プラグイン、デザインパターン、スタイルガイド、再利用可能なコンポーネント、ルールとガイドライン、その他 Web デザインと開発ワークフローに役立つ構成要素がすべて含まれた、コードスニペットと開発リソースがすべて含まれています。
このようなデザインシステムは、オンラインの Web サイトとしてホストされて一般に公開されることもあれば(オープンソースのデザインシステム)、ブランド内部で使われることもあります。
主要なデザインリーダーの1つである Johnson & Johnson社 から、デザイン システムの課題とソリューションについて詳しく学びましょう。当社のウェビナーでは、J&J チームによってベストプラクティスがすべて紹介されました。
例1:ポルシェのデザインシステム
ポルシェのデザインシステムは、その包括的できちんと文書化された高水準のアプローチにより、デザインと実装に対する模範的なモデルとなっており、一流の Web アプリケーションを作成しようとするすべての人にとって貴重な参考資料となっています。
ポルシェのデザインシステムは、視覚的に魅力的で高品質な Web アプリケーションを作成するのに非常に重要なデザインの基礎と要素を提供するという点で際立っています。その主な強みの1つは、Figma 用のピクセルベースのライブラリと、UXPin でコード化されたライブラリにあり、それでデジタルクリエイターのデザインプロセスが効率化されます。さらに、デザインシステムにはコード化された Web コンポーネントと詳細な使用ガイドラインが含まれていることから、デザイン同様にスムーズで一貫性のある実装が保証されます。
ここでは、React がどのように機能するか、ステップ・バイ・ステップで見ていきましょう。まず、React コンポーネントを確定します。コンポーネントはReact アプリケーションの構成要素であり、「クラスベース」のものと「機能コンポーネント」のものがあります。コンポーネントを確定したら、ReactDOM.render()を使って DOM にレンダリングすることができます。この関数は、レンダリングしたいコンポーネントと、それをレンダリングする DOM 要素の2つの引数を取ります。
コンポーネントをレンダリングすると、React はコンポーネントとその子の仮想 DOM 表現を作成します。仮想 DOM は、実際の DOM の軽量なコピーであり、コンポーネントのステートや props が変更されると、React はコンポーネントとその子を再レンダリングします。そして新しい仮想 DOM 表現が作成され、何が変更されたかを判断するために以前のものと比較されます。
React は、実際の DOM の効率的な更新のために、「リコンシリエーション」という処理を実行します。そして新しい 仮想DOM と以前の DOM の差分(または「差分」)を計算し、その差分を実際の DOM に適用します。
また、React は、合成イベントを使ってユーザーとのインタラクションを処理します。イベントハンドラは、ボタンのクリックやフォームの送信など、特定のイベントが発生したときに呼び出される関数であり、Reactは、さまざまなブラウザ間でイベントを処理するための一貫した API を提供します。
通常、アプリや Web サイトは HTML を使って DOM(ドキュメント・オブジェクト・モデル)を更新します。これは長い間唯一の方法であり、機能的ではありますが、サイトの利用者が増えてくると、それに伴ってますます時間がかかるようになります。サイトの利用者が増えれば増えるほど、ページの更新はより複雑になるのですが、以前は、コメントやその他の即座に更新する必要があるデータを更新するには、この方法しかありませんでした。
仮想DOM は実際の DOM をコピーするだけで、ReactJS を使って即座に更新でき、ページ全体を再読み込みする代わりに、変更される情報だけを読み込みます。つまり、ページやアプリ全体の動作が格段に速くなるということです。これはちょっとした機能なので、1人か2人にとっては大きな違いはないかもしれませんが、大勢の人が同じページを使うのであれば、その差は驚くほど大きくなります。
React で、アプリやサイトの作成だけでなく、そのアプリの日常的な機能の全プロセスが劇的に速くなりました。デベロッパーは、プロトタイプアプリの作成のスピードを上げるだけでなく、フルアプリを半分の時間で立ち上げて実行することもできます。これはコードを再利用できるおかげですね。そしてアプリやサイトが公開されると、仮想 DOM のおかげで、UI の UX(ユーザーエクスペリエンス)上がります。
大規模なコンポーネントライブラリの管理には、特に複数のチームを抱える組織では、構造化されたアプローチが必要です。Airbnb の DLS(Design Language System)を例に挙げてみると、同社はこのシステムによって10チームから100チームへと規模を拡大でき、それでデザインの一貫性は確保されながら、機能開発時間は30%短縮されました[10]。
大規模なコンポーネントライブラリの管理の戦略は、詳しくは以下のようになります:
管理面
実装戦略
主な利点
一元化
単一のレポジトリを「信頼できる唯一の情報源(Single source of truth)」として使う
AI 教育のリーダーであるレイチェル・トーマス氏によると、明確で構造化されたプロンプトを例とともに与えるのが重要らしいです。これには、タスクに必要なステップの特定、区切り文字を使ったテキストのセクション区切り、AI が特定のスタイルやフォーマットに従うよう導くための例示などが含まれます。そうすることで、プロンプトエンジニアは AI が生成するアウトプットの精度と妥当性を上げることができます。
ChatGPT にペルソナを採用してもらう
AI モデルにペルソナを採用させることは、プロンプトエンジニアリングにおける強力な戦略であり、それで関連性と正確性が上がり、AI の回答がより効果的でユーザーの期待に沿ったものになります。
UXPin では、このような状況を何度も目にしてきました。そこで Mergeテクノロジーが搭載された UXPin だと、デザイナーは MUI や Ant Designなどからコード化されたコンポーネントを使ってインターフェースを構築することができます。そしてこのコンポーネントは、表面的にはフラットなUIコンポーネントのように見えますが、実際にはすぐに制作に使えるものです。UXPin Mergeをぜひ無料でお試しください。
効果的な連携のルーティーンをどのように浸透させることができるかを示す例は、他でもない Google にあります。インターンからスタートし、現在は巨大テック企業でインタラクションデザイナーとして働くSophia Chiu氏は、ルーティーンでチームの他のメンバーとの共通の土台を見つけることができたと言っています。
We use cookies to improve performance and enhance your experience. By using our website you agree to our use of cookies in accordance with our cookie policy.