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
580
出前館におけるFlutter活用事例
FlutterKaigi mini Osaka #1 with Mix Leap Study #75の登壇資料です
株式会社出前館
June 10, 2024
Tweet
Share
More Decks by 株式会社出前館
See All by 株式会社出前館
出前館を支えるJavaとKotlin
demaecan
0
280
滑らかなユーザー体験も目指す注文管理のマイクロサービス化〜注文情報CSVダウンロード機能の事例〜
demaecan
0
270
Yahoo!クイックマート管理画面でNext.js + static exportsを選んだ理由
demaecan
0
39
出前館アプリにおけるFlutterアプリ設計とそれを支えるCICD環境の進化
demaecan
0
820
出前館のマルチプロダクト戦略を支えるアーキテクチャ 〜技術的負債を解消しながら事業を多角化する〜
demaecan
1
210
新卒1年目の自分に伝えたかったエンジニアの成長に役に立つ話
demaecan
0
1.8k
新卒エンジニアが0からNon-BlockingなgPRCサーバーを作った話
demaecan
1
560
出前館アプリにおける Flutterアプリ設計
demaecan
2
980
プロダクト本部紹介資料
demaecan
0
14k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
It's Worth the Effort
3n
184
28k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Embracing the Ebb and Flow
colly
85
4.7k
Statistics for Hackers
jakevdp
799
220k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Building Applications with DynamoDB
mza
95
6.4k
Facilitating Awesome Meetings
lara
54
6.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
830
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