728x90 ๐ iOS/WWDC11 [iOS] WWDC23: Discover Observation in SwiftUI / iOS17+ Discover Observation in SwiftUI - WWDC23 https://developer.apple.com/videos/play/wwdc2023/10149/ https://developer.apple.com/documentation/observation Observation ์ ์ฌ์ฉํ๋ฉด ํ์ค Swift ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ ๋ชจ๋ธ์ ์ ์ํ๊ณ , UI ๊ฐ ๋ชจ๋ธ์ ๋ณ๊ฒฝ์ฌํญ์ ์๋ตํ๋๋ก ํ ์ ์๋ค. SwiftUI ๋ฅผ ์ฌ์ฉํด์ ์ํํ๊ณ ์ง๊ด์ ์ผ๋ก ๊ฐ๋ฐํ ์ ์๋ค! ๋ชฉ์ฐจ 1:03 - What is Observation? 4:23 - SwiftUI property wrappers 7:34 - Advanced uses 10:27 - ObservableObject What is Observation? Obse.. 2023. 10. 14. [iOS] WWDC23: Meet ActivityKit / Live Activity ์์๋ณด๊ธฐ WWDC23: Meet ActivityKit https://developer.apple.com/documentation/ActivityKit https://developer.apple.com/documentation/activitykit/displaying-live-data-with-live-activities Live Activity ์ ๋ํ ๊ฐ์ Live Activity ์ ์๋ช ์ฃผ๊ธฐ (Life cycle) Live Activity UI ๊ตฌ์ถํ๊ธฐ Live Acitvity overview Live Activity ๋ ์ด๋ฒคํธ๋ ์์ ์งํ ์ํฉ์ ํ๋์ ์์๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ฐ๊ฐ์ ์์๊ณผ ๋์ ๊ฐ์ง๊ณ ์๊ณ , ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฑ ๋ฐํ์์์ ์ค์๊ฐ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๊ฑฐ๋, ํธ์ ์๋ฆผ์ ์ฌ์ฉํด์ ์๊ฒฉ์ผ๋ก ์ ๊ณตํ ์.. 2023. 10. 9. [WWDC2017] Love at First Launch ์ฒซ์ธ์์ด ์ค์ํ๋ค. ์ํํธ๋ฅผ ๊ณ์ฝํ๋ ค๊ณ ํ ๋, ์ฒ์๋ถํฐ ์ฌ๊ถ ์๋ฅ๋ฑ์ ์๊ตฌํ๊ฒ ๋๊ฐ? ์ฌ๊ธฐ๊พผ ์๋๊น ์ถ์ ์ง์ฃผ์ธ ๐ฅน ์ฑ๋ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ฑ ์ค์น๋ถํฐ ๋ก๊ทธ์ธ ํ๋ฉด๋ถํฐ ๋ํ๋๊ณ ๊ถํ๋ค์ ์๊ตฌํ๋ค๋ฉด ์น๊ทผํ์ง ์๋ค. Lead with great content ๋ก๊ทธ์ธ์ฐฝ๋ถํฐ ๋์ฐ๋ iTravel ์ฑ๊ณผ ๋ค๋ฅด๊ฒ, ๋ค๋ฅธ ์ฌํ ์ฑ์ ์ฝํ ์ธ ๋ฅผ ๋ฐ๋ก ๋ณด์ฌ์ค๋ค. ์ฌ์ฉ์๋ค์ ๋ฐ๋ก ํ๋ฉด์ ์๋ ์์๋ค์ ํ์ํ๋ฉฐ ์ฌํ์ง๋ฅผ ์ฐพ์ ์ ์๊ณ , ์์ฝํ๋ ค๋ ์์ ์ ๋ก๊ทธ์ธ์ฐฝ์ด ๋ฌ๋ค. (ํ์ง๋ง airbnb ๋ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ธฐ ์ ์ ๋ก๊ทธ์ธ์ด ๋ชจ๋ฌ๋ก ์ฐ์ ๋ฌ๋ค.. ์์ธ๋ ์ด์ฉ์ ์๋ ๐ฅฒ) Teach through interaction ์ ํ ์ฑ์์ ํคํจ๋, ์ ํ ๊ฑธ๊ธฐ ๊ธฐ๋ฅ๋ฑ์ ์ค๋ช ํ์ง ์์๋ ๋ชจ๋ ์ ์ ์๋ ๊ธฐ๋ฅ์ด์ง๋ง ์ ํ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ๋ ๊ฒ์ด ๋์์ด.. 2023. 5. 24. [WWDC21] Discover concurrency in SwiftUI ๋ชฉ์ฐจ Concurrent data models SwiftUI and the main actor New concurrency tools ํด๋น ์์์ ๋ณด๊ธฐ์ ์ ์ฐธ๊ณ ํ๋ฉด ์ข์ WWDC ์์ Meet async/await in Swift Explore structured concurrency in Swift ์์ ์ฑ ) ์ฐ์ฃผ ์ด๋ฏธ์ง ๋ชฉ๋ก๋ค ๋ณด์ฌ์ฃผ๊ณ ์ ์ฅํ๋ ์ฑ (์ฐ์ฃผ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ค๋ ค๋ฉด ์ค๋๊ฑธ๋ฆฐ๋ค๋ ํฐ๊ทธ๋ฆผ์ด ์์๋ฉ๋๋ค ๐ง) Concurrent data models ์ด๋ฏธ์ง์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ธ SpacePhoto ์ด๋ฏธ์ง ๋ฐฐ์ด์ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ธ Photos ObservableObject ๋ก ๋์ด์์ด @published ์ด๋ ธํ ์ด์ ์ด ๋ถ์ items ๊ฐ์ด ๋ณ๊ฒฝ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ SwiftUI View ์ ๋ฐ์ด.. 2023. 5. 18. [WWDC20] The Push Notifications primer (APNs / iOS ํธ์ ๋ฑ๋ก) ํธ์ ์๋ฆผ์ด ๋ฌด์์ธ์ง, ์ ์ฌ์ฉํ๋์ง ์ค๋ช ํด์ฃผ๊ณ ์ฑ์ ์ถ๊ฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํด์ฃผ๋ ์์์ ๋ํด ์ ๋ฆฌํ ๊ธ์ ๋๋ค! Introducing Push Notification ํธ์ ์๋ฆผ์ ๊ธฐ๋ฅ Engagement : ํธ์ ์๋ฆผ์ ํตํด์ ์ฑ์ด ์ํธ์์ฉ ํ ์ ์๋ค. Provide updates : ์ฑ์ ์ค์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. Dynamic experiences : ์ฑ ๋ด์ ๋ณ๊ฒฝ์ฌํญ์ด ์์ ๋ ๋ค์ด๋๋ฏนํ ๊ฒฝํ์ ์ค ์ ์๋ค. ํธ์ ์๋ฆผ์ ์ถ๊ฐํ์ ๋ ์ด์ ์ ๋ฌด์์ด ์์์ง? Foreground not required : ์ฑ์ด ํญ์ ํฌ๊ทธ๋ผ์ด๋์ ์์ ํ์๊ฐ ์๋ค. ํธ์ ์๋ฆผ์ ์ฑ์ ์ํ์ ๊ด๊ณ์์ด ์ ๋ฌ๋๊ณ ํ์ํ ๊ฒฝ์ฐ ์คํ๋๋ค. Power efficient : ํธ์ ์๋ฆผ์ ์ ๋ ฅ์ ๋ง.. 2023. 2. 14. [WWDC18] iOS Memory Deep Dive iOS Memory Deep Dive - WWDC18 - Videos - Apple Developer Discover how memory graphs can be used to get a close up look at what is contributing to an app's memory footprint. Understand the true... developer.apple.com [WWDC18] iOS Memory Deep Dive Why reduce memory :: ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ฌ์ผ ํ๋์ง? Memory footprint :: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ํ ์ด๋ก ์ ์ธ ์ด์ผ๊ธฐ Tools for profiling footprint :: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํ์ธํ ์ ์๋ ํด ์๊ฐ Images :: ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด .. 2022. 11. 27. [WWDC19] Advances in Collection View Layout - Part 1 Advances in Collection View Layout - WWDC19 - Videos - Apple Developer Collection View Layouts make it easy to build rich interactive collections. Learn how to make dynamic and responsive layouts that range... developer.apple.com ๐ WWDC19 - Advances in Collection View Layout Current State-of-the-Art UICollectionView ๋ iOS 6 ์์ ์ฒ์ ์๊ฐ๋์๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ ๋๋งํ๋ ํด๋์ค์ CollectionView ์ layout ์ ๊ด๋ฆฌํ๋ ๋๊ฐ์ ํด๋์ค๊ฐ ํ์ํ.. 2022. 10. 17. [WWDC19] Data Flow Through SwiftUI - Part 2 Working With External Data ๐ฌ Part1 ์์๋ ... ์ ์ ์ SwiftUI ๋ทฐ ๊ฐ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ํด ์๊ธฐํด๋ดค์๋ค. @State ํ๋กํผํฐ ๋ํผ๋ฅผ ํตํด ๊ฐ์ด ๋ณ๊ฒฝ๋จ์ ํธ๋ํนํ๋ ๋ณ์๋ฅผ ๋ ์ ์๊ณ , @Binding ์ ํตํด ์์๋ทฐ์์๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ผ๋ณด๋๋ก ํ ์ ์์๋ค. ๐โ๏ธ Part2 ์์๋? ๋ทฐ ๋ด๋ถ์์์ ๋์์ ๊ด๋ฆฌํ๋ @State ๋ณ์๋ก๋ ๋ถ๊ฐ๋ฅํ ์ธ๋ถ์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ, ์ธ๋ถ์์ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผํ ์ง ๋ค๋ค๋ณธ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ์ ์ ์ธํฐ๋ ์ ์ด ์๋ timer, notification ์ฒ๋ผ ์ธ๋ถ์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ ๋์ผํ ํ๋ฆ์ผ๋ก ๋์ํ๋ค. action ์์ฑ -> State ๊ฐ ๋ณ๊ฒฝ -> ๋ทฐ์ ๋ํ ์๋ก์ด ์นดํผ -> ์ ์ ์๊ฒ ์๋กญ๊ฒ ๋ณด์ฌ์ค SwiftUI.. 2022. 8. 30. [WWDC19] Data Flow Through SwiftUI - Part 1 Principles of Data Flow Tools for Data Flow SwiftUI ์์ ์๊ฐ๋๋ Property, BindableObject,@Environment , @Binding ,@State ๋ฏธ๋ฆฌ ์คํฌํ์๋ฉด BindableObject -> ObservableObject ๋ก ์ด๋ฆ์ด ๋ณ๊ฒฝ๋จ ์ด๋ฒ ์์์ ํตํด์ ํด๋น ํด๋ค์ด ์ด๋ป๊ฒ, ์ธ์ ์ฐ์ด๋์ง ์๊ฒ ๋ ๊ฒ์ด๋ค! Principle SwiftUI ๋ฐ์ดํฐ ํ๋ก์ฐ๋ฅผ ๋์์ธํ๊ธฐ ์ํ ๋๊ฐ์ ์๋ฆฌ๋ฅผ ์์๋ณด์. First principle "Data Access as a Dependency" ํ ๊ธ์ ์๊ฐํด๋ณด์. ํ ๊ธ ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ํด์๋ Bool ํ์ ์ ๋ฐ์ดํฐ๊ฐ ํ์ํ๊ณ , ๋ฐ์ดํฐ๊ฐ ์๋ก์ด ๊ฐ์ผ๋ก ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ทฐ๋ฅผ ๋ณ๊ฒฝํด์ค์ผ ํ๋ค. ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋ ๋.. 2022. 8. 30. ์ด์ 1 2 ๋ค์ 728x90