Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
당근 iOS 프로젝트 성장기
Search
Kanghoon
October 13, 2023
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
당근 iOS 프로젝트 성장기
Let'Swift 2023 발표자료
Kanghoon
October 13, 2023
More Decks by Kanghoon
See All by Kanghoon
Modular Architecture 시작하기
kanghoon
0
7k
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
430
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
setup-vp GitLab対応の裏側
naokihaba
0
140
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
SREの越境 / SRE Collaboration
y0hgi
2
290
iOSDC2026登壇資料.pdf
riofujimon
0
200
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.3k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
320
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
320
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.7k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Statistics for Hackers
jakevdp
799
230k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
750
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
500
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
Making the Leap to Tech Lead
cromwellryan
135
10k
Transcript
4֙р Ӕ ۽ં ߸ചী ೧ ࣗѐ೧ਃ Ray Software Engineer, iOS
Github @OhKanghoon Ӕ iOS ۽ં ࢿӝ
Contents 1. Architecture ߸ച 2. UI ߸ച 3.
Feed ߸ച 4. ҊೞҊ ח ޙઁٜ
Architecture ߸ച
Architecture ߸ച Modular Architecture জਸ ױਤ۽ ܻ࠙ೞח Architecture
Ӕ জ ࣻߔѐ ݽٕ۽ ҳࢿؽ Feature-level E.g. Transfer Bank Page, Deposit Page Domain-level E.g. Transfer, Bank, Account Core-level E.g. Network, Experiment, Analytics Shared-level E.g. Common UI, Logging, Utils
Architecture ߸ച Modular Architecture ݽٕച ܳ ਤ೧ о ݢ
ਃೠ Ѫ জ ઓࢿ ޙઁܳ ೧Ѿೞח Ѫ Ӕ ஹੌ दী উೣ ࠁغח ઓࢿ ੑ ߑधਸ ࢶఖೣ
Architecture ߸ച Builder ഝਊ ೞ݅, ݽٚ ઓࢿਸ ஹੌ दী
ೞח Ѫ ࠛоמೣ ஹੌ दী ೡ ࣻ ח Dependency ৬ ۠ఋী Dynamic Dependency ܳ ࢎਊ೧ ёܳ ࢤࢿೡ ࣻ ח Builder ܳ জ ઓࢿ ܻ ҳࢿীח IoC Container ܳ ೣԋ ഝਊ
Architecture ߸ച Builder ഝਊ Builder ܳ ഝਊ೧ ёܳ زਵ۽
ࢤࢿೞח द
Architecture ߸ച নೠ ಁఢਸ জ ղীࢲ ഝਊ ઓࢿ ӏਸ
݅ೞݶ п ചݶ ইఃఫ ಁఢী ઁೠਸ ف ঋ ূפযо ചݶী ೠ ҳઑܳ ࢶఖೞח Ѫਸ ӂೣ Clean Swift ReactorKit RIBs
UI ߸ച
UI ߸ച Texture Texture ח ۣࠗ٘Ҋ ߈ ࡅܲ ੋఠಕझܳ
ਤೠ UI Framework ੑפ. Auto-layout ژח Storyboard ܳ ࢎਊೞ ঋҊ Texture Layout API ܳ ࢎਊ೧ UI ۽ ࠗఠ ੌযաח ಌನݢझ गա নೠ ߡӒ ೧Ѿী ೠ ࠗхਸ ੌ ࣻ णפ. … ……
UI ߸ച Texture рױೞѱ ܻೞݶ
UI ߸ച Texture ࢿמ ୭ചػ UI ܳ औѱ ࢿೡ
ࣻ ח Framework
UI ߸ച Texture ъ۱ೠ API 1. নೠ Node
: ழޭפ౭ ࢲ࠺झীࢲ ਃೠ ݆ ஹನք৬ ӝמ ઁҕ 2. LayoutSpec : Flexbox ӝ߈ ࡅܰҊ ਬোೠ ۨইਓ ࢸ҅о оמ 3. Intelligent Preloading : झ܀ী ٮܲ ஶబஎ ۽٘ܳ ୭ച 4. Interface State: ࠭ (Cell) о ࠁৈҊ ࢎۄח ഛೠ दਸ ঈ оמ
UI ߸ച Intelligent Preloading https://youtu.be/wrctPJxskhI
UI ߸ച Texture ীࢲ ߊࢤೠ ޙઁ 1. ֫ ੑ߷
Flexbox ഋక ۨইਓ ߑध ࡺ݅ ইפۄ Texture ةੋ LifeCylce җ ةౠೠ زٜਸ ೣԋ ण೧ঠ ೮যਃ ۽ ੋ೧ UI ߡӒ ߊࢤद ূפযীѱ झۨझ۽ ਊ೮যਃ
UI ߸ച Texture ীࢲ ߊࢤೠ ޙઁ 2. ۨਕ ҙܻ
ࠗ Texture ݫੋపցٜ Pinterest ృࢎ ١ নೠ ਬ۽ ҙܻ ࠗ iOS 15 ࠗఠ ߊࢤೞח ݺੋ ޙઁٜ ೧Ѿغ ঋ ࢜۽ iOS ߡ ܾܻૉ ؼ ٸ݃ ܻझ۽ ৈѹ
UI ߸ച UIKit ਵ۽ ഥӈ Ӕ ীࢲח द UIKit
ਸ ࢎਊೞӝ۽ Ѿೠ ٍ UI ܳ ؊ ࡅܰҊ ਬোೞѱ ѐߊೡ ࣻ ח ߑߨী ೧ Ҋೞӝ द೮যਃ
UI ߸ച FlexLayout & PinLayout ӝઓী ࢎਊೞ؍ Flexbox ӝ߈
ۨইਓ ߑधਸ ഝਊೡ ࣻ Ҋ, ࢿמ ڪযդ FlexLayout ਸ ఖ೮যਃ
UI ߸ച FlexLayout & PinLayout SwiftUI Preview ܳ ഝਊ೧
ূפয ࢤࢿਸ ֫ৈਃ
UI ߸ച о ਃೠ ߸ച 1. Frame Layout 2.
Auto Layout 3. FlexLayout & PinLayout 4. SwiftUI ചݶী ٮۄ ਬܻೠ ۨইਓ ߑध ઓ ূפযח যڃ ജ҃ীࢲب ࢎਊೡ ࣻ ח UI Component ܳ ѐߊ೧ঠ ೣ
UI ߸ച ٣ੋ दझమ UI ࢤࢿਸ ӓചೡ ࣻ ח
٣ੋ दझమ ѐߊ ٣ੋ दझమ ஹನքܳ ࢎਊೞݶ জ ಿب ૐо • নೠ জ Ӕࢿ ਗ • Figma ৬ ాੌػ ੋఠಕझ ઁҕ • ೠ ب௸ݢ
UI ߸ച ٣ੋ दझమ ఎ۽Ӓ
UI ߸ച Listing Framework ܻझ ഋక UI ٘ܳ ѐࢶೞӝ
ਤೠ ֢۱ب द೮যਃ
UI ߸ച KarrotListingUI View ৬ োѾغח Component ܳ ٜ݅Ҋ
UI ߸ച KarrotListingUI List ী ೡೞݶ
UI ߸ച KarrotListingUI Component ݽ؛ী োѾػ ܻझ ഋక UI
о ۪؊݂
UI ߸ച KarrotListingUI Concept ח SwiftUI ৬ ਬࢎೣ ࢿמ
୭ചػ UI ܳ औѱ Ӓܾ ࣻ ب۾ নೠ ӝמٜਸ ୶о
Feed ߸ച
Feed ߸ച झ܀ ࠭ ஶబஎ ֢ ஏ 100% ࠁৈ
100% ࠁৈ 60% ࠁৈ -> ֢ ചݶী ࠁৈח ࠺ਯী ٮۄ ֢ ৈࠗܳ ౸ױೞҊ ೣ
Feed ߸ച झ܀ ࠭ ஶబஎ ֢ ஏ Ӕ
David ഥୡߏ ীࢲ ূо৬ ୡߏਸ ெࠁ ই٣যܳ ѱ ظਃ
Feed ߸ച SushiBelt ࠭ܳ ெࠁҊ ӝೞח ࠺ਯী ب׳ೞݶ ঌ۰ח
ۄ࠳۞ܻܳ ѐߊ೮যਃ
Feed ߸ച SushiBelt ز ࢚
ҊೞҊ ח ޙઁٜ
ҊೞҊ ח ޙઁٜ ݽ߄ੌۖಬ ҅, ঌܿ, ؘఠ, प, ࠁউ
١ ࢲ࠺झ ӝ߈ غח য ӝמਸ द ࢸ҅ زച৬ Horizontal Component ѐߊਸ ాೠ ূפয ࢤࢿ ૐ بݫੋ ѐߊਸ ਤೠ উੋ ࢸ҅ ߑೱ о٘
ҊೞҊ ח ޙઁٜ Ҵղ৬ ܲ ҃ਸ о Ӗ۽ߥ ࢲ࠺झ
ѐߊ ݆ ࢎਊо ଵৈೡ ࣻ ח Ӓܛ ӝמ ѐߊ ҊѢې, ز֎ࢤഝ, ز֎ঌ߄ ١ নೠ ࢲ࠺झ োز নೠ ӝמਸ ೠ ചݶীࢲ ҳഅೡ ࣻ ח ਬোೠ ҳઑ ࢸ҅
ҊೞҊ ח ޙઁٜ ޙઁܳ э ೧Ѿೡ زܐܳ Ҋ যਃ
Q&A
хࢎפ