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
당근 iOS 프로젝트 성장기
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kanghoon
October 13, 2023
Programming
0
290
당근 iOS 프로젝트 성장기
Let'Swift 2023 발표자료
Kanghoon
October 13, 2023
Tweet
Share
More Decks by Kanghoon
See All by Kanghoon
Modular Architecture 시작하기
kanghoon
0
6.8k
Other Decks in Programming
See All in Programming
SourceGeneratorのマーカー属性問題について
htkym
0
200
CSC307 Lecture 15
javiergs
PRO
0
260
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
190
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.2k
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
610
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
400
Claude Codeログ基盤の構築
giginet
PRO
7
3.5k
20260315 AWSなんもわからん🥲
chiilog
2
160
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
440
AHC061解説
shun_pi
0
400
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
310
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
New Earth Scene 8
popppiees
1
1.7k
Accessibility Awareness
sabderemane
0
82
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
150
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
220
Agile that works and the tools we love
rasmusluckow
331
21k
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
хࢎפ