iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제104호 2024년 6월 11일
풍성한 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. WWDC 2024가 시작한 화요일 아침입니다만 지난 일요일에 나갔어야 하는 뉴스레터를 이제야 보냅니다. WWDC 소식을 맛보기로 함께하고 싶었거든요 😍 
저는 현장에 가지는 못했지만 참석한 분들께 부탁해서 따끈따끈한 사진을 몇 장 구했습니다. 애플 파크에서 사진 보내주신 참가자 분들 감사합니다.
다들 키노트 보셨나요? 올해 작지만 막강한 기능 업데이트가 많은 해가 될 것 같습니다. WWDC 영상도 보고 자료도 보고 베타도 써보고 시리도 만나보고 나서 이번주 일요일에 다시 돌아오겠습니다. 다음호가 나가기 전에 호외로 WWDC 소식만 모아둔 뉴스레터를 준비해보겠습니다.
매월 둘째, 넷째주 일요일에 뉴스레터를 발행하고 있습니다. 
누구나 함께하는 뉴스레터 저장소 👉 만약 링크가 깨지는 경우는 저장소 이슈에서 확인하실 수 있습니다.
메일링 리스트 가입은 >가입하기 링크< 주변에 소개해주세요 🤩

개발자 생태계 설문조사 참여해주세요 🙏
3년마다 개발자 생태계가 어떻게 변화하고 있는지 조사하고 있습니다. 딱 질문 12개 뿐입니다. 그렇지만 우리가 어떤 환경에서 누구랑 어떻게 살아가는지 살펴보고 싶습니다. 아직 응답수가 부족합니다. 3년전 통계 모수 300명을 넘기고 싶습니다. 설문 참여해주시고 공유도 부탁드립니다 :) 
주제/분류별 소식들
국/해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다.
# 애플

> 애플 디자인 어워드 수상작이 공개됐습니다. P의 거짓이 수상작에 포함된 게 눈에 띄네요 2024 winners and finalists - Apple Design Awards - Apple Developer

# 하드웨어

> 루머에 의하면 올해 말부터 내년초에 M4 칩을 탑재한 맥북들이 쏟아져 나올꺼라고 하네요. 팀장님 저 내년에 장비 바꿀 수 있나요!? 2025 Mac Release Schedule Revealed | by The Afronomist

> 제 주변에서 100킬로 200킬로 달리기를 하시는 분들이 몇 분 계신데요. 그 분들은 더더더 오래가는 애플 워치 울트라를 기대하시더군요. 잠잘 때 추적하려면 울트라2가 더 좋을려나요 Apple Watch Ultra 2: A Runner’s Perspective after 3-Months | by Aditya Darekar

> 신형 아이패드 프로를 사는게 틀림없이 좋은 방법이라며 한국 출시를 반기는 글이네요 ㅎㅎ M4 iPad Pro: you’re wrong. | by Lewis J Doyle

> 에어팟 맥스를 사용하면서 알게 된 12가지 사항들을 소개합니다. 이미 아는 부분도 있고 또 모르는 부분도 있고 그렇습니다 I Called AirPods Max Bullsh*t. Then I learnt These 12 Things. | by Nikhil Vemu


# 일반

> 특히 올해 iOS 18에 기대가 큰 모양입니다. AI를 Apple Intelligence라고 부를꺼라는 루머도 있습니다 10 Exciting AI Features Reportedly Coming To iOS 18 | by The Useful Tech

> 올해 구글 I/O에서 KMP 코틀린 멀티 플랫폼과 CMP 콤포즈 멀티 플랫폼으로 iOS 앱을 만들 수 있다고 하죠. Apps using Compose iOS (beta!) in 2024 — developer insights | Medium

> 제가 C 언어를 배울 때만 때문해도 단위 테스트 라이브러리는 몰랐었습니다. C 언어 테스트 코드가 신기해서(?) 가져왔습니다 Automated testing in C — Part II | by Luís Soares

> 폴 허드슨이 생성하고 여러 개발자들이 모아둔 WWDC 커뮤니티 모임과 행사 관련 저장소입니다. 다양한 밋업과 모임이 있으니 관심을 가져볼 만 한 것 같습니다 GitHub - twostraws/wwdc: WWDC Community: Learning and sharing together

> 애플 노트와 Drafts 앱을 쓰다가 마크다운 편집이 가능한 ProNotes 앱으로 넘어간 경험을 소개합니다 How To Use Markdown in Apple Notes | by Julian Cosky

> 웹 어셈블리가 단지 웹 브라우저의 속도 문제를 해결하기 위한 도구라고 생각했다가, 여러 운영체제나 브라우저에서도 동일한 코드를 실행할 수 있도록 도와주는 상호 운용성을 높이는 도구로써 더 훌륭하다고 말합니다 Maybe WebAssembly Isn’t That Stupid Of An Idea After All | by Andrew Zuo

> 플러터로 5년동안 개발한 개발자가 어떤 경우에는 네이티브 개발을 선택할 것인지 3가지 예시를 들어 설명합니다 Native app development is dead | by Thomas Middel

> visionOS 관련 글인가 싶었는데, 기술 중심으로 자본주의 넘어서자는 꽤나 정치적인 글 같습니다. Panes et Circenses et Apple Vision Pro | by Flavio Masson

> 슬랙과 줌으로만 일하려고 하기 때문에 리모트 근무가 흔들리고 있다고 주장합니다. 이미 많은 회사들이 다시 오프라인 풀타임 출근으로 바뀌고 있죠. 불과 몇 년만에 변화가 무척 많은 것 같습니다 Remote work is faltering —Slack and Zoom might be to blame. | by Sean Dexter

> 클린 코드의 유행이 어디까지 갈까 중요한 게 아니고, 팀 내부에서 기술적인 논의와 함께 코드 작성후 리팩토링 실천할 수 있는 권장합니다 Should I Train for Writing Clean Code? | by Nikolay Nikolov

> 십수년전 WWDC 이벤트 혹은 그 내용에 어떤 기술이 포함되어 있었는지 알아맞추는 퀴즈 사이트입니다 ㅎㅎ W.W.D.C. 2024: The Pregame Quiz | Swiftjective-C

> WWDC 스칼라십 혹은 장학생 명단 사이트네요. 저는 10년만 젊었어도 힘들었겠죠 ㅜㅜ Welcome to WWDCScholars

> REST API와 구조에 대한 거의 모든 것을 설명하는 것 같네요 Well-designed REST APIs in OutSystems | by Remco Dekkinga

> 기본 앱 만으로도 생산성을 높이기 쉬운 데 왜 안 알려주냐면서 정리한 글이네요 Why Can’t Apple Teach its Productivity Apps to Share Nicely | by Jbkendrick

> 맥 캠페인 배우도 나올 정도던데 과연 애플이 윈도우즈 11을 따라잡기 위해서 macOS를 진지하게 발전시키고 있냐. 무엇이 필요한가에 대해 설명합니다 macOS Seriously Needs To Catch Up With Windows 11 | by The Useful Tech


# 인공지능

> 💎 특정 기능을 작성해달라고 하기 보다는 JSON 데이터를 처리하는 구조체 만들기, 코드를 테스트하는 코드 만들기처럼 좀 더 구체적인 사례로 활용하는 방식을 설명합니다 ChatGPT for Swift: Top 5 code generation prompts

> 이번 WWDC에서 애플은 어떤 인공지능 모델을 공개할 지 궁금해하고 있습니다. 이제 몇 시간 남지 않았네요 Apple’s large model MM1 is entering the market | by Yaokun Lin

> 인공지능이 인간을 완벽하게 대체하지 않더라도 여러 분야에서 생산성을 높이고, 더 많은 분야에서 인간과 협력하면서 혁신을 이끌 것이라고 전망합니다. AI 혁명이 끝난 것이냐는 담론에 이제 제대로 된 시작이라고 말할 수 있는 것 같습니다. 특히 애플은 더 늦은 것 같지만요 Has the AI Revolution Crashed? | by Erik Engheim

> 이렇게 GPT한테 물어보고 그대로 작업하는 분들이 많아지는 것 같습니다. 혼자서 학습하고 계신 앤소니 할아버지가 자신의 프로젝트 개선 경험을 공유한 글입니다. How ChatGPT Nailed an Xcode Project Creation | by Anthony


# 스위프트

> 💎 소숫점이나 실수를 포함하기 위해서 숫자 타입들을 사용할 경우 생길 수 있는 문제들을 이야기합니다. 2의 배수를 고려하지 않으면 꽤나 자주 실수하는 부분들이죠 Don't Double my money: on Swift Numeric types | VaraniOS

> 드디어 오랜 Swift 5.x 를 끝내고 Swift 6와 함께 또 다른 변화가 생길 것 같습니다. 스위프트 라이브러리들도 같이 버전이 올라가야 하는 타이밍인데 과연 어떨려나요 Anticipated Updates to Swift and Libraries at WWDC 2024 | by Emin Emini

> 스위프트 6 시대가 얼마남지 않았습니다. 그 중에서도 당연하게 포함될 기능들 중에서 Concurrency 관련 actor를 분리(isolated)하는 방식에 대한 문제 제기가 있습니다. 어떻게 반영될 지 궁금하네요 Concurrency in Swift 6: SE-0401 | massicotte.org


# 설계 구조 : 패턴

> DSL과 선언적 표현으로 동작하는 선언적인 API를 설계하고 구현하는 방식을 설명합니다. Mobile System Design - Designing a Declarative API

> 그나마 구조에 대한 설명이 깔끔한 편입니다. 소스 코드도 구조에 맞춰서만 작성한 것은 아니라서 좋습니다 The Clean Architecture with MVVM in the iOS SwiftUI Project | by Sajib Ghosh


# 뷰 프로그래밍 : SwiftUI

> 💎 좀 더 낮은 수준에서 뷰 동작 방식이나 장점을 비교하는 글입니다. SwiftUI가 iOS에서는 UIKit을 빌려쓰는 기능이 꽤 있다보니 모든 경우에서 SwiftUI가 좋다고 하기는 어렵습니다. SwiftUI vs UIKit: Under the Hood | by Andas Salgara

> ButtonStyle 대신에 Text를 포함할 수 있도록 커스텀 스타일을 만들어보라고 제안합니다 Bad practice: not using a ButtonStyle — Swift with Vincent

> SwiftUI의 변천사를 설명해주는 글입니다. 과연 올해에는 어떤 변화가 기다리고 있을까요 Before WWDC 2024: Reviewing Key SwiftUI Upgrades | ITNEXT

> SwiftUI도 뷰 계층이기 때문에 값이 바뀔 때 다시 그려져야 할 지 고민해서 State로 해야할 지 판단해야 하겠죠 Do NOT init State externally in SwiftUI | @samwize

> FizzBuzz 문제를 DDC 도메인 선언적 코딩 방식으로 구현하는 과정을 설명합니다. 일상적인 영어 문법에 가깝게 도메인을 표현하기 위해 DSL로 접근하는 점이 흥미롭네요. 과연 저렇게까지 해야하나 논란이나 관심도 필요할 것 같습니다 Domain Declarative Coding in Swift | by Manuel Meyer

> MapKit 사용에 대한 꽤 상세한 설명입니다 MapKit in SwiftUI: Getting Started | by AsyncLearn

> 이제야 본격적으로 써볼 수 있으려나요. Observation 프레임워크와 매크로 방식에 대해 설명합니다 Observation Framework for SwiftUI | Simform Engineering

> 무한 스크롤로 슬라이드쇼 혹은 이미지 캐러셀 동작하도록 구현하는 쉬운 방법을 소개합니다 SwiftUI: Infinite Scrolling Slideshow/Image Carousel (The Easy Way!) | by Itsuki

> How to build segmented circular progress views in SwiftUI with Swift Charts

> Routing and Deeplink with NavigationStack | by Safwen Debbichi

> macOS: Terminating the App the SwiftUI way | by Mark van Wijnen

# 프레임워크

> 이미지를 다룰 때 좀 더 낮은 수준에서 다루도록 도와주는 코어 이미지에 대한 기본적인 설명입니다. Core Image: The Basics | by Jacob Bartlett

> Xcode 얘기보다는 저수준에서 빠르게 네트워크를 처리하도록 설정하고 다루는 방법들을 설명합니다 Xcode, Swift: A Guide to High-Performance Networking | by Yeskendir Salgara

> Swift Concepts: Uniform Type Identifiers | by Yeskendir Salgara

> Tricking iOS Into Animating App Icons - Bryce Bostwick


# 맥 개발/AppKit

> 맥용 앱을 만들 때 Scene 관점에서 필요한 여러 타입이 존재합니다. Scenes types in a SwiftUI Mac app

# VisionOS

> visionOS를 위한 게임 디자인에 대한 글입니다. 비전에는 어떤 장르의 게임이 어울릴까요? 공간 컴퓨팅을 위해서 어떤 기획과 디자인으로 접근해야 할까요. 얼마전에 나온 what-if 처럼 새로운 시도가 생겨나고 있는 것 같습니다 Embracing Spatial Computing: Game Design in visionOS

> 비전 앱에서 입체 형태 Scene 앱에서 RealityKit으로 3D 객체를 표시하는 과정을 설명합니다. 애플은 비전 앱은 공간을 이해하도록 만들라고 말합니다. 모든 앱이 RealityKit과 RealityView로 만들 필요는 없겠지만 더 현실적인 앱을 만들려면 시도해보면 좋겠습니다 Introduction to RealityView

# 개발 환경

> 💎 애플에서 공개하지 않은 감춰진 API들에 대해서 공개하는 비공식 개발 문서입니다. 이 문서는 존재하지 않지만 존재합니다 ㅎㅎ NotPrivateAPIs | Documentation

> 다양한 CLI 명령들을 소개합니다. 시각화가 잘 되어 있는 앱들이 많네요 Command Line Tools I use on a Mac | by Brian Schlining

> MITM 가운데서 가로채는 mitmproxy 도구로 https로 감춰진 API를 디버깅하는 방식을 설명합니다. How to Use MITM Proxy for Debugging API Calls on macOS | by Abhimuralidharan

> 안드로이드 리소스 관리 스타일 R처럼 동작하도록 하기 위한 여러 가지 팁을 제공합니다. R.Swift is slightly better than SwiftGen for iOS resources generation | by Christopher Saez

> SPM 소개부터 직접 패키지를 만들어서 관리하는 방법까지 설명합니다 Swift Package Manager framework creation in Xcode - SwiftLee

> APNS을 보내고 받기 위해서, 받고 나서 처리하기 위한 방식들을 설명합니다 Your Complete Guide to Push Notifications in SwiftUI | by Chase

> How to get the most out of Xcode Previews

# 도구/오픈소스 

> 별도 스레드에서 동작하는 Service를 안전하게 다루기 위한 라이프사이클 관리용 오픈소스 Swift Service Lifecycle를 소개합니다. Introduction to Swift Service Lifecycle - Swift on Server


# 디자인 

> 디자이너들이 특정 요소를 눈에 띄게 하기 위해서 대비 색을 사용하거나 모양, 글꼴을 바꾸기도 하지만 그 변화가 지나치면 사용자들은 광고처럼 인식하고 무시하게 된다는 내용의 글입니다 LukeW | Different Gets Ignored

> Authentic and Fresh Mobile App Design Ideas | TMDesign

> Clear and Simple Dashboard Design Ideas | TMDesign

> Consistent and Custom Mobile Application Design Ideas | TMDesign

> Experimental and Immersive Dashboard UI Designs | TMDesign

📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? 
news@letswift.kr 로 언제든지 문의해주세요. 
레츠스위프트 뉴스레터
http://letswift.kr
수신거부 Unsubscribe