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.3k
限られたリソースで進める段階的な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.9k
プロダクトの成長を支えるKPI / KPIs for growing your product
hedjirog
17
3.9k
UIViewPropertyAnimatorで実現するリッチなアニメーション表現
hedjirog
4
2.3k
ReactorKit at Wantedly
hedjirog
2
990
ReactorKitを利用した緩やかなアーキテクチャの移行
hedjirog
3
1.5k
エンジニア・デザイナーで取り組むグロースハック
hedjirog
6
2.4k
iOS 10 時代のアニメーション / Introduction to UIViewPropertyAnimator
hedjirog
3
3.1k
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
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.3k
Obsidian応用活用術
onikun94
1
470
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
140
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
380
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
140
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
120
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
300
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
Featured
See All Featured
Building an army of robots
kneath
306
46k
Thoughts on Productivity
jonyablonski
70
4.8k
The Cult of Friendly URLs
andyhume
79
6.6k
Why Our Code Smells
bkeepers
PRO
339
57k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
4 Signs Your Business is Dying
shpigford
184
22k
Designing for Performance
lara
610
69k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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