$30 off During Our Annual Pro Sale. View Details »
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.7k
Figma Dev Modeで変わる!Flutterの開発体験
watanave
November 20, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Flutter実践開発に書かなかったこと
watanave
0
69
Flutterビギナーのための Widget完全攻略
watanave
0
40
決めず、語らずのリーダーシップ
watanave
0
520
複数プロジェクトを横断するゆめみテックリードの戦略
watanave
0
130
Androidエンジニア目線のKMM / iOSエンジニア目線のKMM
watanave
0
360
Why does Activity die soon?
watanave
0
360
Anko試食会
watanave
0
2.4k
Other Decks in Programming
See All in Programming
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
17
6.7k
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
140
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.4k
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
120
[SF Ruby Conf 2025] Rails X
palkan
0
450
tparseでgo testの出力を見やすくする
utgwkk
1
140
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
150
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
CSC305 Lecture 15
javiergs
PRO
0
250
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
400
React Native New Architecture 移行実践報告
taminif
1
130
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
54
7.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Six Lessons from altMBA
skipperchong
29
4.1k
Optimizing for Happiness
mojombo
379
70k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Done Done
chrislema
186
16k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
How GitHub (no longer) Works
holman
316
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Making Projects Easy
brettharned
120
6.5k
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 ͜ͷηογϣϯͰར༻ͨ͠ϓϩδΣΫτ