Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
15年目のiOSアプリを1から作り直す技術
Search
TAKEDA Yuki
February 18, 2026
Programming
700
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
15年目のiOSアプリを1から作り直す技術
TAKEDA Yuki
February 18, 2026
More Decks by TAKEDA Yuki
See All by TAKEDA Yuki
特定のViewControllerを表示するときだけTabBarを隠したい
teakun
1
600
Other Decks in Programming
See All in Programming
Foundry Localでエージェント開発
seosoft
0
150
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
510
アクセシビリティから考える情報設計
high_g_engineer
0
320
業務時間外もAIに働いてもらう話
colorful12
3
10k
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
120
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
1
120
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
180
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
180
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
4
3.3k
高専キャリア LT 発表内容
crysta1221
6
5.6k
Webプラットフォームで議論されているセキュリティ課題 / Security issues being discussed on Web Platforms
petamoriken
0
260
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
30 Presentation Tips
portentint
PRO
1
390
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Accessibility Awareness
sabderemane
1
200
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Product Roadmaps are Hard
iamctodd
55
13k
エンジニアに許された特別な時間の終わり
watany
108
250k
Un-Boring Meetings
codingconduct
0
410
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How STYLIGHT went responsive
nonsquared
100
6.3k
Transcript
-*/&Ϡϑʔגࣜձࣾా༔ᏻ ͷJ04ΞϓϦΛ͔Β࡞Γٕ͢ज़ ϞόΠϧΞϓϦ@ fi OEZ ϞόΠϧΞϓϦͷظӡ༻ͱ͖߹͏dҎ্ଓ͘ΞϓϦͰॏͶ͖ͯͨஅͱd
ϞόΠϧΞϓϦ@ fi OEZ
w ా༔ᏻ ͚ͨͩΏ͏͖ w ͜Ε·Ͱͷ୲αʔϏε w :BIPPϑϦϚ w :BIPPϚʔτ
w :BIPPΦʔΫγϣϯ ࣗݾհ !@@@UFB
:BIPPΦʔΫγϣϯ w ຊ࠷େڃͷΦʔΫγϣϯαʔϏε w ʹαʔϏε։࢝ w ʹJ04W͕ϦϦʔε
݄ʹϦχϡʔΞϧ
͔Β࡞Γ͢ͱͲ͏͍͏͜ͱ͔
None
ͳͥ࡞Γ͔ͨ͠ αʔϏεͷͷͨΊʹػೳ։ൃΛ༏ઌ ϦϑΝΫλϦϯάͷ͕࣌ؒ֬อͰ͖ͳ͍ ٕज़ෛ࠴͕ͲΜͲΜΒΜͰฦࡁͰ͖ͳ͍ ͜ͷঢ়گ͕Կଓ͍ͨ݁Ռ։ൃεϐʔυ͕େ෯ʹԼ Ϗδωεʹରͯ͠ѱӨڹ͕ग़ͯ͠·͍ͬͯͨ
ӡ༻ͨ͠ΞϓϦ Ͳ͏ͳ͍ͬͯͨͷ͔ʁ
ΞʔΩςΫνϟͷࠞࡏ 044ӡ༻ίετͷ૿େ 0CKFDUJWF$ͷଘࡏ ओͳ՝
ΞʔΩςΫνϟͷࠞࡏ .7$ .77. 3Y4XJGU .71 .77.
4XJGU6* ɾֶशίετͷ૿Ճ ɾՄಡੑͷԼ ɾ࣮ϛεෆ۩߹ͷ૿Ճ ͦͷ࣌ͷྲྀߦΓΛऔΓࠐΈଓ͚ͨ݁Ռɺ༷ʑͳΈ͕ࠞࡏ͢Δঢ়ଶʹ
044ӡ༻ίετͷ૿େ ߋ৽͕ࢭ·ͬͨ݅ Ξοϓσʔτ͕ࠔ݅ શ݅ چΞϓϦͷOSSͷར༻ঢ়گ ͳ݅͠ ٫͢Δ͖044ΛΊΒΕͳ͍··͍ͨ
0CKFDUJWF$ͷଘࡏ w શମͷ͕0CKFDUJWF$Ͱهड़͞Ε͍ͯͨ w ج൫෦ʹ͍ͬͯΔͷ͕ਏ͍ϙΠϯτ Swift 65% Objective-C 35%
چΞϓϦͷ՝ΛৼΓฦΔ w Γ͖Ε్ͣதͰࢭ·͍ͬͯΔϦϑΝΫλϦϯά͕ଟ͔ͬͨ w ͷӡ༻Ͱϝϯόʔଟ͘ೖΕସΘΓաڈͷϊϋ͕ࣦΘΕ͍ͯͨ w ݁ՌతʹؔΘΔΤϯδχΞͷϞνϕʔγϣϯ͕Լ͍ͯͨ͠
࡞Γ͠ʹ͍ͭͯ
࡞Γ͠ϓϩδΣΫτ w ظ݄ؒʙ݄ w ։ൃਓਓ w ಉ࣌ظʹ"OESPJEͰ࣮ࢪ ࢀߟ
IUUQTTQFBLFSEFDLDPNMZDPSQUFDI@KQUIFTUSVHHMFTPGDPNQMFUFMZSFOFXJOHBZFBSPME JPTBQQBOEXIBUXFDBOEPOPXGPSUIFOFYUZFBST
چΞϓϦͷ՝ΛҰؾʹղܾ ΞʔΩςΫνϟͷࠞࡏ ౷Ұ͞ΕͨΞʔΩςΫνϟ 044ӡ༻ίετͷ૿େ ݫબͨ͠044ͷ࠾༻ 0CKFDUJWF$ͷଘࡏ 4XJGUͷ౷Ұ
ΞʔΩςΫνϟͷ౷Ұ શը໘Ͱ4XJGU6*Λ࠾༻ ಛఆͷ044ʹґଘ͠ͳ͍γϯϓϧͳΈ ɾ৽نϝϯόʔͷΩϟονΞοϓͷ্ ɾ୭͕Ͳͷը໘ͰεϜʔζʹணखͰ͖ΔΑ͏ͳঢ়ଶʹ
ݫબͨ͠044ͷ࠾༻ 0 8 15 23 30 چΞϓϦ ৽ΞϓϦ UI/UX Network
Architecture Other 044ͷར༻ঢ়گલޙൺֱ 6*69 ࣗ࡞͕͍͠ػೳΛ࣋ͭ044ͷΈ࠾༻ ௨৴ ಉ͡༻్Ͱ࠾༻͞Ε͍ͯͨෳͷ044Λͭʹ౷Ұ ݫબͯ݅͠Λ݅ˠ݅ʹݮ
4XJGUͷ౷Ұ w ౷Ұ͢Δ͜ͱͰՄಡੑɾ։ൃޮ͕େ෯ʹվળ w ج൫͔Βॻ͖͑Δ͜ͱ͕Ͱ͖͕ͨಛʹྑ͔ͬͨ چΞϓϦ Swift 65% Objective-C 35%
৽ΞϓϦ Swift 100%
Ռ
ࣈͷมԽ چΞϓϦ ৽ΞϓϦ ૯ߦ ߦ ߦ Ϗϧυ࣌ؒ
ΞϓϦαΠζ .# .# Ϋϥογϡ
Ϣʔβ͔ΒͷධՁ User Feedback App StoreͰͷධՁͷਪҠ 0 1.3 2.5 3.8 5
ϦχϡʔΞϧલ ϦϦʔεޙ 3ϲ݄ޙ ޙ ٸʹUI͕มΘͬͯࠔͬͨ ͍͍ͷ͕ങ͑ͯخ͍͠ ͔ΜͨΜͰ͍͍͢ʂ
·ͱΊ
࡞Γ͠ΛৼΓฦΔ w Α͔ͬͨ w ݁ՌతʹϦϦʔεͰ͖ͯେޭɺͯ͢ͷෛ࠴͔Βͷ٫ w Ϗδωε։ൃͷεϐʔυ͕େ෯ʹվળ w ΤϯδχΞͷϞνϕʔγϣϯ͕େ্͖͕ͬͨ͘ w
ͭΒ͔ͬͨ w ৗʹ࠳ͷϦεΫ͕͋Δ w ࡞Γ͠தطଘͷΞϓϦͷվम͕࠷খݶʹͳΔ
͏࡞Γ͠ΛΒͳ͍ͨΊʹ w పఈతͳϦϑΝΫλϦϯάͷ࣮ࢪ w ࠷৽ͷٕज़ΛৗʹΩϟονΞοϓ w ෦తͳվमͰͳ͘શը໘ΓΔ w υΩϡϝϯτͷ࡞ w
୭͔͕͍ͳ͘ͳͬͯϊϋ͕ࣦΘΕͳ͍Α͏ʹ w 044ʹཔΓ͗͢ͳ͍
·ͱΊ w ΞϓϦʹ͓͍ͯ࡞Γ͠ݱ࣮తͳϦϑΝΫλϦϯάͷબࢶͷͭ w ϦεΫ͋Δ͕ಘΒΕΔՌେ͖͍ w ͖͠Εͳ͔ͬͨ෦͍ͬͺ͍ͳͷͰੋඇ͓·͚εϥΠυݟ͍ͯͩ͘͞ʂ
͓·͚
࣮ࡍͷରԠΛ͍͔ͭ͘͝հ
͔Β࡞ͬͨΞϓϦʹஔ͖͑Δʹ w #VOEMF*E͕ಉ͡Ͱ͋ΕಉҰͷΞϓϦͱΈͳ͞ΕΔ w چΞϓϦͱಉ͡#VOEMF*EΛઃఆͯͦ͠ͷ··ਃ͢Δ͚ͩ
͍͔ʹͯ͠࡞Γ͠ͷΛݮ͢Δ͔ w ػೳͷݮ w 8FCͰఏڙ͍ͯ͠ΔػೳͰͳ͍ͷ8FC7JFXʹدͤΔ w ͦͦΘΕ͍ͯͳ͍ػೳͷਫ਼ࠪ w ։ൃͷޮԽ w
ςϯϓϨʔτͷ࡞ w MJOUɺGPSNBUͳͲͷඋ
Ҿ͖ܧ͗Ͱߟྀ͕ඞཁͳཁૉ w ΞϓϦϩʔΧϧͰอ͍࣋ͯ͠Δใ w 6TFS%FGBVMU ,FZDIBJO %# w ֎෦͔Βͷىಈಋઢ w
1VTI௨ σΟʔϓϦϯΫ w &YUFOTJPO w 8JEHFU "QQMF8BUDIαϙʔτ w ՝ۚ
6TFS%FGBVMUͷϚΠάϨʔγϣϯ w 6TFS%FGBVMUʜJ04։ൃͰ͓ͳ͡ΈͷγϯϓϧͳLFZWBMVFετΞ w ৽ΞϓϦ͔ΒͰಉ͡Ωʔ໊Λ͑چΞϓϦͰͷใΛऔΓग़ͤΔ w ؾΛ͚ͭΔϙΠϯτ w ҙਤ͠ͳ͍چΞϓϦͷΩʔ໊ͷར༻
چΞϓϦͷΩʔ໊ͷར༻Λ࣮֬ʹ͙ w ৗʹQSF fi YΛ༩͢Δ w Ωʔ໊ͷఆٛՕॴʹ·ͱΊΑ͏
%# w چΞϓϦͰ3FBMNΛ࠾༻͍͕ͯͨ͠୭༷͔͍ͬͯͳ͍ҋ w ϚΠάϨʔγϣϯͤͣʹࣺͯΔஅ w ਏ͍ͱ͜ΖແࢹͰ͖Δͱ͍͏ͷ͕࡞Γ͠ͷັྗ w ਂ͘%#ʹґଘ͍ͯ͠ΔΞϓϦͰ͋Εͬͱେม w
͠ΔͳΒچΞϓϦͷ͏ͪʹ$PSF%BUBͳͲʹୀආͤ͞Δ࡞ઓ͋ͬͨ
1VTI௨ w 1VTIʹछྨ͕͋Δ w ϦϞʔτPSϩʔΧϧ w /PUJ fi DBUJPO4FSWJDF&YUFOTJPO w
ϝσΟΞ͖1VTI w /PUJ fi DBUJPO$POUFOU&YUFOTJPO w 1VTIৄࡉͷΧελϚΠζ
σΟʔϓϦϯΫ w σΟʔϓϦϯΫʜ8FCαΠτϝʔϧͳͲ͔ΒΞϓϦʹભҠͤ͞Δٕज़ w طଘͷ࣮ͷ౿ऻ͕ඞཁ w ۪ʹΔ
8JEHFU w 8JEHFUʜϗʔϜը໘ʹஔ͍ͯҰ෦ͷػೳΛఏڙͰ͖ΔΈ w ॳػೳͷఏڙΛΊΔͭΓ͕ͩͬͨɾɾɾ
None
8JEHFUͲ͏͢Δ w ਅͬࠇʹͳͬͯ͠·͏͜ͱ͕໌ w λοϓͯ͠Ԡ͠ͳ͍ w Λ࠶ىಈͯ͠ফ͑ͳ͍ w Ϣʔβ͕ԡͯ͠͠আ͢ΕফͤΔ
8JEHFU࡞Γ͠ w ࡞্ͬͯॻ͖͢Δ͜ͱͰରԠ w ࡞Γ͠ʹݶΒͣআͨ͠߹ൃੜ͢ΔͷͰҙ
8BUDI w ར༻ঢ়گݟͯҰ୴Ϋϩʔζ w Ξοϓσʔτ͢ΔͱࣗಈͰ"QQMF8BUDI͔Βআ͞ΕΔ w ηʔϑ
ϦϦʔε w ҆શʹϦϦʔεΛ͢ΔͨΊͷ࡞ઓ w ࣾςετ w Γ͠ΞϓϦͷ४උ w ஈ֊ϦϦʔεͷ࣮ࢪ
Γ͠ΞϓϦͷ४උ w ৽ΞϓϦͷϦϦʔεޙʹ͕ൃੜ͢Δ߹Λߟྀ w ৽ΞϓϦˠچΞϓϦʹ͢߹ͷಈ࡞֬ೝΛ࣮ࢪ w ݕ౼͕ͨ݁͠ہΒͳ͔ͬͨ͜ͱ w ৽ΞϓϦϦϦʔεޙʹچΞϓϦΛਃ͍ͯͭ͠ͰͤΔͧ࡞ઓ w
ϦδΣΫτϦεΫରԠͷίετΛߟ͑ͯ૯߹తʹΒͳ͍அ w ଞࣾࣄྫͰ͍ͬͯΔͱ͜Ζ͋Δ w ࢀߟIUUQTQSPEVDUTUJODFOUSZ