Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Figma Dev Modeで変わる!Flutterの開発体験
Search
watanave
November 20, 2024
Programming
0
4.4k
Figma Dev Modeで変わる!Flutterの開発体験
watanave
November 20, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Flutter実践開発に書かなかったこと
watanave
0
55
Flutterビギナーのための Widget完全攻略
watanave
0
33
決めず、語らずのリーダーシップ
watanave
0
500
複数プロジェクトを横断するゆめみテックリードの戦略
watanave
0
130
Androidエンジニア目線のKMM / iOSエンジニア目線のKMM
watanave
0
360
Why does Activity die soon?
watanave
0
350
Anko試食会
watanave
0
2.4k
Other Decks in Programming
See All in Programming
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
17
6.1k
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
460
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
Yes, You Can Work on Rails & any other Gem
kaspth
0
110
Jakarta EE Meets AI
ivargrimstad
0
310
What's new in AppKit on macOS 26
1024jp
0
170
Understanding Kotlin Multiplatform
l2hyunwoo
0
220
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
330
マッチングアプリにおけるフリックUIで苦労したこと
yuheiito
0
240
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.1k
20250708_JAWS_opscdk
takuyay0ne
2
150
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
190
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Rails Girls Zürich Keynote
gr2m
95
14k
Done Done
chrislema
184
16k
Side Projects
sachag
455
43k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
How to Ace a Technical Interview
jacobian
278
23k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Site-Speed That Sticks
csswizardry
10
720
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Music & Morning Musume
bryan
46
6.7k
Transcript
Figma Dev ModeͰมΘΔʂ Flutterͷ։ൃऀମݧ Flutter Kaigi 2024
w ෦ཅଠʢΑʔͨΜʣ w גࣜձࣾΏΊΈऔక$50 w ஶॻ'MVUUFS࣮ફ։ൃ w !ZPIUB@XBUBOBWF ΑʔͨΜ
w גࣜձࣾΏΊΈɹσβΠϯςοΫϦʔυ w 6*σβΠφʔྺɹ'JHNBྺ w ظϓϩδΣΫτͰ'JHNBͷ৽ػೳʹΑΓഁյతͳΠϊ ϕʔγϣϯΛͨΒ͞Ε͕ͪ ಸྑྠເඒʢͳΒΘɹΏΊΈʣ O@ @
ZVNFNJ
w ੇܶʮגࣜձࣾͶΉΈͷৗʯ w ੇܶৼΓฦΓɻͦͯ͠'JHNBͱʜ w 'JHNBʹͰ͖ͳ͍͜ͱɺͦΕΛΓӽ͑Δώϯτ w 'JHNB͔Βιʔείʔυੜ Contents
ੇܶ גࣜձࣾͶΉΈͷৗ
None
None
w %FW.PEFͱͳʹ͔ w 'JHNBͱͳʹ͔ w ͜ΕΒΛ׆༻͢Δ͜ͱͱ w͜ͷυϥϚϑΟΫγϣϯͰɺגࣜձࣾͶΉΈՍۭͷا ۀͰ͢ɻ ੇܶΛৼΓฦΓɻͦͯ͠'JHNBͱ
w ΤϯδχΞ͚ͷใ͕ڧௐ͞Εͨ6* w ίʔσΟϯάʹཱͭػೳ w ϓϥάΠϯ ιʔείʔυੜ w 3FBEZGPSEFW'PDVTWJFX w
$PNQBSFDIBOHFT DevModeͱԿ͔
DevModeͱԿ͔
DevModeͱԿ͔
DevModeͱԿ͔
w 7BSJBCMFTͱ7BSJBOUʢΧϥʔͷׂɺऔΓ͏Δঢ়ଶʣ w 3FBEZGPSEFWʢσβΠϯͷεςʔλεʣ w $PNQPOFOUʢڞ௨8JEHFUͷઃܭʣ w 'SBNFͷ໊લʢઃܭҙਤʣ ੇܶͷதͰ'JHNB͔ΒΘͬͨใ
ੇܶͷதͰ'JHNB͔ΒΘͬͨใ
ੇܶͷதͰ'JHNB͔ΒΘͬͨใ
w 7BSJBCMFTͱ7BSJBOU w 3FBEZGPSEFWʢσβΠϯͷεςʔλεʣ w $PNQPOFOUʢڞ௨8JEHFUͷઃܭʣ w ֤'SBNFͷׂ ੇܶͷதͰ'JHNB͔ΒΘͬͨใ σβΠφ͞Μ͕͍͑ͨ͜ͱʂ
w σβΠφ͕σβΠϯ͢ΔɺઃܭΛՄࢹԽɾߏԽ͢Δπʔ ϧ w σβΠφͷҙਤΛΤϯδχΞઢʹมʢ%FW.PEFʣ͠ ͯ͑Δ w ͭ·ΓɺίϥϘϨʔγϣϯπʔϧ Figmaͱ
w σβΠφҙࢥΛ࣋ͬͨσβΠϯɺઃܭΛ͢Δ w 'SBNFͷ໋໊ɺ$PNQPOFOUɺ7BSJBOUͳͲ w ΤϯδχΞσβΠφͷҙਤΛίʔυʹөͤ͞Δ w σβΠφɾΤϯδχΞ͕ҙࢥૄ௨Λ͔Δ FigmaΛ׆༻͢Δ͜ͱͱ
w 'JHNBΛ׆༻ͨ͜͠ͱʹΑͬͯ w νʔϜͷҙࢥૄ௨͕͏·͍͘͘ w ϓϩμΫτͷޭʹ͔ͬͯίϥϘϨʔγϣϯͰ͖Δঢ় ଶʹͳΔ w ΤϯδχΞ8JEHFUઃܭΛσβΠφͱڞಉͰߦ͏͜ͱ ੇܶͰ͔͑ͨͬͨ͜ͱ
FigmaʹͰ͖ͳ͍͜ͱ ͦΕΛΓӽ͑Δώϯτ
None
w ΤϯδχΞͷՌΛσβΠφ͕ϨϏϡʔ͢Δػձ͕গͳ͍ w ·ͨλΠϛϯά͕͍ʢϓϧϦΫͷϚʔδޙʣ w ΤϯδχΞʢͷՌʣˠσβΠφใୡ͕ߴίετ w ϕʔλϦϦʔε w ϨϏϡʔରͷػೳ͕ਂ͍ͱ͜Ζʹ͋Δ
w ঢ়ଶΛ࡞ΓͮΒ͍ ࣄͷݪҼ
ίϥϘϨʔγϣϯ్͕ΕΔ σβΠϯͱઃܭ 🤨 ࣮݁Ռ
՝ͷղܾͷҰྫ σβΠϯͱઃܭ 🤝 WidgetBook
w 8JEHFU#PPL w 8JEHFUͷΧλϩάΛ࡞͢Δύοέʔδ w ༷ʑͳ݅Ͱ8JEHFUͷݟͨΠϯλϥΫγϣϯΛ֬ೝ w 8JEHFU#PPL$MPVE w 'MVUUFSϓϩδΣΫτ͚ͷίϥϘϨʔγϣϯπʔϧ
w ඇΤϯδχΞͱͷϨϏϡʔϓϩηεΛศརʹ͢ΔαʔϏε WidgetBookͱ
՝ͷղܾͷ͏Ұͭͷྫ σβΠϯͱઃܭ 🤝 Figma Rest API
Figma REST API w 'JHNB"1*Λఏڙ͍ͯ͠Δʂ w දతͳͷͭ w 1MVHJO"1* w
8JEHFU"1* w 3&45"1*
%&.0
FigmaΛӽ͑ͨίϥϘϨʔγϣϯ w 'JHNBΛӡ༻͢Δ্Ͱى͜Γ͕ͪͳ՝ͱͦͷղܾ๏ͷྫΛ հ wίϥϘϨʔγϣϯΛ్Εͤ͞ͳ͍ w ֎෦࿈ܞػೳΛར༻ͯ͠ίϥϘϨʔγϣϯͷύεΛิ͏ w 'JHNBϓϥάΠϯͰղܾ͢Δέʔε͋Δ w
σβΠϯఔʹϑΥʔΧεͤͣɺશମΛଊ͑ͯӡ༻ઃܭ
࠷ྑͳӡ༻Ұͭ͡Όͳ͍ w ࠷ྑͳӡ༻νʔϜϓϩμΫτɺ·ͨͦͷϑΣʔζʹΑͬ ͯมԽ͢Δ w ελʔτΞοϓͰσβΠϯϑΝΠϧΛࣺͯͳ͕Β࠷ Ͱ։ൃ͢Δ͜ͱ͕ඞཁͳ߹ w 'JHNBͰѻ͏σβΠϯɾઃܭͷϥΠϑαΠΫϧ͕͘ͳͬͯ ͖ͨΒɺ࣋ଓՄೳͳӡ༻ͷػӡ͔Εͳ͍
Figma͔Β ιʔείʔυੜ
DevModeͰͷίʔυੜ w J04"OESPJEͷ6*ίʔυɺ$44ͷੜ'JHNB͕αϙʔτ w 'MVUUFSͷίʔυੜαʔυύʔςΟͷϓϥάΠϯ͕ଟ w ϘΠϥʔϓϨʔτίʔυΛੜͯ͘͠ΕΔϓϥάΠϯ👍 w 8JEHFUΛੜ͢Δ߹ɺϓϥάΠϯͰෆेʁ
FigmaͱੜAIΛΈ߹Θͤͯίʔυੜ ը૾ͱ+TPO Dartίʔυ
CursorΤσΟλΛར༻ w $VSTPSͱ͍͏ੜ"*࿈ܞʹಛԽͨ͠ΤσΟλ w 74$PEF͕ϕʔεʹͳ͍ͬͯΔͷͰ'MVUUFS։ൃʹ⭕ w ϓϩδΣΫτͷίʔυɺίʔσΟϯάϧʔϧͳͲ"*ʹ͑Β ΕΔίϯςΩετ͕ଟ͍ʢଟ͘ͷίϯςΩετΛ͢ମݧʹ ༏Ε͍ͯΔʣ
None
None
None
ը૾͚ͩͰ·ͣ·ͣͷ݁Ռ
Cursor rules w ҎԼΛϧʔϧʹࢦఆ w ΞϓϦͷσβΠϯը૾ϑΝΠϧʹै͏ w σβΠϯը૾ϑΝΠϧΛ࣮ʹ࠶ݱ͢Δ͜ͱɻͦͷͨΊʹɺ ϑΥϯταΠζ༨നͳͲͷύϥϝʔλKTPOϑΝΠϧΛಡΈ औΔɻ
ը૾͚ͩͰ·ͣ·ͣͷ݁Ռ
࣮ํ๏͕͔͍ͬͯΔͳΒࢦࣔͰमਖ਼Մೳ
ͨ͘͞ΜͷใΛ༩͑ΔͱΑΓਖ਼֬ʹͳΔ
FigmaͱੜAIͰWidgetͷίʔυੜ w $POUFYUͷ༩Λ͢Εɺ֓ͶσβΠϯʹ͍ۙͷΛੜ ͢Δ͜ͱՄೳ w શͯΛσβΠϯ௨ΓʹҰܸͰੜ͢Δͷɺ·͍ͩ͠ w ඍௐ͢Δ߹ɺ࣮ํ๏ΛΒͳ͍ͱࢦࣔͰ͖ͳ͍߹
FigmaͱੜAIͰWidgetͷίʔυੜ w 'JHNBΛ׆༻͢Δͱ͍͏ҙຯͰɺσβΠφͷҙਤΛੜ"* ʹ͍͑ͯ͘ w $PNQPOFOUຖʹίʔυΛੜ w 7BSJBCMFTΛҰׅੜ͠ɺ$POUFYUͱͯ͠༩ w ͕࣌ؒղܾ͢ΔͰ͋Δɻࠓޙͷల։ʹظʂ
w %SFBN$BDIFSʢ(JU)VCʣ w %SFBN$BDIFS 'JHNB QBTTXPSESJWFSQBTUFUBXOZHMPX w
8JEHFU#PPL$MPVE ͜ͷηογϣϯͰར༻ͨ͠ϓϩδΣΫτ