BootstrapコンポーネントをUXPinに追加する方法 – npm統合ガイド
UXPinのnpm統合により、デザインチームはより忠実でコード同様の機能でプロトタイプが作成できるようになりました。これまではエンジニアにコーディング依頼が必要だったところを、UXPinが持つコンポーネント駆動型プロトタイピング機能によって、デザイナーでも高忠実度なプロトタイプ作成の実現が可能です。
npm統合で、簡単にコンポーネントライブラリをUXPinのデザインツールにインポートできます。これには、技術面での複雑な設定は不要で、共有コンポーネントのインタラクティブ性を最大限に活かすことができるのです。今回は、Mergeを使ってコンポーネントの統合が実際にいかに速く行えるのか見ていきましょう。
さっそくGitレポジトリ、Storybook、または最新のnpmからUXPinにコンポーネントを統合させてみましょう。UXPin Mergeテクノロジーついての詳細は、こちらのページをぜひご覧ください。
UXPin Merge とは
npmについてお話しする前に、UXPin Mergeの概要を説明します。UXPin Mergeはコンポーネント駆動型プロトタイプを実現するコードベースのテクノロジーです。デザイナーはゼロからデザインする代わりに、レポジトリからProduction ReadyなUI要素を使用して、高忠実度で完全に機能するプロトタイプを構築することができます。
デザイナーはビジュアル要素、エンジニアはその背後にあるコードに取り組むことで、製品開発チーム全体で「信頼できる唯一の情報源(Single source of turth)」が構築されます。これによって、実際に、UXPin Mergeを導入したPayPalやTeamPasswordのチームは、デザインの品質、スピード、一貫性向上に成功しました。
UXPin で「npm統合」って何?
UXPin Mergeを非公開のデザインシステムで使う場合、同期のためのレポジトリをセットアップする上で技術的な知識が必要になってしまうのですが、オープンソースのコンポーネントライブラリを使う場合だと、デザインチームは直感的なダッシュボードを使用して簡単にnpm統合を完了できます。
また、デザイナーはMergeコンポーネントマネージャー機能を使って、コンポーネントのインポートとプロパティを管理することができます。たとえば、 Bootstrapのコンポーネントライブラリまたは以下9つのVariants(変数)からButtonをインポートできます:
- プライマリー(primary)
- セカンダリー(secondary)
- 成功(success)
- 危険(danger)
- 警告(warning)
- 情報(info)
- 明るい(light)
- 暗い(dark)
- リンク(link)
これらのVariantsはUXPin上の画面右にあるプロパティパネル(Properties Panel)でドロップダウンとして表示されます。Mergeはほとんどのコンポーネントにホバーステートも含んでいるため、デザイナーはこのような詳細を気にせず、プロトタイピングにすぐに取り掛かれることができます。
デザインチームは、React Bootstrapのドキュメントから、インポートするコンポーネントのプロパティを探すことができ、全てのプロパティまたはプロジェクト関連のもののみをインポートすることもできます。
Bootstrapを使うメリット
BootstrapはReact、Vue、Angularで利用可能な最も有名なモバイルファーストのフロントエンドフレームワークです。
UXPinのnpm統合では、React Bootstrap のコンポーネントライブラリを使用しますが、VueまたはAngularのバージョンをインポートするにはStorybook統合で可能です。
BootstrapはレスポンシブなWebサイト・Webアプリ開発に最適ですが、モバイルアプリのデザインプロジェクトでもReactライブラリを使うこともできます。Bootstrapには、フォーム要素、レスポンシブテーブル、その他の関連コンポーネントが豊富に揃っているため、Webベースのエンタープライズ向け製品に適しています。
なお、Boostrapは総合的なフロントエンドフレームワークなので、Bootstrapのサンプルページでできることを見ておくことをおすすめします。
UXPin Mergeで Bootstrapの npm 統合
npmパッケージ(react-bootstrap)を使って、BootstrapのコンポーネントをUXPinのデザインエディタにインポートできます。Mergeコンポーネントマネージャーによって、各UI要素と利用可能なプロパティをインポートが可能です。
UXPinのコンポーネント駆動型のプロトタイピングで、要素は同じレポジトリから取り込めることから、デザインチームはエンジニアと同じ忠実度と機能性を手に入れることができます。エンジニアがレポジトリのコンポーネントでできることを、デザイナーも同様にUXPinのプロパティパネルで実現することができます。
また、フレームワークのドキュメンテーションにあるBootstrapのReact propsを使用することでこれらのプロパティを割り当てることができます。
Merge コンポーネントマネージャでプロパティの割り当て
Mergeコンポーネントマネージャーはnpmコンポーネントをインポートおよび管理するためのハブ的存在であり、プロジェクトを完成させるために必要な数だけインポートすることができます。
また、インポートするプロパティ数のコントロールも可能です。例えば、Bootstrap Buttonの[プライマリー]と[セカンダリー]Variantsのみを使いたい場合、全てのプロパティをインポートするのではなく、使いたいプロパティ2つのみをインポートすればいいだけです。
UXPinを React Bootstrapの npm パッケージにつなげる
ステップ1
UXPinのDashboard(ダッシュボード)画面に移動し、[+ New Project(新規プロジェクト )]をクリックします。
ステップ2
プロジェクトに名前を付け、[Create New Project (プロジェクトの新規作成)]をクリックします。
ステップ3
[Design with Merge components (Mergeコンポーネントでデザインする)]と [+ Add new Library (ライブラリの追加)]をクリックします。
ステップ4
[Import React Components with npm integration(npm統合でReact Componentsをインポートする)]を選択し、[Next(次へ)]をクリックします
ステップ5
ライブラリに名前を付けます。この名前は参考用のためだけなので、インポートには影響しません。
Mergeを動作させるには、npm統合に 『React Bootstrap(react-bootstrap)』と『 Boostrap(bootstrap)』という2つのBootstrapパッケージが必要です。
最後に、コンポーネントのプロパティをUXPinで動作させるには、BootstrapのCSSファイルへのパスが含まれてないといけません。(パスはReact-Bootstrap のドキュメントのCSSの下にあります。)
- bootstrap/dist/css/bootstrap.min.css
React Bootstrapコンポーネントのインポート
上記の手順を完了すると、UXPinはMergeのコンポーネントマネージャー にリダイレクトします。
ステップ1
左側のサイドバーから、[Open Merge Component Manager (Mergeコンポーネントマネージャーを開く)]をクリックします。
Mergeコンポーネントマネージャーが新規タブで開きます。
ステップ2
[Add new component (新しいコンポーネントの追加)]をクリックします。
ステップ3
インポートするコンポーネントの名前を入力します。
正しい命名規則は、React Bootstrapのドキュメントにあります。
このチュートリアルでは、Bootstrap Buttonをインポートして、[Components (コンポーネント)]という新しいカテゴリーを作成してみます。ここでは、デザイナーとエンジニアが同じ基準点持つためにReact Bootstrapのドキュメントと同じカテゴリを使うことをお勧めします。
1回のインポートで複数のコンポーネントを追加できるので、ステップ2と3の繰り返しは省略されます。
[Import Components(コンポーネントをインポートする) ]をクリックします。
ステップ4
右上の[Publish Changes(変更を公開)]をクリックして、インポート処理を初期化します。
新しいコンポーネントで初めてこの作業を行う際は、少し時間がかかるかもしれません。
ステップ5
インポートが完了したら、[Refresh Library (ライブラリの更新)]をクリックし、プロジェクトライブラリの変更を更新します。
ここまで進めると、左サイドバーのカテゴリーに[Components]、その中に[Button]があります。
ステップ6
[Button]をクリックしてプロパティを追加してみましょう。このReact propsは、React Bootstrapのドキュメントで、Components > ButtonのAPIの下にあります。
Mergeコンポーネントマネージャーでコンポーネントプロパティの追加
React Bootstrap のドキュメントを使って、Buttonプロパティをいくつか追加します。
Buttonラベル
ステップ1
React BootstrapのButtonラベルは、childrenプロパティを使って、次のように設定します:
- プロパティ名:「children」と入力(小文字を使用する)
- 表示名:(これは必須ではないですが)デザイナーとエンジニアの両方が使うわかりやすいものにする( 統一感があるように 、ここでは『label』とします。)
- 説明:デザイナーに簡単な説明や指示を加える
- プロパティの種類:String(ストリング)型
- プロパティコントロール:『textfield(テキストフィールド)』
- デフォルト値:好みで設定 ( 今回は 『Button』を選択。)
コンポーネントのプロパティを完成させると、コンポーネントのプレビューが表示され設定した通りに変更されます。
ステップ2
すべての項目を入力したら、[Add property (プロパティの追加)]をクリックします。
そして[Save Changes(変更の保存)]
最後に[Publish library changes(ライブラリの変更を公開)]
コンポーネント 駆動型のプロトタイピングをご体験ください
実際にReact Bootstrapコンポーネントとプロパティをインポートしてみると、UXPinでのプロトタイピングはドラッグ&ドロップでレイアウトを作成するのと同じくらい使いやすいんです。ちなみに、下画像のシンプルなデザインのメール登録フォームだと、3つの Bootstrapコンポーネントを使っただけで、1分もかからずに作成できました。
Bootstrapコンポーネントを選択すると、Mergeコンポーネントマネージャーで作成したプロパティはUXPinのキャンバス画面右側にあるプロパティパネルで表示されます。
UXPinのnpm統合でコンポーネント駆動型プロトタイピングをさっそく試してみませんか? Bootstrapのnpmコンポーネントをインポートして、いかに早く製品のアイデア出しから開発までできるかをご体験ください。開発時間を大幅に短縮できますよ。詳しくはMergeのページをご参照ください。