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
15年目のiOSアプリを1から作り直す技術
Search
TAKEDA Yuki
February 18, 2026
Programming
680
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
590
Other Decks in Programming
See All in Programming
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
230
ソフトウェアラスタライザ
fadis
1
660
リアルな遅延を測る仕様
kota_yata
1
130
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
540
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
330
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
480
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
550
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
160
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
1
520
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
360
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
How to Ace a Technical Interview
jacobian
281
24k
Thoughts on Productivity
jonyablonski
76
5.3k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Utilizing Notion as your number one productivity tool
mfonobong
4
550
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
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