letswiftconf / newsletter

레츠스위프트 뉴스레터 아카이브
MIT License
448 stars 10 forks source link

제93호 (2023년 12월 24일 발행 예정) #105

Closed godrm closed 6 months ago

godrm commented 6 months ago

애플

앱 스토어 리뷰가 느려지는 겨울 휴가를 시작했네요. 연말에는 리뷰 올리지 말고 iOS 개발자라면 다들 쉬어야 하는거 아닐까요 ㅎㅎ

하드웨어

> M3 가 빨리 나온게 M2 계열 맥 판매가 기대이하라서 아닐까 추측하는 글입니다. M3는 상황이 나아졌을까요? 애플의 적은 애플이다. 라는 문장으로 설명이 끝난 것 같네요. 아이폰은 카메라 기능이 매번 조금씩 달라지지만 맥북은 그정도는 아니니까요 Apple’s Biggest CHALLENGE With the M3 Chips | by Michael Swengel

개발 문화

> 💎 iOS 나 Swift 개발 이야기는 아니지만 앱 개발자들도 토론해볼 만한 주제 같습니다. 짧은 개발 주기와 개발자의 생산성, 테스트 코드로 대변되는 코드 품질까지도 어느 하나만 강조할 수 없는 기준들이죠. 우리는 어떤 가치를 지켜야할까 질문을 던져봅니다 잦은 기획의 변경은 무조건 용인되어야 하나? | by Seunghoon Lee

> 💎 불름버그 내부 소식통(?)에 의하면 새로운 OS 작업을 보류하고 버그 수정과 내부 품질 개선에 시간을 쏟는다고 합니다. 제 기억으로는 18년도쯤에도 비슷한 분위기가 있었는데요, 판데믹 이후로 문제가 더 심해진 게 아닌가 의심을 받는 상황이네요. Apple Forced to Pause iOS 18 Development Due to Shocking Amount of Bugs | by The Afronomist

> 소소하지만 iOS 17 기능 중에서 새로운 기능 몇 가지를 소개합니다. 전화 끊기 기능은 공감이 확~ 되더라구요 8 Hidden Things You Didn’t Know Your iPhone Can Do in iOS 17 | by The Useful Tech

> 크로스 플랫폼 기반으로 데스크톱 앱 개발에 대한 비교 자료입니다. 크로스 플랫폼들이 매우 쓸모가 많아졌음에도 불구하고 여전히 모든 기술이 모든 곳에 다 적합하기는 어려운 것 같아요 Comparing Desktop Application Development Frameworks | by Wassim

> 구글 엔지니어는 이렇게 일한다. 책에도 나오는 내용이고, 꽤나 긴 글입니다만 구글에서는 어떻게 코드리뷰를 진행하는 지 설명해주는 글입니다 Google’s Code Review Process | Medium

> 안드로이드 진영과 단일 브랜드 회사 애플을 직접 비교하기는 어렵지만, 애플 스토어는 꽤 큰 차이가 있는 것 같습니다. 그렇지만 모든 사람이 애플 방식, 애플 기술, 애플 제품을 좋아하는 건 아니죠 The Apple products that Android has no answer for | by Lewis J Doyle

> 꽤 신경써서 분류한 상세한 앱 분석 글이네요. 이 분 매달 작성하고 있어서 이전 달도 살펴보시면 좋겠네요 Top 10 Unique Apps — December 2023 | by Clark

> 90년대 맥 시스템 7에서 간단한 앱을 만드는 과정을 설명하는 글입니다. Think C로 코딩하고 ResEdit로 화면을 만드는 과정을 설명합니다. 마지막으로는 MacTCP로 Finger 프로토콜을 구현한 예제까지 보여주네요 ㅎㅎ 저도 가끔 사무실에 있는 G3 iMac에서 비슷한 짓을 해서 웃어봤습니다 Vintage Programming On Macintosh System 7.5 With Think C & ResEdit | by Jan Kammerath

> 각자에게 추억의 게임, 레트로 게임기가 있으신가요? 예전 패키지 게임은 기계와 타이틀만 소장하고 있으면 지나도 다시 할 수 있는 반면에 온라인 게임 이후로는 계속하고 싶어도 못하는 게임들이 많아졌다는 푸념을 들어본 적 있습니다. 아이폰 앱 스토어 시장에서 게임 (또는 앱)은 어떤 생명력을 가지고 있을까요? iOS as a Legitimate Gaming Platform | by Carl St. James

> 소노마 14.2에 포함된 새로운 기능들을 소개합니다. 그나저나 드디어 맥에도 샤잠이 들어갔군요! macOS Sonoma 14.2 Released — 14 New Features You NEED To Know! | by Nikhil Vemu

> watchOS 10.2 Released! — 4 New Features to Try Out | by Nikhil Vemu

설계 구조 : 패턴

> TCA를 선택한 배경을 솔직하게 설명해주고 있습니다. TCA가 모든 것을 해결해주지는 않으니까 팀이 받아들이기 위해서 노력했다는 부분이 인상적입니다 Why I chose The Composable Architecture for SwiftUI and never looked back | by Francisco Gindre

언어 : 스위프트

> 대부분 strong 대신에 weak를 써야 하는 이유는 널리 알려져 있습니다. 반면에 unowned를 써야 하는 경우는 많지 않죠. 습관적으로 weak나 unowned를 사용하고 계시다면 도움이 될 만한 글입니다. weak는 사이드 테이블에 기록했다가 nil-zeroing 이라고 부르는 방식으로 weak 참조를 nil로 바꿔주는 과정을 거칩니다. 이런 동작이 참조가 빈번한 경우는 unowned도 고려해볼 만 하죠. The Case Against [unowned self] | by Jacob Bartlett

> 이전에도 한 번 소개한 적이 있는데 Objective-C 런타입 문법 대신 스위프트 문법으로 스위즐링 구현하는 방법입니다 A modern approach to Swift method swizzling | by Tuan Hoang

> 이렇게 까지 해서 미래의 기능을 땡겨(?)써야 하나 싶기는 합니다. SPM에서 미래에 나올 컴파일러 기능을 활성화하는 방식입니다 Enable upcoming Swift features in SPM

> 다른 언어와 비교해서 스위프트 제너릭 문법을 설명해주게 좋네요 The Beauty of Swift Language - Generics | by Tim Wang

> KeyPath를 적당히 활용할 수 있는 여러 경우를 알려줍니다 KeyPath: one hidden gem in Swift | by Tim Wang

> Sequential and Simultaneous Ops With Async Await | by Alessandro Manilii

> SwiftData Deleting Data

> Trigger property observers from initializers in Swift

SwiftUI

> 해외에는 이런 식으로 특정한 분야 앱을 어느정도 만들어서 판매하는 모델이 있습니다. 처음 시작하기 막막한 경우는 도움이 될 수 있지만, 대신 코드 품질이나 세밀한 디자인까지는 기대하지 않으셔야 합니다 10 Best SwiftUI Templates to Elevate Your iOS App development | by code.market

> 아이스큐브라는 mastodon 앱에 OpenAI API로 이미지를 생성하는 기능을 추가한 과정을 설명합니다 Adding AI-generated image description to Ice Cubes | by Thomas Ricouard

> 커스텀으로 프로그래스뷰를 만드는 과정이네요 Custom ProgressView in SwiftUI | by M.Abbas

> State와 Binding, Environment 그리고 거의 동일한 버전의 Object를 다루는 프로퍼티 래퍼에 대한 요약 정리 글입니다. 주요한 쓰임새와 중간에 참조로 다른 글들을 링크로 걸어준 것도 깔끔하네요 Exploring Key Property Wrappers in SwiftUI | fatbobman

> 스유와 안드로이드 젯팩 컴포즈를 하나씩 비교해주는 글이라서 흥미롭게 읽었습니다 SwiftUI VS Jetpack Compose | by Can Akyıldız

> SwiftUI가 나오고 나서 애플이 제시한 이런저런 프로퍼티 래퍼를 사용하는 방식 때문에 더 혼란을 주는 게 아닌가 싶기는 합니다. 상태 관리의 모든 것이 정해지지 않아서 너무 황무지 같은 느낌입니다 ㅎㅎ SwiftUI View Models: Lifecycle Quirks | by Luis Recuenco

> Decoupled stacked sheet navigation with multiple modals in SwiftUI | Martin

> Mastering MapKit in SwiftUI. Customizations. | Swift with Majid

> Mastering UI Design with SwiftUI | by Rashad Shirizada

> iOS 17: Unveiling SwiftUI ScrollView Modifiers | by Kamal Bhardwaj

UIKit

AppKit

> Transferable 프로토콜을 이용해서 맥용 앱에 드래그 앤 드롭을 구현하면 동작하지 않는 경우가 있다는 내용이네요. 새로운 기능이 생기면 맥에서는 은근 문제가 있는 것 같아요 Transferable drag & drop with only a FileRepresentation not working on macOS | Nonstrict

비전프로

프레임워크 활용

> 💎 로그인 화면부터 시작해서 서버 JS 코드까지 보여주고 URLSession 으로 차근차근 JWT 인증을 받는 흐름을 설명해줍니다 The Complete Guide to JSON Web Tokens (JWT) Authentication in iOS | by Mohammad Azam

> 솔직히 읽고나서도 이 글은 분류하기 애매했습니다. 백엔드가 내려주는 UI 데이터를 어떻게 해서 UI 컴포넌트와 연결할 지 여러 가지 방법을 알려줍니다. Backend-Driven UI on Native iOS apps | by Andrea Scuderi

> iCoud 기반 문서를 다룰 때 설정 흐름과 파일 다루는 방식을 설명합니다 In-Depth Guide to iCloud Documents | fatbobman

> 앱 스토어에 따로 보관하는 On-demand Resources 기능을 써보도록 배포해 보셨나요? 초기 다운로드하는 앱 용량을 줄일 수 있고 리소스가 많아서 번들 관리가 복잡한 경우나 단계별로 리소스를 다운받아야 하는 경우에 적합한 방법입니다. On-Demand Resources in iOS | by Anup Kumar Sahu

서버사이드

접근성

개발 환경

> 애플 노트 앱 내용을 DB로 옮기는 파이썬 스크립트와 애플 스크립트 설명입니다 Export Apple Notes to a PostgreSQL Database with Python and AppleScript | by Jacob Ferus

> 윈도우즈 환경에서도 스위프트 컴파일러로 컴파일하고 실행해 볼 수 있는 개발 환경을 만드는 분이 있네요. 물론 VSCode보다 기능이 부족하고 디버깅도 안되고 스위프트 코드만 동작하는 것 같습니다 Plain Swift - a simple Swift IDE for Windows

> dSym 파일로 크래시 로그를 다시 심볼화해서 보는 과정을 설명해줍니다 Symbolicate crash logs with Xcode - SwiftLee

> 최근 몇 년 사이에 앱 스토어에 추가된 기능 중에서 잘 모르고 지나치는 것들 중에 캠페인 채널 별로 앱 스토어에 접근하는 데이터를 수집하도록 도와주는 캠페인 링크 기능에 대한 설명입니다 Using campaign links to track impressions, downloads, and sales

테스트

> URLProtocol을 사용해서 URL 테스트하고 계신가요? 이름이 프로토콜이지만 추상 클래스라는 게 볼 때마다 놀라운 타입이지만 매우 쓸모있는 기능입니다 Testing network calls using URLProtocol

오픈소스/도구

> macOS에 있는 여러 프로세스 사이에서 Notification을 보낼 수 있는 것처럼 iOS용 DarwinNotificationCenter를 만들었네요. 별도 프로세스로 실행되는 익스텐션에서 앱에 노티를 보낼 수 있습니다. Using Darwin Notifications to communicate with App Extensions | Nonstrict

디자인

> 💎 폰트 디자이너가 프로그래밍용 모노스페이스 폰트를 만드는 과정을 설명한 조금 특이한 글을 가져와봤습니다. 타이포그래피 스토리도 재밌더라구요! Astigmata : My Monospace Programming Font | by Jason Knight

> 이런 디자인들을 볼 때마다 막 개발 욕구가 생기기는 하네요. 새해에는 온라인으로 모여서 모각코로 만들어보는 도전꺼리로 진행해봐도 좋겠다 싶네요. Flat and Illustrative Mobile Application Design Works | TMDesign

> Bold and Interactive User Experience Designs | TMDesign

> Clear and Tech-savvy Mobile UI/UX Design Examples | TMDesign

> Design tool canvas handles

> Seamless and Smooth Mobile App Design Examples | TMDesign

godrm commented 6 months ago

제93호 발행했습니다 https://stib.ee/9xOA