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
73
Figma Dev Modeで変わる!Flutterの開発体験
watanave
November 20, 2024
Tweet
Share
More Decks by watanave
See All by watanave
Flutter実践開発に書かなかったこと
watanave
0
14
Flutterビギナーのための Widget完全攻略
watanave
0
22
決めず、語らずのリーダーシップ
watanave
0
430
複数プロジェクトを横断するゆめみテックリードの戦略
watanave
0
120
Androidエンジニア目線のKMM / iOSエンジニア目線のKMM
watanave
0
340
Why does Activity die soon?
watanave
0
340
Anko試食会
watanave
0
2.4k
Other Decks in Programming
See All in Programming
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
EventSourcingの理想と現実
wenas
6
2.3k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
RubyLSPのマルチバイト文字対応
notfounds
0
120
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
1
110
Jakarta EE meets AI
ivargrimstad
0
580
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
250
Arm移行タイムアタック
qnighy
0
310
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Speed Design
sergeychernyshev
24
610
Optimizing for Happiness
mojombo
376
70k
It's Worth the Effort
3n
183
27k
Being A Developer After 40
akosma
86
590k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Rails Girls Zürich Keynote
gr2m
94
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Making Projects Easy
brettharned
115
5.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Into the Great Unknown - MozCon
thekraken
32
1.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 ͜ͷηογϣϯͰར༻ͨ͠ϓϩδΣΫτ