【ITニュース解説】Figmaで知った実装とデザインの世界、隔絶と歩み寄り
2025年09月24日に「Zenn」が公開したITニュース「Figmaで知った実装とデザインの世界、隔絶と歩み寄り」について初心者にもわかりやすく解説しています。
ITニュース概要
フロントエンドエンジニアがFigmaでUIデザインを経験し、実装とデザインの世界が異なることを実感した。デザインツールの活用で、デザイナーの視点や作業感を理解し、「なぜデザイナーは〇〇なのか」という疑問が解消された。エンジニアもデザインを理解することの重要性を説く。
ITニュース解説
システムエンジニアを目指す皆さんへ、今回はデザインツール「Figma」の登場が、ソフトウェア開発の世界にどのような変化をもたらし、特にエンジニアとデザイナーの関係性や作業プロセスをどう変えているのかを解説する。この記事の筆者は元々フロントエンドエンジニアだったが、Figmaを使ったUIデザインの仕事が増えた経験から、その重要性を深く語っている。
かつて、デザインはデザイナーが専用のツールや紙で作成し、その成果物をエンジニアが受け取ってコードに落とし込むという分業が一般的だった。時には「インブラウザ手法」として、エンジニアが直接ブラウザ上でコードを書きながらデザインを調整することもあったが、これはあくまでコーディングの延長線上にあった。この頃、エンジニアからは「なぜデザイナーはこのようなデザインをするのか」「もっと実装しやすいようにできないのか」といった疑問が生まれやすく、デザイナー側も「なぜエンジニアは私のデザインを正確に再現できないのか」と感じるなど、両者の間には見えない「隔絶」が存在していた。デザインツールが何をしているのか、デザイナーが何を考えているのか、エンジニアからは想像しにくい状況だったのだ。
しかしFigmaのような先進的なデザインツールが登場したことで、この状況は大きく変わりつつある。Figmaは、Webブラウザ上で動作し、リアルタイムでの共同作業が可能な点が特徴だ。これにより、デザイナーだけでなくエンジニアもデザインプロセスに以前よりも深く関与できるようになり、「隔絶」を解消し「歩み寄り」を促進する共通言語としての役割を担い始めている。
Figmaがエンジニアの視点に新しい気づきをもたらす具体例は多い。まず「デザインシステム」の概念だ。これは、製品やサービスのUIを構成するすべての要素、例えばボタンの形や色、フォントの種類、入力フォームのスタイルなどを一貫したルールで定義し、再利用可能な部品(コンポーネント)としてまとめたものだ。エンジニアがソフトウェア開発で共通の部品やモジュールを組み合わせてシステムを作るのと同様に、Figma上ではデザイナーがこれらのUIコンポーネントを構築していく。エンジニアがFigmaを触ることで、デザインシステムが単なる見た目のガイドラインではなく、ソフトウェア設計の思想と共通する「設計図」として機能していることを肌で感じることができる。
次に「命名規則」の重要性だ。Figmaでは、各コンポーネントやレイヤーに名前をつける。この命名規則の統一が、デザインデータ内での検索性や管理のしやすさに直結する。これは、エンジニアがコードを書く際に変数名や関数名、クラス名などを適切に命名することの重要性と全く同じだ。デザインツール上での命名の秩序が、そのままコードの実装における秩序へと繋がることを理解できる。
さらに「変数」や「スタイル」の概念も、エンジニアにとって理解しやすい。Figmaでは、色やフォントサイズ、間隔といったデザイン要素を「変数」として定義し、それらを「スタイル」として複数のコンポーネントに適用できる。これは、プログラミングにおける共通定数やCSSの変数、スタイルシートの役割と酷似している。デザインの変更が必要になった際、変数を一つ変更するだけで、それを使用しているすべての要素に反映されるため、効率的にデザインを更新できる。これはコードの世界で言えば、共通のスタイルを適用することで、一箇所変更すれば全てのUIに影響が及ぶ仕組みと完全に一致する。
そして「オートレイアウト」機能は、特にフロントエンドエンジニアにとって非常に直感的だ。オートレイアウトは、要素の並び順や間隔を自動で調整し、コンテンツの量や画面サイズに応じて柔軟にUIが変化するように設計する機能である。これは、Webサイトのレイアウトを組む際に使われるCSSのFlexboxやGridといった概念と瓜二つだ。エンジニアは、オートレイアウトの動きを見ることで、デザイナーがUIの「構造」をどのように考え、どのようにレスポンシブなデザインを実現しようとしているのかを深く理解できる。これにより、デザインの意図を正確に汲み取り、より忠実で効率的な実装が可能になる。
エンジニアがFigmaのようなデザインツールを実際に操作することの意義は非常に大きい。まず、デザイナーがどのような制約の中でデザインを作成しているのか、またどのような意図を持ってそのデザインに至ったのかを、外側から眺めているだけでは分からないレベルで理解できるようになる。例えば、ある特定のボタンのサイズや余白に意味があることや、なぜそのコンポーネントがそのような構造になっているのかといった背景を直接知ることができる。
この理解は、実装時の手戻りを減らし、開発の効率を向上させる。デザインの段階で実装上の課題や非効率な部分を発見し、デザイナーと協力してより良い解決策を模索することも可能になる。また、エンジニア自身がデザインツールに触れることで、「設計」という視点が養われる。デザインを単なる見た目として捉えるのではなく、システムのコンポーネントと同じように、再利用性や拡張性、メンテナンス性を考慮した設計として見られるようになるのだ。これは、システム全体を俯瞰し、質の高いソフトウェアを構築するために不可欠な能力である。
結論として、Figmaのようなデザインツールは、もはやデザイナーだけのものではない。システムエンジニアを目指す皆さんにとって、これらのツールは、デザインの世界と実装の世界をつなぐ強力な「共通言語」となる。デザインシステム、命名規則、変数、オートレイアウトといったFigmaの機能が、プログラミングにおける共通の概念と密接に結びついていることを理解することは、エンジニアとしてのスキルを大きく向上させる。デザイナーの意図を理解し、コミュニケーションを円滑にすることで、より高品質で効率的なソフトウェア開発が可能になる。デザインと実装の「隔絶」は解消され、「歩み寄り」が加速することで、チーム全体の生産性が向上し、最終的にはより良いユーザー体験を提供する製品を生み出すことに繋がるだろう。未来のシステムエンジニアにとって、デザインツールへの理解は、単なるデザインの知識ではなく、システム全体を設計し、開発を円滑に進めるための重要なスキルの一つとなる。