デザインをコードに変換したいと思った時の方法

[(原文) Want to Convert Design To Code? Here’s A Better Way](https://www.uxpin.com/studio/blog/convert-design-to-code-better-way/?utm_source=Blog&utm_medium=qiita&utm_campaign=Japan&utm_content=%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%92%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E6%99%82%E3%81%AE%E6%96%B9%E6%B3%95)

![](https://studio.uxpincdn.com/studio/wp-content/uploads/2021/05/Want-to-Convert-Design-To-Code_-Heres-A-Better-Way.png.webp)

Webページ、Androidアプリ、iOSアプリなど、従来のデザイナーの多くは、Adobe XD、Figma、Invision、Photoshopなどのツールを使って静的な画像を作成することから仕事を始めます。このようなデザインは、見た目には美しいかもしれませんが、制作に適しているとは言えません。

![](https://lh3.googleusercontent.com/ikyx_T71ie3UaD46pF-fL9Op9ZBcYMnhjPYBNyFWFyHTeWcLvyKb2HaubhBCyzPjM_EJ9jVevlu4bdUMNeT6Sm8FKBWwOC9Z8NxH3T003ZffPXTlv2ILaEF1u8xeCMdXfDuP5UE8)

デザイン段階の後は、開発者やテスターにコンポーネントの対応関係を示すインタラクションを追加する必要があります。そして、静的な画像や、時間のかかるインタラクティブなプロトタイプを、デザインをコードに変換する開発者に渡します。

![](https://lh4.googleusercontent.com/h3RYDx6p6H_TghJRo9qCeNUT7FYUouKcIec_M-Ru-ugIcoLCiWv2PuLnEIkT02bgsnohI1VHVafmpa99YLLuCafbbOg3ls8eT2eNx149Xm8YR65VQySCSTp7RVZBmcQC8TceBFz_)

今こそ、この退屈なプロセスから脱却し、コードベースのアプローチでデザインを行うべきなのです。イメージベースのデザインの課題を考え、さらにインタラクションを追加してみると、ユーザーに愛される製品を作るためのより良い方法が必要であることがすぐにわかります。

おすすめの記事:  [デザイナーがイメージベースのデザインからコードベースのデザインに切り替えるべき時が来た理由](https://qiita.com/uxpin_official/items/c8feddae446f81a19e82)

#### デザイン・ファースト・プロトタイピングの課題
デザインファーストのプロトタイピングでは、人気のあるデジタル製品を作るために必要な手順よりも多くのステップが必要になります。そのプロセスにはおそらく...

- 製品や機能にするためのアイデアを考える。
- デザインチームにアイデアを伝える。
- デザインチームの作業を確認し、フィードバックを与える。
- デザイナーは、デザインツールで高度なインタラクションを追加するための限られた可能性に悩んでいます。
- デザイナーと開発者のコミュニケーションでは、プロトタイプの不整合を解消するために、何度もやりとりが行われています。

![](https://lh3.googleusercontent.com/D_-z4xJ8or4X_Q-9Avyrz5uXcggE50VQnvdH1Yubw0jzfH6VFhp61pg61hMIgq1Bxcs_oSvHPqQQUb2WzO9ClVhlpWFM5W3NNqDu7kM1RZLAG0p2VW-mm5OR6rofLwLSJQlGnwAo)

- 当初のビジョンを満たす製品になるまで、いくつかの微調整を加える。

これらのステップには、数週間から数ヶ月かかることもあります。AvocodeやAnimaのようなツールを使ってPSDやFigmaなどのデザインをコードに変換したとしても、すべてのインタラクションがデザイン通りに動作することを確認するためには、絶え間ないプロトタイプと製品テストが必要です。

また、AvocodeやAnimaはデザインをコードに変換するだけなので、余計なステップが必要になります。AvocodeやAnimaは、デザインをコードに変換するだけで、プロトタイピングの段階でコード・コンポーネントを使用して、最初にコード・アプローチを開始できるようなデザイン環境を提供していません。

#### デザインからコードへのハンドオフは時間とコストの無駄
当然のことながら、プロダクトマネージャー、デザイナー、開発者の間で仕事をやりとりする蛇行したプロセスは、すぐにコストがかかります。米国では、準学士号を取得したWebサイト開発者の時給は[約35.46ドル（29.5ユーロ）](https://www.bls.gov/ooh/computer-and-information-technology/web-developers.htm)と言われています。開発やプロトタイプの作成に時間がかかればかかるほど、製品を市場に投入するためのコストは増加します。

しかし、コードベースのデザインがなければ、そのプロセスは常に後戻りし、ステップを繰り返すことになります。デザインからコードへの移行が、時間とコストの無駄になることは明らかです。

人気のウェブサイトデザイナーであるMatthew Strom氏は、静的な画像から始めるのではなく、コードを使ってデザインすることでプロセスを効率化できることに気づきました。WSJ.Magazineの新しいホームページを制作していたときのことです。Magazineの新しいホームページを制作しているときに、コードを使って作業するほうが、ベクターファーストのアプローチよりも[簡単でやりがいがある](https://matthewstrom.com/writing/designing-with-code.html)ことに気づきました。しかし、画像の数が増えてくると、従来の方法では動作が重くなることがわかりました。

ありがたいことに、ストームは複雑なホームページをデザインツールに頼らずに作成できるだけのコードを知っています。しかし残念ながら、コードからデジタル製品を作れる経験を持つデザイナーはほとんどいません。

#### コードベースのデザインではプロトタイプの機能性が損なわれる
デザイナーに基本的なコードを学ばせることで、デザインから開発までのプロセスを少し改善することができます。HTMLとCSSの基礎を知ることで、[デザイナーは共通の理解を得て](https://www.toptal.com/designers/ui-ux/designers-coding)、開発者のニーズを予測することができます。また、デザイナーがフロントエンドのJavaScriptやAjaxを知っていると、静的なデザインをインタラクティブなコンポーネントにするのに、開発者がどれだけの作業を必要とするかを知ることができ、プロセスがさらに良くなります。

![](https://lh6.googleusercontent.com/_ZYhhQ8J4lCiAChzhIyHlgC7S4DK-MX67k_6h4KkzxloC8081KaQZ_T_q3pXVYMUaxhKRiFRmTHN5H7bwOT2lXzY7Rbe4qRs92FJVLT2gpQzwhTYDYZcakxc1z3Hf-k7_tcEKEdq)

コーディングの経験は、デザイナーが開発の限界を理解するのにも役立ちます。グラフィックデザイナーが、開発者にできることとできないことを基本的に理解しているかどうかで、大きな違いが生まれます。

しかし、コードからデザインへのアプローチは、デザイナーがそのすべてを知らなければならないということではありません。開発者がUIコードの部品を保管しているリポジトリとデザインツールのエディタを同期させ、デザイナーが製品化可能な部品をデザインに使用できるようにするだけで十分なのです。これにより、スピードが向上するだけでなく、デザイン標準との整合性も高まります。これにより、製品開発プロセス全体におけるレビューや繰り返しの段階を回避することができます。

コードベースのアプローチで設計しないと、期待通りに機能しないプロトタイプができてしまい、必然的にリソースをさらに浪費することになってしまいます。

おすすめの記事: [あなたのチームがコードベースのデザインアプローチを取る必要がある理由](https://www.uxpin.com/studio/blog/code-based-approach-design/?utm_source=Blog&utm_medium=qiita&utm_campaign=Japan&utm_content=%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%92%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E6%99%82%E3%81%AE%E6%96%B9%E6%B3%95)

#### コード生成ベースのデザインツールで、デザインとプロトタイピングを容易にする
UIコードコンポーネントをデザインライブラリにインポートできるツールは、画像をコードに変換するツールよりもはるかに効率的です。UXPin Mergeは、すべての人に共通の言語を与えることで、デザイナーと開発者の間のギャップを埋めます。簡単なチュートリアルでは、デザイナーがMerge技術を使って[既存のReactコンポーネントをUXPinのエディタにインポートする方法](https://www.uxpin.com/studio/blog/design-with-code-tutorial/?utm_source=Blog&utm_medium=qiita&utm_campaign=Japan&utm_content=%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%92%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E6%99%82%E3%81%AE%E6%96%B9%E6%B3%95)を紹介しています。

![](https://lh6.googleusercontent.com/zDUk4XU5GChkXXpnS5GcnyS0pTBXurrHpsAods0Yj67dKRffFTkr0S-oQDGGGAtyBivS-_ohMN5c--Q70U4sxKTIDmOqu8gybVEIKRh-KfaWx7QWOIWXr67Xych74PeF9hioXbnU)

**UIコードコンポーネントによるワークフローの改善**
開発者は、画像ベースのデザインを解釈してコードに変換するのではなく、デザインに使用されたコンポーネントをライブラリから取り出して、すぐに製品を作ることができます。

コード化されたプロトタイプはすでに最終製品のように動作するため、追加のレビューステップは必要ありません。開発者の作業の結果は、デザイナーの作業と同様にピクセル単位で完璧になります。

おすすめの記事: [コードを学ばなくても、コードベースのデザイナーになれる](https://www.uxpin.com/studio/blog/code-based-design-without-learning-code/?utm_source=Blog&utm_medium=qiita&utm_campaign=Japan&utm_content=%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%92%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E6%99%82%E3%81%AE%E6%96%B9%E6%B3%95)

**ユーザーインターフェースやインタラクティブなデザイン要素を、完全に機能するプロトタイプでテストする**
プロトタイプをリリースできる製品に仕上げるためには、プロジェクトマネージャーの仕様を満たす必要があります。UXPin Mergeは、開発プロセスに着手する前に、インタラクティブなコンポーネントの機能をテストする機会をチームメンバーに提供します。しかし、UXPin Mergeでは、プロトタイプと最終製品の違いを見分けるのが難しい場合があります。デジタル製品をコードで構築し、実際のデータを使用してインタラクションをテストする場合、初期テストがいかに強力になるかということです。

#### コードベースのデザインとプロトタイピングのためのUXPin Mergeへのアクセスをリクエストする
デザインファーストの観点から製品を構築する退屈なプロセスを続ける必要はありません。[UXPinとMergeテクノロジー](https://www.uxpin.com/studio/merge-jp/)へのアクセスをリクエストすることで、市場投入までのプロセスを短縮し、部門間のコラボレーションを改善し、デザインをコントロールすることができます。


**本記事は、2021/5/6投稿を翻訳したものです。**