15
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ニッセイ情報テクノロジー PS事業推進室Advent Calendar 2024

Day 4

AWS Amplify UI Builderでfigmaからコード生成をやってみた

Last updated at Posted at 2024-12-04

この記事はニッセイ情報テクノロジーPS事業推進室 アドベントカレンダー2024の4日目の記事になります。

ニッセイ情報テクノロジー株式会社 プロダクト・サービス事業推進室 田島です。
私の所属するチームでは、仮説検証型アジャイル開発を実践するため、素早い開発サイクルを目指して開発の一部にAWS Amplifyを利用しています。
今回はAWS Amplify UI BuilderというFigmaプラグインを利用して、Figmaで作った画面デザインを直接コード化するやり方をご紹介します。

この記事でわかること

 AWS Amplify UI Builderの使い方がわかる
 Figmaからコード生成する上での注意点がわかる

プラグインの準備

Figmaプラグインは以下のリンクからインストールすることができます。
https://www.figma.com/community/plugin/1040722185526429545/aws-amplify-ui-builder

Open in Dev Modeボタンからfigmaを開くと以下のFigmaファイルが開きます。
ここにはpremitivesページにAmplify側で用意された既存デザインが入っているため、入力フォームやボタンなどはこれをコピーして使うようにします。

image-2.png

Figmaでデザインを作る

Figmaで試しに以下のような入力フォームを作ってみました。
image-3.png
上記のファイルを作成する上では、premitivesページから以下の2つ(ButtonとTextField)をコピーして使用しています。
image-4.png
image-5.png

ページ構成とFigmaの構成は以下になります。

image-6.png

Figmaからコード生成するためには、コンポーネント化する必要があるため、一番上の階層を選択してコンポーネントの作成を押してコンポーネント化します。

image-7.png

コンポーネント化すると、一番上の題名部分が紫になります。

image-8.png

Figmaプラグインを実行する

ここでプラグインタブからプラグインを実行します。
実行すると上記のプップアップが表示されるため、Download component codeを押すとzipファイルがダウンロードされます。

image-9.png

以下のようにダウンロードされます。
ダウンロードしたファイルを展開すると、作ったコンポーネントが入っていません。
コンポーネント名がそのままクラス名になるため、日本語だとコード生成ができませんでした。

image-10.png

コンポーネント名を英字に変更し再度取り込むと、無事にFigmaで作成したコードがコード出力されました!
image-12.png
image-11.png

このような手順でFigmaからreactコンポーネントを出力できます。
出力したコンポーネントをAmplifyGen2環境に配置することで画面表示できるようになります。
(src配下のcomponentsに、ダウンロードしたui-componentsファイルを配置)

image-13.png

AmplifyGen2については、以下のリンクからクイックスタートを実施してみてください!
クイックスタートで作成したプロジェクトに、Figmaプラグインから出力したUIコンポーネントを配置し、jsxファイルのラッパーファイルを実装することで簡単に画面表示ができます。

(参考)

終わりに

Amplifyプロジェクトにファイルを取り込み、ローカルで表示してみました。
表示にあたり、以下の手順を実施しました。
・src > components内にダウンロードしたディレクトリごとに配置
・Figmaを修正した場合は再度プラグインを実行 → ui-componentsをダウンロード → プロジェクトに再配置
を行うことで、すぐにFigmaでのUI修正を反映できます。

オーバーライドなどせずにこのような実装が可能です。

Amplify UI Builder側で用意されたコンポーネントを流用することで、コード実装なしで入力もできる画面が楽に作ることができます!

(入力前)
image-14.png

(入力後)
image-15.png

15
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?