$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
Search
YomEngine
October 06, 2025
Programming
1
170
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
2025/10/4 FlutterKaigi mini #5 @Sapporo LT資料
YomEngine
October 06, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
5
710
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
AIコーディングエージェント(skywork)
kondai24
0
200
クラウドに依存しないS3を使った開発術
simesaba80
0
160
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
580
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
120
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
960
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
390
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
37k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
66
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
340
For a Future-Friendly Web
brad_frost
180
10k
The SEO Collaboration Effect
kristinabergwall1
0
310
Technical Leadership for Architectural Decision Making
baasie
0
180
A better future with KSS
kneath
240
18k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Tell your own story through comics
letsgokoyo
0
760
Transcript
ͦͷ໘ͳ࡞ۀɺʮDartʯʹ Βͤ·ͤΜ͔ʁ Flutter։ൃऀͷͨΊͷۀޮԽ 2025/10/04 FlutterKaigi mini #5 @Sapporo
ࣗݾհ • ໊લ: ాݪ ༿ • 𝕏 : @yord031ʢ ɹ
ʣ • ॴଐ: גࣜձࣾϝϯόʔζ ΫϩεΞϓϦέʔγϣϯΧϯύχʔ FlutterΛओ࣠ʹɺΞϓϦ։ൃࢧԉΛ͍ͯ͠·͢
גࣜձࣾϝϯόʔζɺFlutterKaigi 2025ͷϒϩϯζεϙϯαʔͰ ͢
ଟ༷ͳin-memoryΩϟογϡΛఏڙ͢ΔDartύοέʔδΛެ։ https://pub.dev/packages/cacherine 4 yordgenome03 mem-5514-tahara qr.dartύοέʔδʹOSS Contribution https://github.com/kevmoo/qr.dart/issues?q=author%3Amem-5514-tahara FlutterͷFormWidgetΛSwiftUIͰ࠶ݱ͢ΔSwiftύοέʔδΛެ։ https://swiftpackageindex.com/yordgenome03/FlutterLikeForm
cacherine FlutterLikeForm qr.dart
ʲຊʳ օ͞ΜɺPythonॻ͍ͯ·ͤΜ͔ʁ
Α͋͘Δ໘ • CSVूܭ͍ͨ͠ → Python + Pandas • WebεΫϨΠϐϯά͍ͨ͠ →
Python + BeautifulSoup • ը૾ॲཧ͍ͨ͠ → Python + PIL • ఆظ࣮ߦ͍ͨ͠ → Python + cron • etc … ۀޮԽ = Pythonʁ
ͦͷ࡞ۀɺDartʹΒͤ·ͤΜ͔ʁ
Pythonͷ࡞ۀΛDartʹஔ͖͑Δͱͨ͠Β DartͰউͯΔʢ֬৴ʣ λεΫ 1ZUIPO %BSU $47ूܭ 1BOEBT JP DTW 8FCεΫϨΠϐϯά
#FBVUJGVM4PVQ IUUQ QBSTFS ը૾Ұׅॲཧ 1*- JP JNBHF ఆظ࣮ߦ DSPO TDIFEVMF DSPO ϚεɾΩʔϘʔυૢ࡞ 1Z"VUP(6* QSPDFTT@SVO SPCPU JP ϒϥβૢ࡞ 4FMFOJVN XFCESJWFS
࣮ࡍʹDartͰࣗಈԽͯ͠ΈΔ
Flutter Issueࣗಈڞ༗γεςϜ 1. ใऩूͷࣗಈԽˡఆظతͳใऔಘɾߏԽॲཧ • Flutter GitHubϦϙδτϦͷ׆ൃͳIssueΛऔಘ 2. ࠩཧͷࣗಈԽˡมԽݕग़ɾϑΟϧλϦϯάॲཧ •
લճऔಘͷࠩͷΈΛநग़ 3. ߘ࡞ۀͷࣗಈԽˡUIࣗಈૢ࡞ɾٖࣅਓྗ࣮ߦ • SlackࢦఆνϟϯωϧʹϢʔβʔ໊Ͱߘ
ॲཧϑϩʔ DSPOʹΑΔఆ࣮࣌ߦ (JU)VC*TTVFऔಘ લճσʔλಡΈࠐΈ ࠩ֬ೝ 4MBDLىಈ ϝοηʔδߘ ॲཧऴྃ ࣍ճDSPO࣮ߦػ ࠩཧσʔλอଘ
ͳ͠ ͋Γ
SlackʹϢʔβʔ໊Ͱࣗಈߘ͢Δٕज़બࢶ 1. SlackͷIncoming WebhookΛ͏ • ❌ΞϓϦ໊͔Βͷߘʹͳͬͯ͠·͏ 2. SlackͷWeb API chat.postMessage
Λ͏ • ⭕ࢦఆϢʔβʔ͔ΒࢦఆνϟϯωϧʹߘͰ͖Δ 3. Apple ScriptͰը໘ɾΩʔϘʔυΛૢ࡞͢Δ • 🔺ը໘ঢ়ଶʹґଘ͘͢͠ਫ਼͕͍ ٕज़ݕূͷͨΊApple ScriptΛબ ※ MacڥΛఆ
// SlackΞϓϦΛىಈ Future<void> _activateSlack() async { await Process.run('osascript', [ '-e',
'tell application "Slack" to activate', ]); } • dart:ioͷProcess.runؔ Λͬͯɺosascript -e ίϚϯυΛ࣮ߦ͢Δ • applicationʹSlackΛࢦఆ ͯ͠activeԽ ؔఆٛᶃ SlackΞϓϦΛΞΫςΟϒԽ
// ΫΠοΫεΠονϟʔΛ։͘ (Cmd+K) Future<void> _openQuickSwitcher() async { await Process.run('osascript', [
'-e', 'tell application "System Events" to keystroke "k" using command down', ]); } • dart:ioͷProcess.runؔ Λͬͯɺosascript -e ίϚϯυΛ࣮ߦ͢Δ • System Eventsʹ⌘KΛଧ 伴ࢦࣔ ؔఆٛᶄ ΫΠοΫεΠονϟʔΛ։͘
// ΫϦοϓϘʔυʹίϐʔ Future<void> _copyToClipboard(String text) async { final process =
await Process.start('pbcopy', []); process.stdin.write(text); await process.stdin.close(); await process.exitCode; } • dart:ioͷProcess.startؔ ͰετϦʔϜΛͬ ͯɺpbcopyίϚϯυΛ࣮ ߦ͢Δ • ඪ४ೖྗͰςΩετΛॻ ͖ࠐΜͰ͔ΒετϦʔϜ Λด͡Δ ؔఆٛᶅ ΫϦοϓϘʔυʹίϐʔ
// ΫϦοϓϘʔυ͔Βϖʔετ (Cmd+V) Future<void> _pasteFromClipboard() async { await Process.run('osascript', [
'-e', 'tell application "System Events" to keystroke "v" using command down', ]); } • dart:ioͷProcess.runؔ Λͬͯɺosascript -e ίϚϯυΛ࣮ߦ͢Δ • System Eventsʹ⌘VΛଧ 伴ࢦࣔ ؔఆٛᶆ ΫϦοϓϘʔυ͔Βϖʔετ
// EnterΩʔԡԼ Future<void> _pressEnter() async { await Process.run('osascript', [ '-e',
'tell application "System Events" to key code 36', ]); } • dart:ioͷProcess.runؔ Λͬͯɺosascript -e ίϚϯυΛ࣮ߦ͢Δ • System EventsʹEnter ΩʔΛଧ伴ࢦࣔ ؔఆٛᶇ EnterΩʔ
// Cmd + EnterͰߘ Future<void> _postWithCommandEnter() async { await Process.run('osascript',
[ '-e', 'tell application "System Events" to key code 36 using command down', ]); } • dart:ioͷProcess.runؔ Λͬͯɺosascript -e ίϚϯυΛ࣮ߦ͢Δ • System Eventsʹ⌘Enter Λଧ伴ࢦࣔʢΩʔίʔυ ࢦఆʣ ؔఆٛᶈ ϝοηʔδͷߘ
ϓϩάϥϜ࣮ߦ݁Ռ 1. ࣗಈͰSlackΞϓϦ͕ىಈ 2. SlackΞϓϦ͕ΞΫςΟϒʹ 3. ΫΠοΫεΠονϟʔͰ #generalʹҠಈ 4. ϝοηʔδཝʹFlutter
Issuesͷ·ͱΊΛೖྗ 5. ϝοηʔδૹ৴ ϓϩάϥϜͰߘͨ͠ϝοηʔδ
None
·ͱΊ -ʮ໘ͳ࡞ۀDartͰΓ͍ͨʯ • ϥΠϒϥϦͷ๛͞ɾσʔλੳɾεΫϨΠϐϯάͳͲ Pythonʹෛ͚Δ • APIϦΫΤετσʔλॲཧΛDartͰޮతʹΨϯΨϯॻ͚Δ • Flutterͱಉ͡ݴޠͦͷ··ͰࣗಈԽͰ͖Δͷؾ͍͍࣋ͪ •
͖: Dart > Python
͓ΘΓʹ גࣜձࣾϝϯόʔζɺΦϯυϝσΟΞʰBEMAʱͰɺΤϯδχΞͷ ࣮ફʹཱͭ࠷৽ͷٕज़τϨϯυ։ൃϊϋΛൃ৴͍ͯ͠·͢ https://bema.jp/ Check!! 𝕏 ΞΧϯτͷϑΥϩʔΑΖ͓͘͠ئ͍͠·͢ https://x.com/BEMA_Lab エンジニアの 成
長 を 支 援する 技術メディア
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 2025/10/04 FlutterKaigi mini #5 @Sapporo ͦͷ໘ͳ࡞ۀɺʮDartʯʹΒͤ·ͤΜ͔ʁ Flutter։ൃऀͷͨΊͷۀޮԽ