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
iPhone OSアプリ開発の昔話 / iPhone OS App Stories
Search
Mitsuharu Emoto
November 22, 2018
0
1.3k
iPhone OSアプリ開発の昔話 / iPhone OS App Stories
Mitsuharu Emoto
November 22, 2018
Tweet
Share
More Decks by Mitsuharu Emoto
See All by Mitsuharu Emoto
技適警察24時
mitsuharu
0
57
iOS アプリ開発におけるデータストリーム超入門
mitsuharu
0
110
オープンソースで作る自己紹介ソリューション
mitsuharu
0
39
発熱から iPhone を守る
mitsuharu
0
80
アクションボタンから始める App Intents の再入門
mitsuharu
0
180
iOSDCから始めるアーキテクチャ自作沼のすゝめ
mitsuharu
0
110
Redux の副作用を直感的に管理する Redux Saga を Swift でも使いたい
mitsuharu
0
110
技術同人誌を残す技術
mitsuharu
0
340
ちょい見せ!Redux Saga for Swift
mitsuharu
0
270
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Thoughts on Productivity
jonyablonski
58
3.8k
Happy Clients
brianwarren
92
6.4k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
Bash Introduction
62gerente
604
210k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Designing the Hi-DPI Web
ddemaree
276
33k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
How to Ace a Technical Interview
jacobian
272
22k
GitHub's CSS Performance
jonrohan
1025
450k
Transcript
J1IPOF04ΞϓϦ ։ൃͷੲ ߐຊޫ ژ%FW͔;͐ʙϨΨγʔγεςϜߟݹֶʙ !1
ࣗݾհ w ߐຊޫʢ͑ͱΈͭΔʣ w γʔαʔגࣜձࣾ w ϙέϞϯτϨʔφʔͷ߹ؒʹJ04ΞϓϦɾػցֶशͷ։ൃ w झຯөըؗ८Γʢேཱʹߦͬͯɼ௩ޱʹߦ͘ʣ !2
J04ΞϓϦͷ։ൃྺ w ݄ͷJ1IPOF(4ൃച͔Βݸਓ։ൃΛ։࢝ w J04ΞϓϦॳͷॎॻ͖ΤσΟλʔΛ࡞ͬͨʢࣗௐʣ w ݸਓ։ൃ࣌ͷࡶࢽܝࡌ w .BD'BOʢϚΠφϏग़൛ɼ݄ʣ w
J1IPOFΞϓϦɾΫϦΤΠλʔζϑΝΠϧ<> ʢᠳӭࣾɼ݄ʣ !3
ҙ֎ͱ͍J1IPOF04 w εϥΠυλΠτϧʹ͕ͨ͠ɼௐ͢ͱɼ w J1IPOF(4·Ͱ͕J1IPOF04 w J1IPOF͔ΒJ04ʹ໊শ͕มߋ w ͳΜ͔͍ҹ͕͚͋ͬͨͲɼ͍ w
ݹ͞Λڧௐ͍ͨ͠ͱ͖ʹJ1IPOF04ͱॻ͖·͢ !4
ൃදΛཔ·ΕͨͷͷɼJ04Ξ ϓϦʹϨΨγʔ͚ͬͯ͋ͬͨ !5
ࢥ͍ग़ͨ͠ w δϣϒζਆഁյͱΛ܁Γฦ͖ͯͨ͠ w ΫοΫਆͷഁյલͱൺͨΒগͳ͍ʢͣʣ w ࣂ͍׳Β͞ΕͨຽऺɼͦΕΒมԽΛવͷΑ͏ʹड͚ ೖΕͯɼมԽ͕͋ͬͨ͜ͱ͑͞Ε͍ͯͨʢफڭʣ !6
͜ͷൃදͰ w ࠓͰͨΓલ͚ͩͲɼੲͦ͏Ͱͳ͔ͬͨ͜ͱͷزͭ ͔Λհ͠·͢ w ։ൃڥͱػೳ࣮ w ͔͕ͨͷϨΨγʔͳͷ͕ੜஆ͔͍Ͱ͓ئ͍͠·͢ w J1IPOF04ΞϓϦਓձͷํɼ͋Δ͋Δωλײ֮
w ੲͷهԱͳͷͰগؒ͠ҧ͍͑ͯΔ͔͠Ε·ͤΜ !7
։ൃڥ !8
9DPEFͱΞϓϦ৹ࠪ w J1IPOF04ͷϦϏδϣϯΞοϓσʔτͷͨͼʹɼରԠ4%, ͷ9DPEFΛ"QQMF%FWFMPQFSαΠτ͔Βμϯϩʔυ w ͪͳΈʹੲͷ9DPEFຊޠϩʔΧϥΠζ͞Ε͍ͯͨ w ࣌ͷਃ࣮ػSFMFBTFϏϧυͨ͠JQBϑΝΠϧΛखಈͰ [JQͯ͠ɼ8FCαΠτ͔ΒΞοϓϩʔυͯ͠ɼिؒͭ w
ࠓͰ໘ͳূ໌ॻؔ࿈࣌໘͍͘͞ !9
։ൃͰΜͩΒ w ։ൃใ͕๛Ͱͳ͔ͬͨͷͰɼݸਓ։ൃऀϕϯ νϟʔاۀ͕ൃ৴͢Δڞ༗ʹཔΔ͔͠ͳ͍ w ϒϩά w IUUQTUXJUUFSDPNJQIPOF@EFW@KQʢݱࡏෆ׆ൃʣ w ͔Βͳ͍͜ͱɼ࠷ઌͳͰͳ͍ݶΓɼ4UBDL
0WFSqPXͰ୳ͤɼ͢Ͱʹ୭͔͕ΜͰଞͷ୭͔͕͑ ͍ͯΔͷͰɼԿͱ͔ͳΔʢࠓʣ !10
+BJMCSFBLͱͷઓ͍ w ͍ΘΏΔࠈ͕ॆຬ͍ͯͨ͠ʢ࠷ۙ͋·Γฉ͔ͳ͍ʣ w Ξοϓϧ͕ҙਤ͠ͳ͍SPPUݖݶͷୣऔ w ࢲͷݸਓΞϓϦͰ͑͞ɼϦϦʔεޙʹࠃμϯϩʔ υαΠτ͔ΒΞϓϦ͕ΠϯετʔϧՄೳʹͳ͍ͬͯͨ w اۀͰେͳͷͰରࡦΛߨ͍ͯͨ͡
w ࠜຊతʹJ1IPOF04ΛΞοϓσʔτ͢Δ͔͠ͳ͍
ػೳ࣮ !12
গͳ͍ϝϞϦɼ૿͑Δػೳ w Ξοϓϧʮը໘3FUJOBͰɼΧϝϥըૉ૿ͨ͠Αʯ w ʮຊମϝϞϦਾ͑ஔ͖͚Ͳͳɼ͕ʯ w ৽ϋʔυൃചͷͨͼɼΞϓϦ͕ಈ͔͘ෆ҆Ͱ͔͠ͳ͍ w ༻ϝϞϦ͕d.#ʹͳͬͨΒҙʢಈ࡞ʹͳΔʣ w
.#ߦͬͨΒΞϓϦΫϥογϡͨΓલ !13
Ͳ͏͍͔ͬͯͨ w ܭଌΞϓϦ*OTUSVNFOUTͰ༻ྔͱϦʔΫΛࢹ w ࣌ਓྗͷϝϞϦཧ৻ॏʹ w ӬଓԽෆཁͳσʔλͰετϨʔδʹҰ࣌ॻ͖ग़ͯ͠ ϝϞϦ֬อʢԾϝϞϦͬΆ͍͜ͱʣ͍ͯͨ͠ w J04ʢ࠷ۙʂʣ͔ΒԾϝϞϦ͕༻Մೳʹ
w ͜Εɼେʑతʹൃද͋Γ·ͨ͠ʁʁ !14
όοΫάϥϯυ w ࠓͨΓલͷϚϧνλεΫʢΞϓϦͷόοΫάϥϯυʣ ɼϦϦʔεॳ࣮͞Ε͍ͯͳ͔ͬͨ w ΞϓϦͷϥΠϑαΠΫϧىಈͱऴྃͷΈ w ͏͔ͬΓϗʔϜϘλϯΛԡ͢ͱΞϓϦऴྃ w ϚϧνλεΫͷཁେ͖͔ͬͨ
!15
Ͳ͏͍͔ͬͯͨ w ϚϧνλεΫ෩ͷϥΠϑαΠΫϧͷ࣮ w ऴྃΠϕϯτΛड͚औͬͨΒɼݱࡏͷσʔλΛετϨʔ δʹॻ͖ࠐΜͰɼ࣍ճىಈ࣌ʹಡΈࠐΜͰ෮ݩ͢Δ w σʔλͷอଘಡࠐͨΓલͷΑ͏ʹ࣮͍ͯͨ͠ w J04͔ΒϚϧνλεΫରԠ
w ͨͩ͠ɼࠓ੍͕͋ΔʢҐஔใؔ࿈ͱ͔ʣ !16
ΧϝϥΩϟϓνϟ w Χϝϥө૾ΛϦΞϧλΠϜͰՃฤू͢ΔΞϓϦ w ࠓੲྲྀߦΓͷδϟϯϧͷͭ w ͍·Ͱ͍͏"3ΞϓϦʮηΧΠΧϝϥʯͳͲ w ͔͠͠ͳ͕Βɼ࣌Χϝϥө૾Λऔಘ͢Δ"1*༻ҙ͞ Εͨͳ͍ɽ
!17
Ͳ͏͍͔ͬͯͨ w ඇެ։"1*ΛͬͯΧϝϥը໘͝ͱεΫϦʔϯΩϟϓνϟ w $(*NBHF3FGJNH3FG6*(FU4DSFFO*NBHF w গͳ͍ʢ།Ұʁʣೝ͞Εͨඇެ։"1* w ࣌ඇެ։"1*Λ͍͔ʹΞοϓϧʹόϨͣʹ͏͔ͱ
͍͏ྲྀߦΓ͕Ұ෦ʹ͋ͬͨ w J04͔Β"7$BQUVSF4FTTJPO͕ఏڙ͞Εͨ !18
ͦͷଞʢ࠷ۙʣ w J04͔Β"QQMF.BQͰύνϯίΨϯμϜӺ͕ര w J04͔ΒϑϥοτσβΠϯ͕ಋೖ͞Εͯ6*͕Ұ৽ w J1IPOF͔Β3FUJOB͕ಋೖͯ͞ϐΫηϧ࠲ඪܥͱϙΠϯ τ࠲ඪܥͷࠞࡏͱࠞཚʢ͓ʹσβΠφʔ͕ʣ w J1IPOFը໘ղ૾͕छྨʢJ1IPOF͔Βछྨʣ͕ച
Γͩͬͨͷʹɼଟछˍҙͳղ૾ରԠͷ։ൃํʹ !19
·ͱΊ w ࣌ͷΤϯδχΞ͕ͦͷ࣌ʹ࠷దͱࢥΘΕΔख๏ͰαʔϏεΛ ఏڙ͠ɼਐ݄าͰݱࡏʹ͍ͨͬͯ·͢ w ͍·ͨΓલͷ͜ͱJ04͙Β͍ͰʮԿͦΕʢসʣʯʹ ͳΔͰ͠ΐ͏ w ͍ʹϞόΠϧΞϓϦ"QQMF(PPHMFͷϓϥοτϑΥʔϜ ʹͬͯ͠ɼ͍·ੈքͷΠϯϑϥͱͳ͍ͬͯΔͷͰɼͦΕ
Βશମ͕ϨΨγʔʹͳΔ͜ͱʢ͓ͦΒ͘ʣͳ͍Ͱ͠ΐ͏ w ใΛΩϟονΞοϓͯ͠ࢲ͕ͨͪࣗϨΨγʔʹͳΒͳ͍ Α͏ʹؾΛ͚·͠ΐ͏ !20