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
310
出前館におけるFlutter活用事例
FlutterKaigi mini Osaka #1 with Mix Leap Study #75の登壇資料です
株式会社出前館
June 10, 2024
Tweet
Share
More Decks by 株式会社出前館
See All by 株式会社出前館
出前館アプリにおけるFlutterアプリ設計とそれを支えるCICD環境の進化
demaecan
0
270
出前館のマルチプロダクト戦略を支えるアーキテクチャ 〜技術的負債を解消しながら事業を多角化する〜
demaecan
1
65
新卒1年目の自分に伝えたかったエンジニアの成長に役に立つ話
demaecan
0
1.5k
新卒エンジニアが0からNon-BlockingなgPRCサーバーを作った話
demaecan
1
370
出前館アプリにおける Flutterアプリ設計
demaecan
2
690
プロダクト本部紹介資料
demaecan
0
7.4k
処理性能向上とコスト最適化を実現! ハイブリッド/マルチクラウド構成へ移行しサービス需要の急拡大に対応する強力なシステム基盤を実現
demaecan
0
95
出前館におけるFlutterの現在とこれから
demaecan
0
1.1k
出前館Webフロントエンドリプレイスプロジェクトの取り組みと反省について
demaecan
1
1.4k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
204
24k
Being A Developer After 40
akosma
87
590k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Become a Pro
speakerdeck
PRO
26
5k
We Have a Design System, Now What?
morganepeng
51
7.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Rails Girls Zürich Keynote
gr2m
94
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A Philosophy of Restraint
colly
203
16k
Side Projects
sachag
452
42k
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