letswiftconf / newsletter

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

제39호(2021년 9월 12일 발행) #42

Closed godrm closed 3 years ago

godrm commented 3 years ago

애플

복소수 계산을 처리할 수 있는 Swift Numerics v1.0 배포되었습니다. (그 사이에 v1.0.1까지 나왔어요) https://github.com/apple/swift-numerics

TestFlight v3.2 베타 버전부터 맥 앱 베타 배포가 가능해졌습니다. https://developer.apple.com/news/releases/?id=08242021a

루머

iOS15와 iPadOS15가 일부 기능이 빠진 상태로 시작될 것 같다는 루머입니다 https://medium.com/macoclock/apples-ios-and-ipados-15-will-launch-with-missing-features-56d9ddd1297d

아이폰 13 시리즈에 대한 루머입니다 https://medium.com/macoclock/iphone-13-series-in-a-nutshell-a3e7a138eac5

일반

CSAM : 사람들은 애플에게 어떤 부분을 걱정하는 지 정리해 주신 글입니다. https://kuronekolab.notion.site/CSAM-c8262b22e9034a4e9717e8873bc3aa17

<이미지> AppFigures 분석에 따르면 iOS 앱 스토어에 무료 앱중에 2.6%가 React Native로 만들어졌고, 구글 플레이 스토에는 무료 앱중에 4.4%가 RN 앱이라고 합니다. https://twitter.com/appfigures/status/1435768407350255619

브라우저 전쟁에서 오픈소스 WebKit에 대한 긴 글입니다. 철저한 애플의 통제하에 진행되는 웹킷이 여전히 리드하고 있는 분야도 있지만, 웹 브라우저 미래를 위해서 좋은 일인가 생각해보게 됩니다. https://infrequently.org/2021/08/webkit-ios-deep-dive/

iOS를 위한 플러터 개발 환경 https://medium.com/@madhukaudantha/flutter-development-for-ios-4b4e80ff5686

iOS 개발자라면 늘 고통받는 애플 인증서, 디바이스, 프로파일 관련된 간단한 설명입니다 https://medium.com/@deepakgargavi/ios-certificates-identifiers-devices-profiles-and-keys-5cd224266474

언어 : Swift

Swift5.5에 추가되고 macOS 12/iOS 15에만 들어가는 것으로 공유됐던 Concurrency관련 기능이 하위 버전에서 동작할 수 있도록 개선한 PR이 합쳐졌습니다. 플랫폼 버전으로 사용성 체크하던 부분이 SwiftStdlib 5.5와 하위 호환 빌드 옵션 조합으로 변경되었습니다. 그렇다고 해서 모든 운영체제 버전이 다 되는 것은 아니고 macOS 10.15, iOS 13, watchOS 6.0, tvOS 13.0 로 내려간 상태입니다. https://github.com/apple/swift/pull/39051

Actor 모델로 데이터 레이스 문제 해결하기 https://swiftsenpai.com/swift/actor-prevent-data-race/

Struct가 Class보다 항상 좋은가? https://medium.com/devgauge/using-structs-over-classes-in-swift-isnt-as-safe-as-you-think-it-is-a59794d10c31

AnyCodable 프로토콜 소개 https://karthikmk.medium.com/swift-anycodable-385717236b13

예외적인 에러 상황 다루기 https://mgabouarab.medium.com/validation-in-swift-handle-errors-and-unit-test-23963326fa34

Swift Concurrency 소개 https://medium.com/zendesk-engineering/swift-concurrency-an-introduction-47e3bbe5ec66

튜플 데이터 쪼개기 https://oconnelltoby.medium.com/tuple-splatting-in-swift-7ebe8bed3dad

탈출 클로저에 대해 https://gabth.medium.com/escaping-closures-in-swift-45261850ee49

@AppStorage Property Wrapper https://www.avanderlee.com/swift/appstorage-explained/

설계 구조 : 패턴

앱 구조를 확장하기 https://stevenpcurtis.medium.com/scaling-ios-mobile-software-development-1e108d525483

확장 가능한 모던 아키텍처 Part2 https://alejandro-filtercode.medium.com/scalable-modern-architecture-for-ios-projects-part-2-39dca31689d2 (지난 Part1은 여기 ) https://alejandro-filtercode.medium.com/scalable-modern-architecture-for-ios-projects-part-1-e3ef563cdf35

VIP 클린 설계 패턴 https://serrasaracoglu.medium.com/vip-clean-swift-design-pattern-swift-ios-6a9a40b70475

SOLID 원칙 적용하기 https://medium.com/@armanabkar/solid-design-principles-in-swift-de24e76356d4

스위프트 개발자에게 유즈 케이스란 무엇일까 https://stevenpcurtis.medium.com/what-are-use-cases-swift-developers-e823b2762d23

지난 뉴스레터에서 소개했던 SOLID 시리즈 중에 마지막 DIP 글입니다. 이 글 아래쪽에 이전 글도 포함되어 있습니다. https://rafaelasenciodeveloper.medium.com/v-dependency-inversion-principle-in-swift-71067a250bc3

의존성 주입하기 https://medium.com/@sayed.m.obaid/dependency-injection-in-ios-apps-using-swift-5-3e31e6adf06c

뷰 프로그래밍 : SwiftUI

iOS15에서 동적 리스트 생성하기 https://betterprogramming.pub/building-dynamic-lists-in-swiftui-for-ios-15-a2e470fb37cb

Buy me a coffee 기능을 앱에 넣는 방법 https://adityasaravana.medium.com/integrating-buy-me-a-coffee-into-your-ios-apps-with-swiftui-d56bcf2a11b6

Property Wrappers in SwiftUI https://ucargiray.medium.com/property-wrappers-in-swiftui-1-22448a902759

Canvas로 애니메이션 처리하기 https://swiftui-lab.com/swiftui-animations-part5

SwiftUI 크게, 작게 혹은 적당하게 https://chornbe.medium.com/your-swiftui-views-are-too-big-or-too-small-or-just-right-85b2221def16

내비게이션 다루기 https://medium.com/@misha.gajdan/how-to-handle-navigation-in-swiftui-6b04538ab7e

HTML을 NSAttributedString으로 바꾸기 https://medium.com/ruang-aldo/how-to-convert-html-to-nsattributedstring-in-swiftui-e47afc052d6

GameKit 활용하기 https://betterprogramming.pub/how-to-use-gamekit-in-swiftui-d8f5b9c2b3d6

스토리보드를 SwiftUI로 변환하기 https://medium.com/swiftify/storyboard-to-swiftui-c2a52c730617

페이지 컨트롤 만들기 https://levelup.gitconnected.com/build-a-page-control-using-swiftui-7e87c7be3028

Lists에 커스텀 뷰 넣기 https://betterprogramming.pub/customizing-views-inside-swiftui-lists-7b2cacdd9fd0

위치 추적 기능 구현하기 https://itnext.io/building-a-location-tracker-in-swift-aab99b6267db

왜 조건부 View Modifier가 나쁜 생각인가 https://www.objc.io/blog/2021/08/24/conditional-view-modifiers

모든 SwiftUI 환경값 Environment Value 설명 https://www.fivestars.blog/articles/swiftui-environment-values/

뷰 프로그래밍 : UIKit

UIKit 프로젝트에 SwiftUI 합쳐쓰기 https://medium.com/pepperfry-tech/swiftui-and-its-incorporation-in-uikit-project-63b1d031ed4d

UIImage 다룰 때 메모리 절약하기 https://swiftdevelopers.tech/reduce-memory-footprint-while-using-uiimage-33dbe9998aa1

코드로 화면 인터페이스 구현하기 https://brennobemoura.medium.com/implementing-ios-interfaces-in-viewcode-6f3f28329a17

ViewModel 방식으로 애니메이션 가능한 오토레이아웃 제약사항 다루기 https://betterprogramming.pub/how-to-animate-autolayout-constraints-in-mvvm-with-combine-c78519d73e3b

프레임워크

Async/Await 방식으로 이미지 로더 구현하기 https://www.donnywals.com/using-swifts-async-await-to-build-an-image-loader/

웹 소켓을 위한 facebook SocketRocket https://medium.com/@adi.mizrahi/swift-websockets-socket-rocket-fdc9e19f6d3

Async/Await 방식으로 안정적인 네트워크 계층 구현하기 https://betterprogramming.pub/the-problem-with-how-youre-doing-your-networking-in-ios-6ec7ed43a4e

URLCache로 이미지 캐싱하기 https://levelup.gitconnected.com/image-caching-with-urlcache-4eca5afb543a

개발환경

Xcode13에서 새로워진 기능들 특히 Refactor 메뉴에서 Convert Function to Async 기능이 눈에 띄네요 https://medium.com/@dheerajneelam/whats-new-in-xcode-13-a48d5158f98

Xcode13에 추가된 Column BreakPoint 기능 - 이거 좋네요! https://karthikmk.medium.com/xcode-column-breakpoint-f443ba657289

iOS 프레임워크 생성하기 https://vijaysn02.medium.com/creating-and-integrating-ios-framework-8b30d8a972e3

최소 지원 iOS 버전 고르기 https://www.avanderlee.com/workflow/minimum-ios-version

SPM으로 프로젝트 구조 모듈화하기 https://santoshbotre01.medium.com/modular-project-structure-with-swift-package-manager-spm-c81fb62c8619

SPM으로 SwiftUI 앱/도구 다루기 - SPM에서 @main를 지원해서 Xcode 없이도(?) 앱을 배포할 수 있습니다. http://www.alwaysrightinstitute.com/tows/

류성두님 접근성 관련 발표 영상 https://youtu.be/tnLW_NizFHQ

테스트

XCTests는 뭐고, 왜 써야하는가 https://medium.com/@straightgafflabs/xctests-what-are-they-and-why-should-i-use-them-16906588be2c

네트워크 계층 속성을 테스트하기 https://betterprogramming.pub/how-to-leverage-encapsulation-to-test-the-ios-network-layer-properly-7d09537dbc52

앱 모듈화하기 https://brennobemoura.medium.com/modularizing-ios-apps-17cae8696da1

도구/오픈소스

제가 작년에 만들었던 Swan이란 오픈소스 프로젝트가 있었는데, 비슷한 것을 만드는 팀이 있네요. 오픈소스는 아니고 아직은 무료도구네요. https://swiftalyzer.com

디버깅할 때 조금더 읽기 편한 데이터를 출력하기 위해서 포인트프리에서 만든 Custom Dump 오픈소스 https://www.pointfree.co/blog/posts/62-open-sourcing-custom-dump

SwifUI 오픈소스 라이브러리 중에 5가지 https://betterprogramming.pub/the-top-5-trending-ios-libraries-in-february-2021-43511141d046

디자인

스케치 앱에서 에셋 카탈로그로 앱 아이콘 옮기기 https://www.ralfebert.de/ios/appicon-sketch-to-xcode-asset-catalog/

영감을 주는 앱 개발 #91 https://theymakedesign.com/app-development-inspiration-91-339f11407e59

https://theymakedesign.com/app-development-inspiration-90-28f60db95e0d

https://theymakedesign.com/app-development-inspiration-89-6bdc53edf589

영감을 주는 앱 디자인 #22 https://theymakedesign.com/app-design-inspiration-22-7a5682466b7d

https://theymakedesign.com/app-design-inspiration-21-484e0c816469

godrm commented 3 years ago

39호 발행했습니다. https://stib.ee/h8z3