SwiftUI
-
SwiftUI View hierarchy DebuggingSwiftUI 2025. 12. 13. 07:42
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI View hiearchy Debugging에 대해 알아보겠습니다 🙋🏻Xcode View Debugging우선, Xcode에는 ViewDebug를 할 수 있게 View Hiearchy를 해볼 수 있어요. 많이 사용하고 계실 이 기능이죠.물론, Reveal, Lookin, Rocketsim 등 요새는 다양하게 뷰 디버깅을 위한 툴이 나와서 더 잘 쓸 수 있지만 핵심 본질을 같긴합니다. 여기서 뭐가 중요하냐하면, 이 계층 구조가 어떤 컴포넌트로 이뤄졌는지를 볼때에요. 좌측 계층 구조 스택을 보면 여기서 SwiftUI로 그려진 ContentView가 호스팅되어서 나타나죠.제가 코드에서 사실 ContentView에 ChildView라는 컴포넌트로 ..
-
SwiftUI Preview - ThunkSwiftUI 2025. 11. 29. 21:38
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI Preview가 어떻게 코드 변경을 실시간으로 반영하는지 그 내부 구조를 깊게 파헤쳐보려고 합니다 🙋🏻Preview is not magicSwiftUI Preview는 마치 마법처럼 알아서 짠하고 작동하는것처럼 보이죠.struct ContentView: View { var body: some View { Text("Hello") // If you change this }}#Preview { ContentView() // It will be update immediately} 앱 전체를 다시 빌드하지 않아도 Preview가 즉시 반영되는 이유는 바로 Xcode가 자동 생성하는 Preview-Thunk 파일(.prev..
-
SwiftUI's diffingSwiftUI 2025. 9. 27. 06:31
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 성능에 관련된 핵심 메커니즘인 diffing 알고리즘과 뷰 재생성 최적화에 대해 정리해보려 합니다 🙋🏻SwiftUI's diffingSwiftUI를 사용하면서 이런 궁금증들이 생기지 않나요?"List를 스크롤할 때 왜 이렇게 버벅거리지? 🤔""상태가 조금만 바뀌어도 전체 화면이 다시 그려지는 것 같은데?""ForEach에서 id: .self를 쓰면 안 된다고 하는데 정확히 왜지?""Airbnb에서 15% 성능 개선했다는 방법임 뭘가? 이 부분에서 답을 찾으려면 SwiftUI의 diffing 알고리즘을 이해해야 합니다.Why SwiftUI Diffing Matters More Than Ever?📈 Performance Issues복잡한 리..
-
Ensuring 60fps Animations in SwiftUI (GPU Rendering Optimization)SwiftUI 2025. 8. 23. 10:27
안녕하세요. 그린입니다 🍏이번 포스팅은 SwiftUI 애니메이션의 성능을 극한까지 끌어올려 일관된 60fps를 보장하는 실전 최적화 방법들에 대해 알아보겠습니다 🚀SwiftUI Animation Performance Deep Dive이런 경험 있으신가요?"부드럽게 움직이다가 갑자기 끊어져요 😱""복잡한 리스트에서 스크롤할 때 버벅거림""여러 애니메이션이 동시에 실행될 때 프레임 드롭 발생""디바이스가 뜨거워지면서 애니메이션이 느려짐"이런 문제들은 단순히 사용자 경험을 해치는 것을 넘어서서 앱의 품질 인식에 직접적인 영향을 미칩니다.특히 iOS 17부터 ProMotion 디스플레이가 더 널리 퍼지면서, 사용자들은 120fps까지도 기대하게 되었거든요. Why 60fps Matters More Than..
-
Bring Swift Charts to the third dimension (feat. WWDC 2025)SwiftUI 2025. 7. 12. 09:25
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Bring Swift Charts to the third dimension이라는 WWDC 2025의 세션을 정리해보겠습니다 🙋🏻 Bring Swift Charts to the third dimensionIntroduction다들 아시는 Swift Charts를 3차원으로 가져오는것에 대한 세션이에요.Chart3D를 사용해서 2D Swift Cahrts를 3차원으로 가져오고 시각화하는 방법을 소개하고 있습니다. 알아볼까요? 우선 Swift Charts는 접근성이 뛰어나고 시각적인 차트를 만드는 프레임워크이죠.차트는 다양하게 애플 플랫폼에서 사용되고 있어요. 배터리 잔량이나 수학 함수 그래프 등 정말 다양하게 쓰일 수 있죠. Swift Charts에서는 사용..
-
What's new in SwiftUI (feat. WWDC 2025)SwiftUI 2025. 6. 11. 18:30
안녕하세요. 그린입니다 🍏WWDC 2025가 막 시작되었어요!그래서, 첫번째 살펴볼 주제로 What's new in SwiftUI 입니다 🙋🏻 Overview사실상 이번 WWDC 2025의 가장 핵심은 Liquid Glass가 아닐까 싶습니다.모든 Apple 플랫폼에서 더 나은 디자인의 앱을 개발할 수 있도록 SwiftUI에서도 새로운 기능들이 소개되었어요.Liquid Glass를 사용해 앱에 디자인을 입히는 방법들이 소개되죠.더욱 향상된 프레임워크와 새로운 툴들을 이용해 성능을 향상시키고 웹 컨텐츠 및 서식 텍스트 편집과 같은 진보된 기능을 통합하는 방법도 살펴볼 수 있습니다.또, 3차원 뷰 레이아웃을 포함해 더 많은 기능들도 다뤄볼 수 있어요. 한번 본격적으로 리캡해볼까요? Make the ne..
-
MarqueeSwiftUI 2025. 3. 18. 19:00
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Marquee에 대해 알아보고 간단히 SwiftUI로 구현해보려고 합니다. 🙋🏻 Marquee?Marquee는 텍스트가 좌우 혹은 상하 형태로 자동으로 이동하는 UI 요소입니다.일반적인 쓰임으로는 많이들 보셨듯, 공지사항이나 주식 시세와 같은 표시 등에서 많이 사용됩니다!어떤건지는 아래 실제 구현하면서 더 자세히 볼께요ㅎㅎUIKit에서는 UIView.animate를 활용해 Marquee 효과를 구현해볼 수 있죠.그런데 이번 포스팅은 SwiftUI에 초점이라 GeometryReader, Animation 등을 조합해 한번 Marquee 컴포넌트를 만들어볼까 합니다. 그럼 시작해볼까요?Marquee in SwiftUI코드부터 보시죠! struct Content..
-
DynamicTypeSize로 접근성 높이기 (feat. SwiftUI)SwiftUI 2025. 1. 24. 16:42
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI에서 DynamicTypeSize로 접근성을 높이는것에 대해 학습해보겠습니다 🙋🏻 우선 DynamicTypeSize이 뭔지 알아야겠죠? DynamicTypeSize로 접근성 높이기SwiftUI에서 제공하는 동적 텍스트 크기 조정 시스템이라고 볼 수 있어요.사용자의 접근성 설정에 따라 앱의 텍스트 크기를 자동으로 조절할 수 있게 해주죠. iOS 15.0 부터 사용이 가능하며, 정의는 아래와 같아요. enum DynamicTypeSize 열거 타입이며 케이스들로는 아래와 같이 type size와 accessibility type size로 구분할 수 있습니다. .xSmall // 가장 작은 크기.small // 작은 크기.m..