Slide 1

Slide 1 text

Figmaプラグイン 開発のすゝめ Figmaプラグインで始めるWebアプリケーション開発 Takanori Oki - 20210125

Slide 2

Slide 2 text

自己紹介 • Takanori Oki - 大木尊紀 - @takanorip • UI designer at ClassDo / Frontend developer • Organizer of Web Platform Study Group • takanorip.com

Slide 3

Slide 3 text

Figma • Webアプリケーションベースのデザインツール • チーム開発(コラボレーション)のための機能が充実 • 共同編集 • URLによる共有 • コンポーネント管理機能 • etc…

Slide 4

Slide 4 text

Figma Plugins • Figmaで利用できる拡張機能 • Figmaのデザインデータにアクセス、編集ができる • Webフロントエンドと同じ技術スタックで開発できる • 審査に合格すればFigma Community上に公開することも可能 • 補足:FigmaはWeb APIも公開しているがそちらは情報の取得のみで、 編集などは一切できない

Slide 5

Slide 5 text

Figma Pluginsが アプリケーション開発入門に適している理由 • UIとロジックを分離させる設計になっている • ローカルで動作を試せる(デプロイ必要ない) • TypeScriptで開発できるよう整備されている TODOリストより実践的だけど個人アプリ開発より手軽

Slide 6

Slide 6 text

UIとロジックを分離させる設計になっている ग़యɿFigma Developers

Slide 7

Slide 7 text

UIとロジックを分離させる設計になっている • サンドボックスはFigmaのAPIにアクセスできる • ブラウザ APIにはアクセスできない • iframeではFigma APIにアクセスできない • ブラウザの機能はだいたい使える • 外部Web APIへのアクセスも可能(POSTは出来ない) • サンドボックスとiframeはpostMessageでやりとりする

Slide 8

Slide 8 text

責務の分離と セキュリティの確保のために こういった設計になってる

Slide 9

Slide 9 text

Webフロントエンド開発をいろいろ試せる • 公式でTypeScriptを用いた開発が推奨されてる • https://www.figma.com/plugin-docs/typescript/ • サンプルも充実 • https://github.com/figma/plugin-samples • パフォーマンスチューニングの題材としても良いかも • https://www.figma.com/plugin-docs/frozen-plugins/

Slide 10

Slide 10 text

簡単な始め方 • CLI tool • https://github.com/yuanqing/create-figma-plugin • https://rsms.me/figplug/ • UI Components for Figma Plugins (Unofficial) • https://github.com/thomas-lowry/figma-plugin-ds

Slide 11

Slide 11 text

JUST DO IT!