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
限られたリソースで進める段階的なSwit移行
Search
Jiro Nagashima
May 31, 2017
Technology
2
5.2k
限られたリソースで進める段階的なSwit移行
2017.05.31 Wantedly 技術見学会 〜iOS編〜
https://wantedly.connpass.com/event/56920/
での発表内容です。
Jiro Nagashima
May 31, 2017
Tweet
Share
More Decks by Jiro Nagashima
See All by Jiro Nagashima
グロースを加速するLooker活用 / Leveraging Looker to accelerate growth
hedjirog
3
2.7k
プロダクトの成長を支えるKPI / KPIs for growing your product
hedjirog
17
3.8k
UIViewPropertyAnimatorで実現するリッチなアニメーション表現
hedjirog
4
2.2k
ReactorKit at Wantedly
hedjirog
2
940
ReactorKitを利用した緩やかなアーキテクチャの移行
hedjirog
3
1.5k
エンジニア・デザイナーで取り組むグロースハック
hedjirog
6
2.3k
iOS 10 時代のアニメーション / Introduction to UIViewPropertyAnimator
hedjirog
3
3k
How we use fastlane at Wantedly
hedjirog
9
11k
fastlaneとCircleCIではじめるアプリ配布の定期実行 / Continuous Deployment with fastlane and CircleCI
hedjirog
10
23k
Other Decks in Technology
See All in Technology
事業継続を支える自動テストの考え方
tsuemura
0
300
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
2
390
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.1k
データ基盤の成長を加速させる:アイスタイルにおける挑戦と教訓
tsuda7
3
650
Bounded Context: Problem or Solution?
ewolff
1
210
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
10
2.7k
『AWS Distinguished Engineerに学ぶ リトライの技術』 #ARC403/Marc Brooker on Try again: The tools and techniques behind resilient systems
quiver
0
130
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
Kubernetes x k6 で負荷試験基盤を開発して 負荷試験を民主化した話 / Kubernetes x k6
sansan_randd
2
730
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
1.1k
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
200
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Docker and Python
trallard
44
3.3k
Agile that works and the tools we love
rasmusluckow
328
21k
A designer walks into a library…
pauljervisheath
205
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
A Philosophy of Restraint
colly
203
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
GraphQLとの向き合い方2022年版
quramy
44
13k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
Unsuck your backbone
ammeep
669
57k
Transcript
Ӭౡ ࣍࿕ʗJIRO NAGASHIMA ݶΒΕͨϦιʔεͰਐΊΔ ஈ֊తͳSwitҠߦ - Wantedly ٕज़ݟֶձ 2017.05.31 -
None
γΰτͰίίϩΦυϧ SwitͷҠߦͱฒߦͯ͠ ղܾ͖͢՝
γΰτͰίίϩΦυϧ Wantedly Visit ͷΞϓϦ։ൃʹ͓͚Δ՝ ݶΒΕͨϦιʔε 1 2 3 ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ Ϧετදࣔͷ࠶ઃܭͷඞཁੑ
γΰτͰίίϩΦυϧ Wantedly Visit ͷΞϓϦ։ൃʹ͓͚Δ՝ ݶΒΕͨϦιʔε 1 2 3 ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ Ϧετදࣔͷ࠶ઃܭͷඞཁੑ
γΰτͰίίϩΦυϧ ݶΒΕͨϦιʔε 2016.09 2017.04 ৽نࣄۀͷྗ ৽نϝϯόʔՃ ৽نࣄۀͷྗͰҰ࣌ظ1ਓͰ։ൃ
γΰτͰίίϩΦυϧ ݶΒΕͨϦιʔε άϩʔενʔϜͷΤϯδχΞͷۀ୯७ͳ։ൃ͚ͩͰͳ͍ ΤϯδχΞɾσβΠφʔͰऔΓΉάϩʔεϋοΫ // Speaker Deck - https://speakerdeck.com/hedjirog/ensiniatesainatequ-rizu-mugurosuhatuku
γΰτͰίίϩΦυϧ Wantedly Visit ͷΞϓϦ։ൃʹ͓͚Δ՝ ݶΒΕͨϦιʔε 1 2 3 ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ Ϧετදࣔͷ࠶ઃܭͷඞཁੑ
γΰτͰίίϩΦυϧ ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ RestKit ΛΞϓϦͷϦϦʔε͔࣌Βར༻ ΣϒαʔϏεͷΫϥΠΞϯτ࣮͚ͷϑϨʔϜϫʔΫ ʢ ௨৴ / Ϛοϐϯά /
ӬଓԽ ʣ 2014.02 (3લ)
γΰτͰίίϩΦυϧ RestKit ͷ՝ • Objective-Cͷ࣮ͰϢʔβʔ͕ݮΓϝϯςφϯεස͕͘ • AFNetworking 1.xܥʢNSURLConnectionΛ෦ར༻ʣʹґଘ • Ұ෦ͷΫϥογϡͷཁҼʹ
ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ → ґଘΛͳͯ͘͠ ସͷ࣮ Λཱ֬͢Δඞཁ͕͋Δ
γΰτͰίίϩΦυϧ Wantedly Visit ͷΞϓϦ։ൃʹ͓͚Δ՝ ݶΒΕͨϦιʔε 1 2 3 ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ Ϧετදࣔͷ࠶ઃܭͷඞཁੑ
γΰτͰίίϩΦυϧ Ϧετදࣔ • ืू • ϑΟʔυ • ϒϩάهࣄɺࣾһΠϯλϏϡʔͳͲ • ࡢ͔ΒΞϓϦಋೖ
Ϧετදࣔͷ࠶ઃܭͷඞཁੑ
γΰτͰίίϩΦυϧ Ϧετදࣔ ͷ՝ • ίϯςϯπͷଟ༷ԽͱෳࡶԽ • RestKitʹґଘͨ͠جఈΫϥε (View Controller) Λܧঝ࣮ͯ͠
• εΫϩʔϧͷύϑΥʔϚϯεԼ Ϧετදࣔͷ࠶ઃܭͷඞཁੑ → ෳࡶੑʹରॲ͠ಘΔ ସͷ࣮ ͰύϑΥʔϚϯε্Λࢦ͢
γΰτͰίίϩΦυϧ SwiftҠߦͷ͠͞ ݶΒΕͨϦιʔε 1 2 3 ωοτϫʔΫͷ࠶ઃܭͷඞཁੑ Ϧετදࣔͷ࠶ઃܭͷඞཁੑ SwiftҠߦ ͱฒߦͯ͠
ସͷ࣮ ͷཱ֬ͱద༻ඞཁ ※ ϦιʔεݶΒΕ͍ͯΔ…
γΰτͰίίϩΦυϧ ஈ֊తʹ SwiftҠߦΛਐΊΔ
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ ϑΣʔζ 3ɿସͷ࣮ͷద༻ʢϝΠϯը໘ʣ ϑΣʔζ 1ɿSwiftͷॳظಋೖ
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ ϑΣʔζ 3ɿସͷ࣮ͷద༻ʢϝΠϯը໘ʣ ϑΣʔζ 1ɿSwiftͷॳظಋೖ
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 1ɿSwiftͷॳظಋೖ • Objective-CͷϓϩδΣΫτͷSwiftͷ෦ಋೖ • ϢʔβʔͷӨڹ͕খ͍͞ൣғ Ͱ࢝ΊΔ •
Apple WatchΞϓϦ • A/Bςετج൫ • σΟʔϓϦϯΫʹΑΔΞϓϦىಈ࣌ͷը໘੍ޚ • طଘͷ࣮Λେ͖͘ม͑Δ͜ͱ·ͩ͠ͳ͍
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ ϑΣʔζ 3ɿସͷ࣮ͷద༻ʢϝΠϯը໘ʣ ϑΣʔζ 1ɿSwiftͷॳظಋೖ
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ • ϢʔβʔͷӨڹ͕ݶఆతͳը໘ ͰҠߦΛਐΊΔ • ձࣾը໘ •
ݕࡧը໘ • ϝοηʔδը໘ • ସͷ࣮ ͷཱ֬ਐΊͯطଘͷ࣮Λஔ͖͍͑ͯ͘
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ ձࣾը໘ • ը໘ʹෳͷαϒίϯςϯπ͕ଘࡏ • ෳͷ௨৴ϦΫΤετΛॲཧ •
৽نը໘ͳͷͰθϩϕʔεͰઃܭ • APIΫϥΠΞϯτ • ืूͷϦετදࣔ
γΰτͰίίϩΦυϧ ݕࡧը໘ • ืूͱձࣾΛಉ࣌ݕࡧ • ෳͷ௨৴ϦΫΤετΛॲཧ • ΠϯΫϦϝϯλϧαʔν • طଘը໘ͷஔ͖͑ͱ࣮ͯ͠
• ߴͳRxSwiftͷར༻ • ืूͷϦετදࣔͷϒϥογϡΞοϓ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ
γΰτͰίίϩΦυϧ ϝοηʔδը໘ • ΑΓߴͳϦετදࣔ • ঢ়ଶʹԠͨ͡ηϧͷද੍ࣔޚ͕ඞཁ • طଘ༷ʹԊ࣮ͬͨͷஔ͖͑ • ϖʔδϯάͷ࣮
• “Pull to Refresh” ͷ࣮ • ஔ͖͑ͷίετײͷѲʹ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ
γΰτͰίίϩΦυϧ ओʹ࠾༻ͨ͠ϥΠϒϥϦ • RxSwift • MVVMͷσʔλόΠϯσΟϯάɺෳࡶͳඇಉظॲཧ • Moya • ωοτϫʔΫͷ࣮ɺRxSwiftͱͷ࿈ܞՄೳ
• Unbox • JSONͷσίʔυ • YYText • ߴͳςΩετॲཧɺϨΠΞτܭࢉΛඇಉظͰߦͳ͏͜ͱՄೳ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 2ɿସͷ࣮ͷద༻ʢαϒը໘ʣ ϑΣʔζ 3ɿସͷ࣮ͷద༻ʢϝΠϯը໘ʣ ϑΣʔζ 1ɿSwiftͷॳظಋೖ
γΰτͰίίϩΦυϧ ஈ֊తͳSwiftҠߦ ϑΣʔζ 3ɿସͷ࣮ͷద༻ʢϝΠϯը໘ʣ • ϢʔβʔͷӨڹͷେ͖͍ը໘ Ͱͷద༻ • ΞϓϦىಈ࣌ͷืूͷϦετදࣔ •
Comming Soon… • ϑΟϧλʔݕࡧΛେ͖͘มߋͯ͠ϦϦʔε
γΰτͰίίϩΦυϧ SwiftҠߦʹ͓͚Δ
γΰτͰίίϩΦυϧ SwiftҠߦʹ͓͚Δ • ஈ֊తʹ ਐΊΔ • ϢʔβʔͷӨڹ͕খ͍͞ൣғ͔Β • ઃܭํཱ͕֬͢Δ·ͰԿεςοϓΛ౿Ή •
৽نػೳ ৽نը໘ Ͱ࣮Λࢼ͢ • ※ ΤϯδχΞͰࢪࡦͷݕ౼ΛਐΊ͍ͯΔͷͰ࣮ࢪ͢Δࢪࡦͷίϯτϩʔϧ͕Մೳ • θϩϕʔεͰઃܭΛߟ͑ΒΕΔΑ͏ʹ • طଘ࣮ͷஔ͖͑ Λҙࣝͯ͠ݒ೦Λ௵͓ͯ͘͠
γΰτͰίίϩΦυϧ ͓·͚
Wantedly Ͱ iOSΤϯδχΞ Λืू͍ͯ͠·͢ʂʂ https://www.wantedly.com/projects/102790
None