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
出前館におけるFlutter活用事例
Search
株式会社出前館
June 10, 2024
0
620
出前館におけるFlutter活用事例
FlutterKaigi mini Osaka #1 with Mix Leap Study #75の登壇資料です
株式会社出前館
June 10, 2024
Tweet
Share
More Decks by 株式会社出前館
See All by 株式会社出前館
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
160
これならできる!Kotlin・Spring・DDDを活用したAll in oneのマイクロサービス開発術
demaecan
0
400
出前館を支えるJavaとKotlin
demaecan
0
350
滑らかなユーザー体験も目指す注文管理のマイクロサービス化〜注文情報CSVダウンロード機能の事例〜
demaecan
0
330
Yahoo!クイックマート管理画面でNext.js + static exportsを選んだ理由
demaecan
0
63
出前館アプリにおけるFlutterアプリ設計とそれを支えるCICD環境の進化
demaecan
0
940
出前館のマルチプロダクト戦略を支えるアーキテクチャ 〜技術的負債を解消しながら事業を多角化する〜
demaecan
1
250
新卒1年目の自分に伝えたかったエンジニアの成長に役に立つ話
demaecan
0
1.9k
新卒エンジニアが0からNon-BlockingなgPRCサーバーを作った話
demaecan
1
600
Featured
See All Featured
Making Projects Easy
brettharned
116
6.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Automating Front-end Workflow
addyosmani
1370
200k
The Invisible Side of Design
smashingmag
301
51k
How GitHub (no longer) Works
holman
314
140k
Documentation Writing (for coders)
carmenintech
72
4.9k
Designing for Performance
lara
610
69k
Practical Orchestrator
shlominoach
189
11k
Writing Fast Ruby
sferik
628
62k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Become a Pro
speakerdeck
PRO
29
5.4k
Transcript
出前館におけるFlutter活用事例 株式会社出前館 田中優之 2024.6 @ Mix Leap Study #75 -
FlutterKaigi mini Osaka #1
ࣗݾհ ग़લؗͷ͝հ ͜Ε·ͰͷऔΓΈ ࠓޙͷ՝ͱΓ͍ͨ͜ͱ 01 02 03 04 Contents
ࣗݾհ ग़લؗͷ͝հ ͜Ε·ͰͷऔΓΈ ࠓޙͷ՝ͱΓ͍ͨ͜ͱ 01 02 03 04 Contents
ాத ༏೭ • 8FCαʔϏε։ൃͷͷͪ ΞϓϦ։ൃΛ୲ • ήʔϜΞϓϦ • ΧʔφϏΞϓϦ •
݄ ʙ ग़લؗΛ୲ ͜Ε·Ͱͷۀܦݧ ͦͷଞ • ྉཧ • ത࢜ ιϑτΣΞֶ גࣜձࣾग़લؗ ϓϩμΫτຊ෦ίϯγϡʔϚ෦ ΞϓϦ։ൃάϧʔϓ άϧʔϓϚωʔδϟ ॴଐ • -*/&Ϡϑʔגࣜձࣾ ژΦϑΟεॴଐ • גࣜձࣾग़લؗग़ ࣗݾհ
ࣗݾհ ग़લؗͷ͝հ ͜Ε·ͰͷऔΓΈ ࠓޙͷ՝ͱΓ͍ͨ͜ͱ 01 02 03 04 Contents
ग़લؗͷ͝հ .*44*0/ ςΫϊϩδʔͰ࣌ؒՁΛߴΊΔ 7*4*0/ ҬͷਓʑͷͤΛͭͳ͙ϥΠϑΠϯϑϥ 7"-6& ϗεϐλϦςΟ νϟϨϯδ ΫϦΤΠςΟϏςΟ
ࣗݾհ ग़લؗͷ͝հ ͜Ε·ͰͷऔΓΈ ࠓޙͷ՝ͱΓ͍ͨ͜ͱ 01 02 03 04 Contents
͜Ε·ͰͷऔΓΈ 'MVUUFS,BJHJͰͷൃද ओͳΞϓϦͷར༻ٕज़มભ • Ճໍళ͚ΞϓϦ 9BNBSJO • υϥΠόʔ͚ΞϓϦ 3FBDU/BUJWF •
ग़લؗΞϓϦ ΤϯυϢʔβ͚ 3FBDU/BUJWF • Ճໍళ͚ΞϓϦ 9BNBSJO 'MVUUFS • υϥΠόʔ͚ΞϓϦ 3FBDU/BUJWF 'MVUUFS • ग़લؗΞϓϦ ΤϯυϢʔβ͚ 3FBDU/BUJWF 'MVUUFS
͜Ε·ͰͷऔΓΈ 'MVUUFS,BJHJͰͷൃද ඇػೳཁ݅ • ίʔυϑϦʔζظؒΛઃ͚Δ͜ͱ͍͠ • 'MVUUFS൛ͷ։ൃͱطଘ3FBDU/BUJWF൛ͷػೳՃΛฒߦ͢Δ • 'MVUUFS൛ؖࠃνʔϜͰઌߦͯ͠ਐΊ ঃʑʹຊνʔϜ߹ྲྀ
• ຊଆϝϯόʔ'MVUUFSΛ͜Ε͔Βֶश͢Δ • ෆ۩߹ͳ͘ Ͱ͖Δ͚ͩૣ͘ϦϦʔε͢Δ ػೳཁ݅ • طଘ3FBDU/BUJWF൛ͱಉ༷ͷػೳΛఏڙ͢Δ ग़લؗΞϓϦ 3FBSDIJUFDUͷऔΓΈ
͜Ε·ͰͷऔΓΈ 'MVUUFS,BJHJͰͷൃද dϦάϨογϣϯςετͷݟ͠d Test Planning Test Analysis Test Design Test
Implementation Test Execu7on • εέδϡʔϧཱҊ • ίετࢼࢉ • ϖʔδػೳ୯Ґ ͰείΞϦϯά • είΞϦϯά݁Ռ Λ༻͍ͨ༏ઌܾ ఆ • ϋΠϨϕϧςετ έʔε࡞ • ςετ؍͢Γ߹ Θͤ • ςετέʔε࣮ • ςετέʔεमਖ਼ ςετ࣮ࢪ ࣍ͷϖʔδػೳΛ ݟ͠ ग़લؗΞϓϦ 3FBSDIJUFDUͷऔΓΈ
0 50 100 150 200 250 0 10 20 30
40 50 60 70 80 90 100 バグ件数(個) テストケース消化率(%) バグ曲線 ͜Ε·ͰͷऔΓΈ 'MVUUFS,BJHJͰͷൃද 他にも様々な⼯夫が あった上での成果 🙆
͜Ε·ͰͷऔΓΈ ͦͷޙ 6*ϦχϡʔΞϧ • 6*ͷΈมߋ FYը໘ભҠͳͲͷมߋ͠ͳ͍ • #MPDʹؔͯ͠ͷमਖ਼ͳ͠Ͱྃ • ͦͷଞɿσβΠϯγεςϜߏஙࡁΈ
• εέδϡʔϧɿd
͜Ε·ͰͷऔΓΈ ͦͷޙ 'MVUUFSΞοϓάϨʔυ • 'MVUUFS • 9DPEFͷόʔδϣϯΞοϓ͓Αͼ1SJWBDZ1PMJDZରԠ • ݩʑ͜ͷରԠͷ࣮ࢪ͢Δܭը͕ͩͬͨɺ'MVUUFSͷΞοϓά ϨʔυΛ͢Δඞཁ͕͋ΔͱΘ͔Γ߄ͯͨ
• $*$%ڥͷ࡞ۀௐ • 5FBNDJUZͱ͍͏$*πʔϧΛར༻ͯ͠શΞϓϦΛӡ༻ • Ϗϧυαʔό.BD4UVEJP ॾʑͷࣄʹΑΔ • ଞΞϓϦͷϦϦʔε༧ఆΛՃຯ͠ɺ9DPEFͷΞοϓάϨʔυ࣮ ࢪ • ˞ৄࡉΛ͢ηογϣϯͷϓϩϙʔβϧ J04%$ ग़ͯ͠·͢ iOSDCのプロポーザル へのQRコード
͜Ε·ͰͷऔΓΈ ͦͷޙ ͦͷଞ • 3FMFBTF5SBJOͷಋೖ • ϦϦʔεͱ࣭Λࢧ͑ΔΛΈԽ • ಋೖޙͷޮՌɿϦϦʔεௐ࡞ۀͷݮগɺ։ൃϦζϜͷఆண •
3FUFBNJOH • ৫ࣄͰɺओཁϝϯόʔ͕ • ॏཁͳυϝΠϯΛϦʔυ͍ͯͨ͠ϝϯόʔͩͬͨͷͰɺܭըత ʹ3FUFBNJOHΛ࣮ࢪ 5FBN5PQPMPHZΛ࠾༻͍ͯ͠ΔͷͰɺ ͦΕΛϕʔεʹ3FUFBNJOH • J04%$Ͱؔ͢ΔΛ͢ϓϩϙʔβϧΛग़ͯ͠·͢ͷͰ Ԡԉ͓ئ͍͠·͢ʂ iOSDCのプロポーザル へのQRコード
͜Ε·ͰͷऔΓΈ ͦͷޙ ͦͷଞ • Πϕϯτొஃ • 'PMEFS4USVDUVSF4UBUF.BOBHFNFOUͷ͜ͱͳͲઆ໌ • ࢿྉɺ໘ന͍ͱࢥ͏ͷͰͥͻ͝ཡ͍ͩ͘͞ʂ •
'MVUUFS8FCΛ༻͍ͨ4UHڥ • ՝ɿηΩϡϦςΟ্ͷཧ༝ͰࡏͰ։ൃऀҎ֎͕։ൃதΞϓ ϦΛݟΕͳ͍ • Ξϓϩʔνɿ'MVUUFS8FCͰڥߏங ϞόΠϧઐ༻ػೳ/( 発表資料への QRコード
ࣗݾհ ग़લؗͷ͝հ ͜Ε·ͰͷऔΓΈ ࠓޙͷ՝ͱΓ͍ͨ͜ͱ 01 02 03 04 Contents
ࠓޙͷ՝ͱΓ͍ͨ͜ͱ 69ͷ্ • ͍ʹ͍͘Օॴ͕͋Δͷվળ • γεςϜ͕େنͳͷͰɺ͕͔͔࣌ؒΔ͕ҰͭҰͭ೪Γڧ͘ਐΊΔ͔͠ͳ͍ ଟ༷ͳํ͕ར༻Ͱ͖ΔΞϓϦ • ΞΫηγϒϧͳΞϓϦ •
ಓͳ࡞ۀʹͳΔͱࢥ͏͕ɺٕज़తʹ՝ͱͳΔ͜ͱͦΜͳʹͳͦ͞͏ͳͷ ͰɺΓΓ͍ͨ 個⼈的なやりたいこ とを書いてます νʔϜͱͯ͠ͷΞτϓοτͷٻ • ΑΓڧ͍νʔϜɺͪΖΜʑͷۀָ͘͠ • εΩϧͷ෯ͱਂ͞ɺͲͪΒͷΩϟϦΞਐΊΔΑ͏ʹαϙʔτ • νʔϜྗͷ্ࢦ͚͢ͲɺݸͷྗΛଚॏ͍ͨ͠ ΤϯδχΞݸਓ͕Γ͍ͨ͜ͱ͕Ͱ͖ΔΑ͏ʹ • %FWFMPQFS&YQFSJFODFվળɺ%PDVNFOUJOHɺνʔϜશମͷεΩϧΞοϓ
THANK YOU