WWDC/iOS 10

[WWDC23] Build programmatic UI with Xcode Previews

What are previews Preview는 뷰를 구성하는 코드 스니펫입니다. #Preview 매크로를 사용하면 뷰를 반환합니다. Preview는 앱에 컴파일 되고, Xcode의 캔버스에 바로 나타나서 뷰를 미리 확인할 수 있습니다. Preview를 사용하면 개발자가 작업을 더 빨리 할 수 있습니다. 반복적인 일을 줄여주고, 불필요한 코드를 없앨 수 있기 때문입니다. Preview를 사용하고 소스 코드를 수정하면 Xcode는 두 가지 일을 동시에 처리합니다. 첫 번째는 어디가 변경되었는지 살펴보고, 최소한의 부분만 컴파일합니다. 두 번째는 Preview를 다시 실행합니다. 개발자가 코드를 수정만 하면 Xcode가 자동으로 최소한의 범위만 컴파일해서 Preview를 업데이트하는 것입니다. 심지어 여러 ..

WWDC/iOS 2023.11.01

[iOS] WWDC21 테크톡 - Find and fix hitches in the commit phase

서론 WWDC21 테크톡 - Find and fix hitches in the commit phase에서는 Commit phase의 hitch를 찾고 고치는 내용을 다룹니다. hitch와 commit phase가 무엇인지는 WWDC21 테크톡 - Explore UI animation hitches and the render loop를 확인해 주세요. What is a Commit Transaction 터치 이벤트를 받으면 UI를 업데이트하게 됩니다. 시스템은 레이아웃이나 디스플레이 변경이 필요한 서브 뷰들을 기록합니다. 그리고 다음 Commit phase에서 시스템에 의해 draw와 layoutSubviews가 호출되면서 업데이트 됩니다. Commit Transaction은 4단계로 이루어집니다. lay..

WWDC/iOS 2023.09.10

[iOS] WWDC21 테크톡 - Explore UI animation hitches and the render loop

서론 WWDC21 테크톡 - Explore UI animation hitches and the render loop에서는 hitch와 render loop가 무엇인지 알아보고, hitch의 종류, hitch를 측정하는 방법에 대해 알아봅니다. 이번 포스팅에서는 측정하는 방법까지만 다루고, 다음 포스팅인 Find and fix hitches in the commit phase에서 hitch를 제거하는 방법을 알아보겠습니다. What is a hitch 앱에서 애니메이션은 사용자와 앱 사이의 시각적 연결을 도와줍니다. 예를 들어, 사용자가 손가락을 화면을 쓸어넘기면 화면이 변해야 합니다. hitch는 예상보다 늦게 화면에 나타나는 프레임으로, 다음 프레임의 생성이 늦어져 애니메이션이 끊기는 시간입니다. hi..

WWDC/iOS 2023.09.10

[iOS] WWDC23 - What's new in Xcode 15

서론 WWDC23에서는 한글 자막을 지원하지 않아 파파고와 함께 정리했습니다. 얼른 한글 자막이 추가되기를 기원합니다🙏 What's new in 시리즈 중 SF 심볼을 먼저 볼까 Xcode 15를 먼저 볼까 고민했습니다. 고민 중에 이걸 봤는데 너무 흥미로운거에요. 바로 Xcode 15 영상부터 보기로 결정했습니다. ㅋㅋ (근데 다 보고 나니까 막상 저 내용은 안 나옴;;) 금쪽이같은 Xcode가 15에는 좀 성장했을지 기대됩니다. WWDC23부터는 영상 챕터를 지원합니다. 따라서 포스팅도 챕터 별로 나눠 작성했습니다. (Xcode 다운로드 챕터는 생략했습니다.) Code completion updates Code completion을 통해 원하는 코드를 더 빠르고 실수 없이 작성할 수 있습니다. Xco..

WWDC/iOS 2023.06.08

[iOS] WWDC23 - What's new in UIKit

서론 한글 자막을 지원하지 않아 파파고와 함께 정리를 해보았습니다. ViewController Lifecycles, CollectionView 등등 아는 단어가 나오니 흥미가 더 생기는 거 같아요. Internationalization 챕터에서는 한글에 대해서도 나옵니다 ㅎㅎ 또한, 매크로와 관련된 내용도 포함되어 있습니다. 매크로는 WWDC 23에서 Swift macros로 소개된 기능인데요. [Swift] WWDC23 - What's new in Swift에서 소개를 다루고 있으니 참고 부탁드립니다. WWDC23부터는 챕터 기능을 지원합니다. 따라서 포스팅도 챕터 단위로 문단을 나눴습니다. Key feature: Xcode previews UIKit으로 Xcode Preview를 사용할 수 있습니다...

WWDC/iOS 2023.06.07

[iOS] WWDC19 - Combine in Practice (2)

이전 포스팅 2023.01.22 - [🍎 iOS/iOS 개념&개발] - [iOS] WWDC19 - Combine in Practice (1) [iOS] WWDC19 - Combine in Practice (1) Combine Combine은 시간의 흐름에 따라 값을 처리하는 API 입니다. 자세한 내용은 이전 포스팅인 "WWDC19 - Introducing Combine"을 참고해 주세요. 이번 발표인 "WWDC19 - Combine in Practice"에서는 실제로 Combine을 jeong9216.tistory.com Subscriber 지난 포스팅에서 Publisher에 대해 알아보았으니, 이제는 Subscriber에 대해 알아봅시다. Subscriber는 Publisher와 동일하게 두 개의 a..

WWDC/iOS 2023.01.22

[iOS] WWDC19 - Combine in Practice (1)

Combine Combine은 시간의 흐름에 따라 값을 처리하는 API 입니다. 자세한 내용은 이전 포스팅인 "WWDC19 - Introducing Combine"을 참고해 주세요. 이번 발표인 "WWDC19 - Combine in Practice"에서는 실제로 Combine을 사용해보겠습니다. 우리는 이 UI 스케치를 가지고 앱을 하나 만들 것입니다. Trick Name에 마법 기술 이름을 넣을거에요. NotificationCenter는 특정 Notification을 위한 Publisher로 등록할 수 있도록 지원합니다. 이렇게 생성된 Publisher의 Output 타입은 Notification 타입이고, Failure 타입은 Never입니다. 이제 우리는 Notification을 발행하는 Publi..

WWDC/iOS 2023.01.22

[iOS] WWDC19 - Introducing Combine

App Requirements 몇 가지 요구사항을 만족하는 앱을 만들고 있습니다. 사용자 이름을 입력하고, 서버에 전달해서 유효한 입력인지 확인합니다. 서버 통신을 할 때는 메인 스레드를 Blocking 하지 말고, 인터페이스를 그대로 유지해야 합니다. 이부분에서 Target/Action, Timer, KVO 등이 사용됩니다. 사용자가 TextField에 입력을 하고, URLSession을 이용해 서버와 통신합니다. 네트워크 리소스를 아끼기 위해 Timer를 이용해 사용자가 입력이 멈춘 뒤 서버에 요청을 보낼거고, 네트워크 Progress Update를 위해 KVO를 통해 처리할 수 있습니다. 결과적으로 이러한 비동기 API들을 만나게 됩니다. 이들은 각각 사용하는 방법이 달라서, 엮어서 쓰는 것은 까다..

WWDC/iOS 2023.01.22

[iOS] WWDC18 - Image and Graphics Best Practices

서론 이미지에 대한 WWDC를 찾아보며 이번 포스팅에서 정리할 "Image and Graphics Best Practices"까지 왔습니다. 사실 바로 직전 WWDC 포스팅(WWDC18 - iOS Memory Deep Dive)은 이 세션을 위한 정리였어요 ㅎㅎ iOS Memory Deep Dive의 이미지 파트 부분을 읽고 오시면 이해가 더 잘 되지 않을까 싶습니다. Image and Graphics Best Practices "Image and Graphics Best Practices" 세션은 총 세 개의 주제를 다룹니다. UIImage와 UIImageView, UIKit을 이용해 그리는 방법, 고급 CPU와 GPU 기술입니다. 이번 포스팅에서는 UIImage와 UIImageView에 대한 주제만 ..

WWDC/iOS 2022.10.20

[iOS] WWDC18 - iOS Memory Deep Dive

서론 메모리 공부를 하다 WWDC18의 iOS Memory Deep Dive까지 도달했습니다. 제 실력은 파도풀인데 다이빙하다 머리 깨지지 않을까 걱정했지만 일단 들어봤습니다 ㅎㅎ 내용도 어렵고 말도 너무 빨라 역대급으로 힘들었네요 ㅋㅋ ㅠ 천천히 하나씩 정리해 봅시다. (중간에 Tool에 대한 내용은 다루지 않았습니다. 지금 Xcode 버전으로 다루는 것이 좋을 거 같아서 나중에 따로 포스팅하겠습니다.) Why Reduce Memory 메모리를 줄이는 이유는 뭘까요? 바로 사용자가 더 나은 경험을 할 수 있기 때문입니다. 앱 실행 속도가 빨라지고 시스템이 더 잘 수행됩니다. 앱이 메모리에 더 오래 유지될 수 있고, 그러다보면 다른 앱도 더 오래 메모리에 남아 있을 수 있습니다. 최종적으론 사용자의 더 ..

WWDC/iOS 2022.10.19
반응형