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
iPhoneと共に過ごす夏
mitsuharu
0
16
WKWebViewとアクセシビリティ
mitsuharu
0
47
WKWebView と仲良くする
mitsuharu
0
130
推測するな、計測せよ(Swift編)
mitsuharu
0
51
React Native updates
mitsuharu
0
55
macOS なしで iOS アプリを開発する(※ただし xxx に限る)
mitsuharu
1
330
メーカー製 SDK は不要!標準フレームワークだけで作るサーマルプリンターの印刷アプリ
mitsuharu
0
50
Bluetooth 制御で業務用サーマルプリンター対応アプリを作ろう
mitsuharu
0
83
iOS デバイスから始める Bluetooth 制御の業務用サーマルプリンター対応アプリの作り方
mitsuharu
0
180
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making Projects Easy
brettharned
117
6.4k
Code Review Best Practice
trishagee
71
19k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Navigating Team Friction
lara
189
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Faster Mobile Websites
deanohume
309
31k
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