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
モバイルアプリ設計入門
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
野瀬田 裕樹
June 16, 2025
Technology
35
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モバイルアプリ設計入門
iOSを中心にモバイルアプリにおける設計の基本原則などをまとめて資料にしました
野瀬田 裕樹
June 16, 2025
More Decks by 野瀬田 裕樹
See All by 野瀬田 裕樹
iOS26時代の新規アプリ開発
yuukiw00w
0
250
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
330
Human Interface Guidelines 2
yuukiw00w
0
64
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
270
HIG学習用スライド
yuukiw00w
0
190
FlutterKaigi 2025: What is iOS Assistive Access? UI considerations for Flutter
yuukiw00w
0
63
Swift6.2時代のconcurrencyを考える会
yuukiw00w
2
1.7k
実践!App Intents対応
yuukiw00w
1
500
App Intents再入門
yuukiw00w
0
87
Other Decks in Technology
See All in Technology
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
230
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
300
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
180
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
400
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
260
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
140
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
300
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2.1k
SONiCの統計情報を取得したい
sonic
0
290
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
730
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
170
A designer walks into a library…
pauljervisheath
211
24k
Bash Introduction
62gerente
615
220k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Claude Code のすすめ
schroneko
67
230k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
Transcript
ϞόΠϧΞϓϦઃܭೖ ాɹ༟थ
࣍ w ιϑτΣΞΞʔΩςΫνϟʔͱ w ϞόΠϧΞϓϦͰಛʹॏཁͳ࣭ಛੑ w ϞόΠϧΞϓϦͰಛతͳ੍ w ϞόΠϧΞϓϦͷ։ൃͰҙ͖ࣝ͢͜ͱ w
ϞόΠϧΞϓϦͱόοΫΤϯυͷҧ͍ w ϞόΠϧΞϓϦͷઃܭݪଇ w όοΫΤϯυͱڞ௨ͷઃܭࢦ w 4XJGUಛ༗ͷ
ιϑτΣΞΞʔΩςΫνϟʔ w ιϑτΣΞΛͲͷΑ͏ʹߏ͢Δ͔Λࣔ͢ͷ w γεςϜΛߏཁૉʹͲͷΑ͏ʹׂɾஔ͠ɺͲͷΑ͏ʹ૬ޓʹ ΓऔΓͤ͞Δͷ͔Λࣔ͢ͷ
ιϑτΣΞΞʔΩςΫνϟʔ w ͏·͘࡞ΓࠐΉ͜ͱͰ w ։ൃɾอकɾӡ༻͕༰қʹͳΔ w γεςϜʹٻΊΒΕΔ࣭ಛੑɾͦͷଞͷੑ্࣭͕͢Δ
࣭ಛੑ ػೳద߹ੑ ੑೳޮੑ ޓੑ ༻ੑ ৴པੑ ηΩϡϦςΟ อकੑ Ҡ২ੑ
IUUQTLJLBLVSVJDPNY9IUNM w ιϑτΣΞ࣭ʢ+*49ࢀরʣ
ϞόΠϧΞϓϦͰಛʹॏཁͳ࣭ಛੑ w ༻ੑʢVTBCJMJUZʣ ෭ಛੑɿదೝࣝੑɺशಘੑɺӡ༻ૢ࡞ੑɺ ɹɹɹɹϢʔβΤϥʔࢭੑɺϢʔβΠϯλϑΣʔεշඒੑɺ ɹɹɹɹΞΫηγϏϦςΟ w ੑೳޮੑʢQFSGPSNBODFF ff i
DJFODZʣ ෭ಛੑɿ࣌ؒޮੑɺࢿݯޮੑɺ༰ྔຬੑ ˞ଞ͕ෆཁͱ͍͏Θ͚Ͱ͋Γ·ͤΜ
ϞόΠϧΞϓϦͰಛʹॏཁͳ࣭ಛੑ w ༻ੑʢVTBCJMJUZʣ ϢʔβʔʹͱͬͯΑΓ͍উखͷྑ͍ମݧΛ࡞ΓࠐΉඞཁ͕͋Δ ςΩετ #VUUPO ेͳλοϓྖҬɺ)JHI$POUSBTUɺదͳಡΈ্͛ɺFUD ଟݴޠରԠɺจࣈαΠζͷมԽʹରԠɺ)JHI$POUSBTUɺFUD 5FYU'JFME
ೖྗཁૉʹԠͨ͡LFZCPBSEɺࣗಈೖྗɺFUD
ϞόΠϧΞϓϦͰಛʹॏཁͳ࣭ಛੑ w ੑೳޮੑʢQFSGPSNBODFF ff i DJFODZʣ ΞϓϦ͕λοϓͨ࣌͠ʹϑϦʔζͨ͠ΓɺεΫϩʔϧ͕ΧΫπΫ ͱମݧͱͯ͠ྑ͘ͳ͍ ʲྑ͍ΞϓϦʳ
ىಈ͕͍ εϜʔζͳεΫϩʔϧ Ԡ͕͍ ΞϓϦαΠζ͕খ͍͞
ϞόΠϧΞϓϦͰಛతͳ੍ w σόΠεͷ੍ ը໘αΠζ04ޓੑͷ੍͕͋Γɺݻ༗ͷࣄଘࡏ
J1IPOF4& 9 1SP.BY FUD J1BE J1BE1SP J1BE"JS FUD
ϞόΠϧΞϓϦͰಛతͳ੍ w 04ͷ੍ 04ߋ৽ʹ͏༷มԽਪͱ͞ΕΔ࣮ɾମݧɾ6*͕มԽ 4JSJ͔Βͷݺͼग़͠ͳͲɺ04ͱͷ૬ޓ࡞༻ଘࡏ
04ߋ৽ʹ͏มԽͷྫ w J1BE04Ͱඪ४ͷλϒόʔҐஔ͕Լ͔Β্෦ϑϩʔςΟϯάʹ
04ߋ৽ʹ͏มԽͷྫ w J04Ͱେ͖ͳσβΠϯมߋʢ-JRVJE(MBTTʣ
ϞόΠϧΞϓϦͷ։ൃͰҙ͖ࣝ͢͜ͱ w 6*ͷෳࡶੑ 04όʔδϣϯʹΑͬͯมԽ͢Δ্ɺମݧઃܭ͕ඇৗʹॏཁ Ϩεϙϯγϒ6*ɺը໘ભҠઃܭɺΞχϝʔγϣϯɺFUD w 04ͱͷ૬ޓ࡞༻ 4JSJ͔Βͷݺͼग़͠ηϯαʔใͷऔಘͳͲɺը໘ͷߏஙʹཹ· Βͳ͍ମݧઃܭ͕ඞཁ
ෳࡶͳྖҬ 0OEFWJDFͷཁૉɾঢ়ଶཧ ϏδωεϩδοΫͷཧ ෳࡶ͞ͱͷ ઓ͍ํ $PNQPTBCMFͳ6*ઃܭɺ୯ํ σʔλϑϩʔɺ4405ɺFUD %%%ɺ5IF$MFBO "SDIJUFDUVSFɺFUD ϞόΠϧΞϓϦͱόοΫΤϯυͷҧ͍
.PCJMF"QQ #BDLFOE
ϞόΠϧΞϓϦͷઃܭݪଇ w ίϯϙʔωϯτࢦͱ$PNQPTBCMFͳ6*ઃܭ w ୯ํσʔλϑϩʔ w 4405ʢ4JOHMF4PVSDFPG5SVUIɺ৴པͰ͖Δ།Ұͷใݯʣ
ϞόΠϧΞϓϦͷઃܭݪଇ w ίϯϙʔωϯτࢦͱ$PNQPTBCMFͳ6*ઃܭ 6*Λখ͘͞࠶ར༻Մೳͳߏཁૉ $PNQPTBCMFDPNQPOFOU ʹ ׂ͠ɺͦΕΛ߹͢Δ͜ͱʹΑͬͯ6*Λߏங͢Δઃܭ )FMMP 8PSME
#VUUPO #VUUPO )FMMP 8PSME #VUUPO #VUUPO ߹ $PNQPTF
ϞόΠϧΞϓϦͷઃܭݪଇ w ୯ํσʔλϑϩʔ ঢ়ଶʹมԽΛҾ͖ى͜͢σʔλͷྲྀΕ͕୯ํͱͳΔΑ͏ʹ͢Δ ઃܭ 7JFX 4UBUF )PMEFS 7JFX
&WFOU "DDFQUPS %PNBJO -BZFS ΞʔΩςΫνϟʔͷྫ
ϞόΠϧΞϓϦͷઃܭݪଇ w 4405ʢ4JOHMF4PVSDFPG5SVUIɺ৴པͰ͖Δ།Ұͷใݯʣ มߋՄೳͳΞϓϦͷঢ়ଶɾσʔλΛৗʹ͔ॴʹ͚ͩଘࡏͤ͞ɺ ͦͷ།Ұͷใݯ͚ͩΛ৴པɾࢀর͢Δઃܭ 7JFX 4UBUF )PMEFS 7JFX
&WFOU "DDFQUPS %PNBJO -BZFS 4UBUF)PMEFSͷதʹ ৴པͰ͖Δঢ়ଶΛͭ ΞʔΩςΫνϟʔͷྫ
όοΫΤϯυͱڞ௨ͷઃܭࢦ w దͳ໋໊ɺίϝϯτ w ϚδοΫφϯόʔɺάϩʔόϧมɺྫ֎ѲΓͭͿ͠ͳͲͷΞϯν ύλʔϯճආ w ςετ༰қͳઃܭ
4XJGUಛ༗ͷ w 4XJGU㱠Ϋϥεத৺ͷݴޠ 4XJGUܕத৺ͷݴޠ w 4XJGU㱠ΦϒδΣΫτࢦʢ0CKFDUPSJFOUFEʣ 4XJGUϓϩτίϧࢦʢ1SPUPDPMPSJFOUFEʣ
Ϋϥεʢࢀরܕʣத৺ͷݴޠ w Ϋϥεʢࢀরܕʣத৺ͷݴޠͰɺDMBTTΛͬͯঢ়ଶΛཧ ೖʹΑͬͯՄมͳঢ়ଶ͕؆୯ʹڞ༗Ͱ͖ͯ͠·͏͕͋Δ class A { var x: Int
= 0 } var a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ1ʢa1ͱa2ͰՄมͳঢ়ଶ͕ڞ༗͞ΕΔɻ͙ͨΊʹޚతίϐʔ͕ඞཁʣ
4XJGUܕத৺ͷݴޠ w 4XJGUͰ௨ৗTUSVDUʢܕʣΛͬͯঢ়ଶΛཧ ೖͯ͠Մมͳঢ়ଶ͕ڞ༗͞Εͳ͍ struct A { var x: Int
= 0 } var a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ0ʢa1ͱa2ͰՄมͳঢ়ଶ͕ڞ༗͞Εͳ͍ɻޚతίϐʔͳͲෆཁʣ
4XJGUܕத৺ͷݴޠ w Ϋϥεத৺ɿDMBTTʹঢ়ଶΛ࣋ͨͤͯΧϓηϧԽɺϝοηʔδύογϯάͰॲཧ 4XJGUʢܕத৺ʣɿࢀরಁաੑͷ͋ΔؔͱΠϛϡʔλϒϧͳΛͬͯॲཧ struct A { var x: Int
= 0 } func createX2(_ a: A) -> Int { a.x * 2 } let a = A() let x2 = createX2(a) print(x2)
1SPUPDPMPSJFOUFE1SPHSBNNJOH w ܕʢTUSVDUʣͰܧঝΛ͑ͳ͍ͨΊɺΘΓʹQSPUPDPMΛ༻ protocol Animal { func foo() -> Int
} struct Cat: Animal { var value: UInt8 = 2 func foo() -> Int { Int(value) } } func useAnimal(_ animal: some Animal) { print(animal.foo()) // ۩ମతͳܕΛΘͣهड़Ͱ͖ΔɻSwiftUI.ViewͷbodyͰར༻͞Ε͍ͯΔ } useAnimal(Cat())
ࢀߟࢿྉ w "OESPJE ެࣜͷઃܭΨΠυɿIUUQTEFWFMPQFSBOESPJEDPNUPQJD BSDIJUFDUVSF OPXJOBOESPJEɿIUUQTHJUIVCDPNBOESPJEOPXJOBOESPJE w J04 "QQMFެࣜαϯϓϧूɿIUUQTEFWFMPQFSBQQMFDPN EPDVNFOUBUJPOTBNQMFDPEF
༗໊ͳBSDIJUFDUVSFMJCSBSZɿIUUQTHJUIVCDPNQPJOUGSFFDP TXJGUDPNQPTBCMFBSDIJUFDUVSF
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w $PDPB.7$ .PEFM7JFX$POUSPMMFS ౷తͳ"QQMFͷ.7$ΞʔΩςΫνϟʔ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM%FW1FEJB$PDPB$PSF.7$IUNM 7JFX .PEFM
7JFX $POUSPMMFS 6TFSૢ࡞ ඳըߋ৽ ௨ σʔλߋ৽
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w $PDPB.7$ .PEFM7JFX$POUSPMMFS 7JFX$POUSPMMFSͷංେԽ͕՝ʹʢ'BU7JFX$POUSPMMFSʣ "OESPJEͰྨࣅͷͱͯ͠'BU"DUJWJUZ͕͋ͬͨ 7JFX .PEFM
7JFX $POUSPMMFS 6TFSૢ࡞ ඳըߋ৽ ௨ σʔλߋ৽
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w .71 .PEFM7JFX1SFTFOUFS 4VQFSWJTJOH$POUSPMMFSͱ1BTTJWF7JFXͷύλʔϯ͕͋Δ J04Ͱ7JFX$POUSPMMFS7JFXʹؚΊͯߟ͑ͯɺ1SFTFOUFSʹ6* ϩδοΫΛஔ͘ߏ IUUQTNBSUJOGPXMFSDPNFBB%FW1BTTJWF4DSFFOIUNM
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w .71 .PEFM7JFX1SFTFOUFS 1SFTFOUFS͕7JFX͔Β͞Εɺ୯ମςετՄೳͳঢ়ଶʹͳΔ 'BU7$ղফ͢Δ͕ɺ࣍1SFTFOUFSͷංେԽ͕ൃੜ 7JFX 7$
.PEFM 1SFTFOUFS 6TFSૢ࡞ ඳըߋ৽ IUUQTNBSUJOGPXMFSDPNFBB%FW1BTTJWF4DSFFOIUNM
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w .77. .PEFM7JFX7JFX.PEFM .JDSPTPGUൃͰɺએݴత6*͕ྲྀߦΔલ·Ͱྲྀߦ͍ͬͯͨ "OESPJEͰެࣜͱͯ͠7.͕༻ҙ͞Ε͍ͯΔؔͰ"OESPJEͰ ඪ४తʹ࠾༻͞ΕɺͦͷྲྀΕͰJ04ʹ࠾༻͞ΕΔ͜ͱ͕ଟ͔ͬͨ ࠷ۙ͋·Γݟ͔͚ͳ͍ʢ"OESPJEެࣜͷઃܭΨΠυʹ.77. ͱهࡌ͞Ε͍ͯͳ͍ʣ
IUUQTMFBSONJDSPTPGUDPNKBKQBSDIJWFNTEONBHB[JOFGFCSVBSZQBUUFSOTXQGBQQTXJUIUIFNPEFMWJFXWJFXNPEFMEFTJHOQBUUFSO
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w .77. .PEFM7JFX7JFX.PEFM EBUBCJOEJOHʹΑΓ7.ͱ7JFXͷ͕ؒૄ݁߹ʹͳΔͷ͕ಛ ͔͠͠σʔλͷϑϩʔ͕ํͰ͋Γɺঢ়ଶ͕มԽ͢ΔࡍͷྲྀΕ Λ͏ͷ͕͍͠ͱ͍͏͕͋ͬͨ 7JFX
7$ .PEFM 7JFX.PEFM %BUB#JOEJOH
J04ͷΞʔΩςΫνϟʔͷྺ࢙ w 'MVY GBDFCPPLൃͷ+4ͷϥΠϒϥϦͰɺ୯ํσʔλϑϩʔ͕ಛ J04Ͱ͜ͷઃܭΛࢀߟʹҰ෦ΞϓϦͰ࠾༻͞Ε͍ͯΔ 7JFX 7$ 6TFS *OUFSBDUJPOT
"DUJPO $SFBUPST "DUJPOT %JTQBUDIFS $IBOHF &WFOUT 4UPSF2VFSJFT $BMMCBDLT 4UPSF "1*
ͦͷଞͷJ04ΞʔΩςΫνϟʔ w 7*1&3 7JFX*OUFSBDUPS1SFTFOUFS&OUJUZ3PVUFS IUUQTXXXPCKDJPJTTVFTBSDIJUFDUVSFWJQFS ͍͔ͭ͘ஶ໊ͳΞϓϦͰ࠾༻͞ΕͯҰ෦ྲྀߦͬͨ w 3FEVY +4ͷϥΠϒϥϦ͕ͩɺJ04ͰҰ෦ಉ༷ͷΞʔΩςΫνϟʔͱ͠
ͯ࠾༻͞Εͨ
ͦͷଞͷJ04ΞʔΩςΫνϟʔ w "OESPJEެࣜઃܭΨΠυͷJ04ͷྲྀ༻ རɿυΩϡϝϯτ͕ॆ࣮͓ͯ͠Γֶशϋʔυϧ͕͍ རɿ"OESPJEͱͷઃܭࠩҟʹΑΔ༷ࠩͷൃੜϦεΫܰݮ w .7 .PEFM7JFX ΞʔΩςΫνϟʔ རɿ4XJGU6*ͷಛੑΛ׆͔ͨ͠γϯϓϧͳߏ
w 'MVY3FEVYΧελϚΠζɺܰྔ'MVY3FEVYʢTUPSFQBUUFSOͳͲʣ རɿ4405 ୯ํϑϩʔͷݪଇΛकΓͭͭݸผࣄʹԠͯ͡࠷దԽ
·ͱΊ w ΞϓϦͰαʔόʔͱҟͳΔ࣭ಛੑ͕ٻΊΒΕΔͨΊɺΞʔΩςΫ νϟʔͷબఆҟͳΔ w όοΫΤϯυͱҧ͏ΞϓϦͷઃܭࢦΛ֮͑Α͏ w ίϯϙʔωϯτࢦͱ$PNQPTBCMFͳ6*ઃܭ w ୯ํσʔλϑϩʔ
w 4405ʢ4JOHMF4PVSDFPG5SVUIɺ৴པͰ͖Δ།Ұͷใݯʣ w ಛʹJ04Ͱਖ਼ղ͓खຊͱͳΔΞʔΩςΫνϟʔͳ͍ͨΊɺΞϓϦͷ ༷ɾಛੑʹ߹Θͤͯઃܭ͠Α͏
"QQFOEJY
࣮ફฤͷ͕͔Γ w ίϯΣΠͷ๏ଇٯίϯΣΠͷ๏ଇ ΞʔΩςΫνϟʔͱ৫ߏີʹؔ ਓϝϯόʔͷಛੑʹΑͬͯ࠷దͳΞʔΩςΫνϟʔมԽ ྫ ՝ۚϞδϡʔϧΛϥΠϒϥϦʹΓग़ͯ͠՝ۚνʔϜΛ࡞Δ
࣮ફฤͷ͕͔Γ w 'FBUVSF fi STU-BZFS fi STUɺϚϧνϞδϡʔϧ୯ҰϞδϡʔϧ ϞόΠϧͰ'FBUVSF fi STUͰΔ͜ͱ͕ଟ͍
ػೳ͝ͱʹ4XJGU1BDLBHFʹΓग़ͨ͠ϚϧνϞδϡʔϧԽͳͲ ߦΘΕΔ͜ͱ͕͋Δ 4XJGU6*ʹґଘ͢ΔϞδϡʔϧͱͦΕҎ֎Ͱ͚ΔͳͲͷߏ ͋Δ
࣮ફฤͷ͕͔Γ w ϦΞΫςΟϒϓϩάϥϛϯάͱඇಉظॲཧ άϩʔόϧͳ4USFBNΛͲ͏ѻ͏͔ͳͲɺ৻ॏͳઃܭ͕ඞཁ ಛʹผͷػೳ͕ಉ͡σʔλΛࢀর͢Δ߹ͷ୯ํσʔλϑϩʔ ͱ4405ͷݪଇͷॱकΛઃܭͰ୲อ͢Δඞཁ͕͋Δ w ΞϓϦͷϥΠϑαΠΫϧ όοΫάϥϯυ࣌ͷॲཧɺ%FFQMJOLىಈ࣌ͷॲཧͳͲߟྀ͕ ඞཁ
࣮ફฤͷ͕͔Γ w ςελϏϦςΟʢݹయϩϯυϯֶʣ "OESPJEެࣜͷΨΠυͰϩϯυϯֶدΓͷΞʔΩςΫνϟʔ 4XJGUͰܕͱؔΛͬͯϞοΫͤͣʹৼΔ͍Λςετ͢Δ ݹయͷ࣮༰қ