Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Vue.jsで書くAdobe XD Plugin
Search
TanakaMidnight
October 23, 2019
Programming
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vue.jsで書くAdobe XD Plugin
TanakaMidnight
October 23, 2019
More Decks by TanakaMidnight
See All by TanakaMidnight
APIを使う、作る
tanakamidnight
0
180
Web App created by Vue.js / Firebase (RxFire)
tanakamidnight
0
460
Firebaseここ最近(2019/01~05)の新機能(Osaka, Web寄り)
tanakamidnight
1
470
Vue.jsで作るAdobeXDプラグイン
tanakamidnight
0
710
できるようになるかもしれないVueNative
tanakamidnight
0
39
ハンズオンを支えた技術
tanakamidnight
0
280
Vue.jsの始め方
tanakamidnight
0
400
Vuesaxを使ってみる
tanakamidnight
0
470
FirebaseでWebサービスを作った(てる)話
tanakamidnight
0
620
Other Decks in Programming
See All in Programming
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
4k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
420
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
360
AHC070解法紹介
eijirou
0
140
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
150
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.3k
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
530
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
7
5k
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
350
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
My Coaching Mixtape
mlcsv
0
330
First, design no harm
axbom
PRO
2
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Prompt Engineering for Job Search
mfonobong
0
460
Navigating Weather and Climate Data
rabernat
0
540
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Transcript
Vue.js で書く Vue.js で書く Adobe XD Adobe XD Plugin Plugin
@TanakaMidnight at Adobe XD UserGroup Osaka Vol.07(19/10/24)
Agenda Agenda introduce 作ったPlugin 紹介 Vue.js って何? Adobe XD Plugin
をVue.js で書く 告知
ご注意 ご注意 本スライドは 本スライドは 少し JavaScript を理解していないと 少し JavaScript を理解していないと
最後のあたり難しいかもしれません 最後のあたり難しいかもしれません あらかじめご了承ください。 m(_ _)m あらかじめご了承ください。 m(_ _)m
introduce introduce
⽥中伸弥 ⽥中伸弥 atma 株式会社所属 サーバーサイド・フロントエンドエンジニア どっちかというとサーバーサイド Python(Django), Perl, JavaScript(TypeScript)
こんなの作ったりしてます。 こんなの作ったりしてます。 IT 勉強会通知 @ 関⻄ IT 勉強会通知 @ 関⻄
@itsskansai
None
IT 勉強会検索 @ 関⻄ IT 勉強会検索 @ 関⻄ https://itss.app/kansai
None
活動 活動 FJUG Osaka Organizer FJUG Osaka Organizer (Firebase 関連の勉強会)
GDGOsaka Co-Organizer GDGOsaka Co-Organizer (Google 関係技術の勉強会) VueJS Osaka 運営 VueJS Osaka 運営 (Vue.js の勉強会)
Adobe XD Adobe XD との関わり との関わり 1. 「⼤阪 Adobe XD
meeting #04 」に⼀般参加。 2. AdobeXD にはPlugin があり、JavaScript で開発できることを知る。
Adobe XD Adobe XD Plugin との関わり Plugin との関わり 1. 名前や年齢などを⾃動⽣成するPlugin
「ContentGenerator 」が紹介 されていた。 2. ただし、↑のPlugin は英語のみの対応。 3. 「⽇本語版あったらいいのにねー」的なことを⾔ってたので、さくっ と⽇本語化できんじゃね?的な感じで休憩中に調べてみる。
できそう ! できそう ! https://twitter.com/TanakaMidnight/status/1094169446896132096
できた !! できた !! その夜、本格的に対応可能か調査。 できそうだったのでいろいろと⽇本⽤にローカライズさせ完成!
ただし ただし 元のPlugin 作者と連絡がとれず、お蔵⼊り(´ ・ω ・`)
本登壇が決まり、 本登壇が決まり、 せっかくなので 1 から Plugin を作成。 せっかくなので 1 から
Plugin を作成。
できた !!! できた !!!
作った Plugin 紹介 作った Plugin 紹介
すべてのアートボードからテキストを検索し すべてのアートボードからテキストを検索し リスト表⽰し⼀括で置換する リスト表⽰し⼀括で置換する
None
DEMO DEMO
Vue.js って何? Vue.js って何?
JavaScript Frontend Framework React などの他のFramework と⽐べ初期学習コストは低め
Q. jQuery でいいんじゃね? Q. jQuery でいいんじゃね?
A. できなくはないがつらいことがある A. できなくはないがつらいことがある エラー判定とか表⽰処理したい。 Ajax でAPI 呼んでデータを表⽰したい。 リストやテーブルをループして値を表⽰したい。 ただし、あくまで適材適所。
↓の解説がわかりやすい。 Vue.js VS jQuery Vue.js VS jQuery https://www.notion.so/pixelgramjp/Vue-js-VS-jQuery- a05267c01901471fac06daf0c699dd75
単⼀ファイルコンポーネント 単⼀ファイルコンポーネント べんり <template> <p>{{ greeting }} World!</p> </template> <script>
module.exports = { data: function () { return { greeting: 'Hello' } } } </script> <style scoped=""> p { font-size: 2em; text-align: center; } </style>
Adobe XD Adobe XD Plugin を Plugin を Vue.js で書く
Vue.js で書く
なぜ Vue.js で書くのか? なぜ Vue.js で書くのか? 公式がサンプル⽤意してくれてる リスト表⽰が楽にかける。 デザイン部分と処理部分の分離ができる。 普通に書くのと圧倒的な優位性はそこまでない。
先ほどの検索、置換 Plugin の実際 先ほどの検索、置換 Plugin の実際 のコードを例に解説。 のコードを例に解説。
List 部分を抜粋(⼀部簡略化) List 部分を抜粋(⼀部簡略化) <template> <div v-for="searchResult in searchResults"> <div
class="table-col">{{ searchResult.board }}</div> <div class="table-col">{{ searchResult.text }}</div> <div class="table-col">{{ searchResult.replaceText }}</div> </div> </template> <script> module.exports = { data() { return { // 検索文字 searchText: "", // 検索結果 searchResults: [] } }, methods: { search() { // 検索結果 空 this.searchResults = [] // 全 検索 this.documentRoot.children.forEach(node => { if (node instanceof Artboard) { // 全 検索
DOM 操作をガリガリ書かなくても DOM 操作をガリガリ書かなくても リスト表⽰がかける。 リスト表⽰がかける。
まとめ まとめ Vue.js を使うことでAdobe XD Plugin が書ける。 リスト表⽰や複雑な処理をする場合、Vue.js で書くことを検討しても いいかも。
Plugin のHTML は若⼲クセがあるので気をつけないといけない。
END END さあ、作ってみよう!