AWS Amplify について (2) figma連携
先日こんな記事がありました。
要はfigmaで作成されたワイヤーフレームからReactのアプリケーションを作成し、 Gitへpushしてくれるみたいです。
試す
Figmaでページをワイヤーを作成する
Amplify UI Kit
Figmaで作成にあたって Amplify UI Kit というものが提供されています。
READMEが英語で書かれていますが、ページを作る部分の説明は下のような感じです。
- 適当な Layer で frame を作成してコンポーネントにする。
コンポーネントがStudioに取り込まれる。
コンポーネント名は PascalCase で定義する。 - Amplifyから
Primitives
として提供されているアセットが利用できる。(Shift + I でショートカットが利用できる) - Amplifyが提供しているコンポーネントはフレームを右クリックして Auto Layout を追加すると、プロパティからスタイルを調整できる。
- 右クリックでコンポーネントを作成する。
- Auto Layout のフレームとは別のフレームを作成することで希望のレイアウトにできる。
今回のテストのためにこのようなワイヤーを用意しました。
リンクで前後に行き来できます。
ボタンは押しても何も起こらないはずです。
アプリケーションのビルド
まずAWS Amplifyでアプリケーションをビルドします。
アプリケーションの名前を決めるだけで、特にこの点で難しいことはありません。
Amplify Studio を立ち上げる
Amplify Consoleの以下の場所で起動ができます。
Amp
Amplify Studio
メニューの Design → UI Library から作成したFigmaのテンプレートを読み込めます。
読み込むと、取り込むコンポーネントを一つずつ確認していきます。
Amplify Studioからソースコードを取得する
コンソール画面の右上の「Local setup Instructions」からpullするためのコマンドが見れます。
$ amplify pull --appId ****************** --envName staging
自分の環境では ~/.aws/credentials
にdefaultのprofileを設定していなかったので、
当初上記のコマンドを実行した際に "Aborted!" のメッセージが出ましたが、
以下のようにprofileを指定することでコマンドが通りました。
$ amplify pull --appId ****************** --envName staging --providers {"awscloudformation":{"configLevel":"project","useProfile":true,"profileName":"your_aws_profile"}}
実行したところブラウザ経由でのログインが行われ、
初回のみjsフレームワークの選択などがありました。
reactを選択したところ以下のReact用のコンポーネントのjsxファイルが出力されました。
vueも試しに選択してみましたが、vueファイルなどは出力されませんでした。
まとめ
figmaを利用してコンポーネントを作成する際もAtomic Designを意識して作成することが大事なのかな、と感じました。
figma上での要素の構成や配置を行うのは良いかなと思いますが、細かなデザインはどこで行うべきかは課題です。
AWS Amplify について (1) 101
AWS Amplifyについて
以下の内容はAWS BlackBelt Online Seminar AWS Amplify の内容の個人的なまとめです。
AWS Amplifyとは
Amplify Framework
バックエンドに直感的に接続できるライブラリ。 js, iOS, Android に対応。
// e.g. ファイルをプライベートでアップロードするためのコード Storage.put('test.png', file: { contentType: 'image/png', level: 'private', });
Amplifyのワークフロー
- CLIでバックエンド構築
- Amplify Frameworkでアプリケーション実装
- デプロイ
1. Amplify CLI
Amplify CLI インストール
$ npm install -g @aws-amplify/cli $ amplify configure
ルートディレクトリで初期化
$ amplify init
カテゴリ(バックエンドの設定)を追加する
# カテゴリの作成 $ amplify add <category name> # e.g. APIのバックエンド構築 $ amplify add api
# カテゴリの更新 $ amplify update <category name> # カテゴリの削除 $ amplify remove <category name> # 設定ステータスの確認 $ amplify status
下記のコマンドで構築がされる。
※ アプリケーションに設定ファイルが作成されるが、CLIで上書きされるので直接編集はしてはいけない。
# バックエンドの構築 $ amplify push
2. Amplify Frameworkを用いたアプリケーションの実装
Amplify Frameworkのインストール
$ npm install aws-amplify
ソースコードで先に生成されたバックエンドの設定ファイルの読み込みを行う。
// jsの例 import Amplify from "aws-amplify"; import awsExports from "./aws-exports"; Amplify.configure(awsExports);
構築できる機能の一覧
3. アプリケーションのデプロイ
$ amplify add hosting
デプロイ方法は以下の2つがあるが、自分の場合は後者しか使わないと感じた。
- (1) Amazon CloudFront and S3
- (2) Hosting with Amplify Console
まとめ
ご多分にもれず、弊社でも現在エンジニアの人手不足に悩まされているので、一人のエンジニアが担う役割というのは広範囲になっています。
そんな中でスコープを絞り込むことができるAWS Amplifyを使用するのは良い選択なのかもしれません。
各カテゴリとの連携方法については別記事でまとめようと思います。