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.6k
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
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
0
660
AIを駆使して新しい技術を効率的に理解する方法
nogu66
0
470
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
490
業務でAIを使いたい話
hnw
0
250
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
15
48k
SODA - FACT BOOK(JP)
sodainc
1
9.4k
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
140
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
260
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
240
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
100
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
5.9k
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
920
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
For a Future-Friendly Web
brad_frost
180
10k
Code Review Best Practice
trishagee
72
19k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Unsuck your backbone
ammeep
671
58k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
The Pragmatic Product Professional
lauravandoore
36
7k
How STYLIGHT went responsive
nonsquared
100
5.9k
Visualization
eitanlees
150
16k
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 ͜ͷηογϣϯͰར༻ͨ͠ϓϩδΣΫτ