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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TAKEDA Yuki
February 18, 2026
Programming
670
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
580
Other Decks in Programming
See All in Programming
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
RTSPクライアントを自作してみた話
simotin13
0
600
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
500
JavaDoc 再入門
nagise
0
330
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
340
AI時代のUIはどこへ行く?その2!
yusukebe
21
7.1k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
10
3.6k
Webフレームワークの ベンチマークについて
yusukebe
0
160
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
130
Agentic UI
manfredsteyer
PRO
0
150
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
Between Models and Reality
mayunak
4
330
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
A better future with KSS
kneath
240
18k
Fireside Chat
paigeccino
42
3.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Agile that works and the tools we love
rasmusluckow
331
21k
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