letswiftconf / newsletter

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

제43호(2021년 11월 14일 발행 예정) #46

Closed godrm closed 2 years ago

godrm commented 2 years ago

사파리 익스텐션을 만들었으니 앱도 시작할 수 있을 것 같습니다 ㅎㅎ

godrm commented 2 years ago

국내 iOS/Swift 개발환경 설문조사 결과 https://medium.com/@jungkim/%EA%B5%AD%EB%82%B4-ios-swift-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EC%84%A4%EB%AC%B8%EC%A1%B0%EC%82%AC-%EA%B2%B0%EA%B3%BC-a6ed63369e57

애플

Swift Distributed Actors를 소개합니다. Swift Concurrency에서 Actor 단위로 Worker를 지정할 수 있었는데, Actor를 멀티 프로세스와 RPC로 네트워크상으로 확대해서 Distributed 환경에서 동작하도록 흩어놓을 수 있습니다. 클러스터도 지원한다고 하니, 이론상으로 맥 여러 대를 클러스터링해서 슈퍼컴퓨터처럼(?) 만들 수 있겠네요.

https://www.swift.org/blog/distributed-actors/

App Privacy Report를 iOS 15.2 베타에서 사용할 수 있다고 합니다 https://developer.apple.com/news/?id=n5jlz7ox

SharePlay 기능을 공식적인 버전에서 사용할 수 있습니다. 이제 누가 아이폰 설정 도와달라고 하면 SharePlay로 하면 되겠더군요! https://developer.apple.com/news/?id=so6638jq

맥 앱도 테스트 플라이트로 최대 1만대까지 외부 테스터에 베타 배포가 가능합니다. https://developer.apple.com/news/?id=0bemba6j

연말 연휴 기간에도 앱 출시가 가능해졌습니다. iOS 개발팀의 평화로운 연말을 위해서 계속 쉬어줘도 되는데 말이죠 https://developer.apple.com/news/?id=y4fgrhhe

일반

반복하는 작업을 자동화해서 개발 효율 높이기 https://www.avanderlee.com/optimization/increasing-development-effectiveness/

장 루이 가세의 Apple M1 Pro & Max 놀람 https://mondaynote.com/apple-m1-pro-max-surprises-7b097788160b

Xcode vs Flutter https://medium.com/technology-hits/xcode-vs-flutter-b891213dd4dc

공개 편지 : Objective-C를 Rust로 대체하라! 댓글에 Rust 설계한 Graydon Hoare가 애플에서 스위프트 팀에 있다는 얘기가 있네요 :) https://blog.ironcorelabs.com/an-open-letter-to-apple-please-please-replace-objective-c-with-rust-10df606c3dce

iOS 15에서 개발자들에게 생기는 변화들 https://medium.com/@adi.mizrahi/ios-15-what-changed-for-developers-2435cece9ee2

아이패드에서 VSCode 사용하기 https://benenewton.medium.com/quickly-add-vscode-to-your-ipad-21b55d58b572

자바스크립트 개발자가 SwiftUI 앱을 만들수 있을까? https://blog.canellariccardo.it/can-a-javascript-developer-make-an-swiftui-app-d3f2487fba4c

언어 : Swift

Property Wrapper 자세하게 들여다보기 https://www.avanderlee.com/swift/property-wrappers/

enums 살펴보기 https://medium.com/@stanleytraub/enums-in-swift-an-overview-e5631157972e

탈출 - 비탈출 클로저 정리하기 https://ignatiojulian.medium.com/learn-closure-in-swift-escaping-vs-non-escaping-closure-6d6da42864aa

Task Groups 이해하기 https://betterprogramming.pub/understanding-swift-5-5-task-groups-f49fe7c5f873

Mirror로 구조체 프로퍼티 접근하기 https://medium.com/@karthikmitta/swifty-way-to-fetch-the-struct-properties-9d733bd0ca9b

스위프트 5.5에서 시간 훔치기. Calendar와 Date를 다루는 팁을 소개합니다. https://medium.com/geekculture/time-steering-in-swift-5-5-ae39fd9ccd09

RawReprensetable 마법 https://medium.com/practical-coding/the-magic-of-rawrepresentable-in-swift-e9641a561778

설계 구조 : 패턴

MVP-C 모듈화하기 https://brennobemoura.medium.com/mvp-c-ios-modularization-e38589e18353

스스로 해제가능한 코디네이터 패턴. 자식 코디네이터를 관리하지 않아도 된다! https://medium.com/vptech/coordinator-pattern-in-swift-without-child-coordinators-42d482d15975

SwiftCurrent 오픈소스로 다루는 MVVM https://medium.com/swiftcurrent/using-swiftcurrent-with-mvvm-part-1-7d8482ba830d

델리게이트 vs 노티피케이션 vs 옵져베이션 https://medium.com/@azeemireland/delegates-vs-notifications-vs-observations-in-ios-fa312e66c0ff

더 좋은 모듈 구조를 위한 6가지 원칙 https://betterprogramming.pub/6-principles-to-write-better-modules-for-your-ios-applications-3257c26e5df2

MVVM으로 확장가능한 앱 만들기 https://medium.com/@engenious.io/scalable-ios-architecture-using-mvvm-46aa90e8f047

뷰 프로그래밍 : SwiftUI

SwiftWasm 프로젝트를 활용해서 SwiftUI로 만든 앱을 모바일 웹 서비스로 배포한 경험을 공유합니다. 대단한(또는 무모한) 도전에 박수를 보냅니다! https://www.carsonkatri.com/articles/deploying-swiftui-on-the-web/

UIKit을 렌더링 콤포넌트로 활용하기 https://brennobemoura.medium.com/uikit-rendering-components-in-swiftui-7156cb34688a

여러 시트를 띄워야 하는 경우 @Enviroment 활용하기 https://ravibastolaa.medium.com/avoid-crashes-using-multiple-sheets-in-swift-ui-d4b44f7a3d2b

SafeAreaInset 활용하기 https://devtechie.medium.com/safeareainset-in-swiftui-3-and-ios-15-5f3a2e1d74f8

실서비스에서 SwiftUI 사용한 경험담 https://agiokas.medium.com/swiftui-in-production-47b31f60531f

SwiftUI 미리보기 기능을 내 일에 맞춰보자 https://betterprogramming.pub/making-swiftui-previews-work-for-you-6e54f46afbf

선언적으로 스네이크 게임 구현하기 https://betterprogramming.pub/build-a-swift-snake-game-using-declarative-domain-paradigm-7eb34a139017

ViewModel 프로토콜을 쓰고 있었다면 잘못됐다. https://betterprogramming.pub/swiftui-view-models-are-not-protocols-8c415c0325b1

고급 애니메이션 처리 https://lyvennithasasikumar.medium.com/advance-animation-in-swiftui-da82d0f5c78f

리스트에서 포커스 다루기 https://betterprogramming.pub/managing-focus-in-swiftui-list-views-286b139e6bca

로컬라이즈 퀵 가이드 https://tanaschita.medium.com/quick-guide-to-swiftui-localization-ec147979e897

JWT 인증으로 로그인 뷰 구현하기 https://medium.com/@kathrynbooth6/swiftui-building-a-login-view-with-json-web-token-authentication-jwt-d4096bc08121

ControlGroup 다루기 https://devtechie.medium.com/new-in-swiftui-3-controlgroup-1192b93c7385

수학 분수 표현을 표시하기 https://coderexmachina.medium.com/displaying-mathematical-fractions-in-swiftui-6a4dd625d842

내비게이션 합치기 https://betterprogramming.pub/composing-swiftui-navigation-3d67198b6acb

다이나믹 컬러 다루기 https://tanaschita.com/20211108-dynamic-colors-in-swiftui/

SwiftUI에서 EnviromentObject로 로그인/로그아웃 흐름 구현하기 https://paulallies.medium.com/login-logout-flow-swiftui-and-environmentobject-48ea084c5b6e

구글 Sign-In SDK 연동하기 https://paulallies.medium.com/google-sign-in-swiftui-2909e01ea4ed

뷰 프로그래밍 : UIKit

하단 시트 원하는데로 꾸미기 https://betterprogramming.pub/how-to-present-customizable-bottom-sheets-in-ios-15-e98e530208b2

UIView 바운더리 바깥의 터치 감지하기 https://medium.com/zendesk-engineering/ios-how-to-capture-touch-events-outside-uiview-bounds-bc7461970788

프레임워크

ARKit과 RealityKit으로 거리 측정하고 표시하기 https://medium.com/mutualmobile/6-feet-away-how-to-create-your-own-distance-visualizer-on-ios-bf14a8163547

Swift와 코코아 프로그래밍 스킬을 재충전할 시간. 10년 넘게 프레임워크가 발전하면서 달라진 부분들을 짚어주는 글이네요. https://erik-engheim.medium.com/refreshing-your-swift-and-cocoa-programming-skills-f80b041fd24a

Deprecated API 의미는 https://pspdfkit.com/blog/2021/what-is-a-deprecated-api-on-ios/

게임센터로 리더보드 추가하기 https://betterprogramming.pub/add-a-leaderboard-to-your-ios-app-d457697f4616

View 태그Tags는 제발 쓰지말자 https://stevenpcurtis.medium.com/please-do-not-use-view-tags-in-your-swift-project-fa7dd2bce3d8

StoreKit2 잘쓰기 https://betterprogramming.pub/play-around-with-storekit-2-in-ios-15-f10a8b822b97

Gojek 개발팀 기술 블로그에 올라온 Courier를 활용한 메시지 브로커 처리 내용입니다 https://medium.com/gojekengineering/courier-a-realtime-lightweight-messaging-highway-in-ios-with-mqtt-1dc7dffa951a

CloudKit 다루기 https://medium.com/codex/cloudkit-in-swift-90d489c6f3ca

언어별로 다른 폰트 사용하기 https://sarunw.com/posts/how-to-use-different-fonts-for-different-languages-in-ios-application/

Operation과 OperationQueue 소개하기 https://anuragajwani.medium.com/introduction-to-operation-and-operationqueues-in-ios-and-swift-3c32525c7c1e

개발환경

Xcode 리팩터링 5가지 팁 https://betterprogramming.pub/5-xcode-tricks-to-refactor-your-code-2b7a45e110da

OAuth2 인증 흐름 구현하기 - 깃헙 예시 https://medium.com/swlh/how-to-build-an-ios-app-with-oauth2-authentication-flow-github-example-part-1-ca4be718d5c4

Xcode12에서 iOS 15 디버깅하기 https://betterprogramming.pub/debugging-on-ios-15-with-xcode-12-8d3ca7487bd2

Xcode에서 스펠링 검사하기 https://medium.com/@i.vikas/spell-check-in-xcode-e61ac4e27023

앱스토어 바이너리 사이즈 줄이기 https://medium.com/life360-engineering/how-we-reduced-our-ios-appstore-binary-size-54a870b7a4ed

아이패드에서 Swift Playgrounds로 앱 만들 수 있는 Swift Playground Projects가 Xcode 13.2 베타에 추가됐습니다. https://skyaaron.com/posts/swiftpm-app-projects/

테스트

새로운 HTTP 인스트루먼트로 HTTP 트래픽 분석하기 https://medium.com/macoclock/analyze-http-traffic-with-new-http-instrument-d76e4f47f138

테스트 더블로 단위 테스트하기 https://medium.com/@misha.gajdan/unit-testing-in-ios-test-doubles-4be44163470d

스위프트UI 뷰 똑똑하게 테스트하기 https://betterprogramming.pub/how-to-test-swiftui-views-smartly-6c6b13f9edb1

TDD로 스위프트 UI 개발하기 https://betterprogramming.pub/how-to-write-swiftui-using-test-driven-development-ace8e2f6132b

iOS 앱 리버스 엔지니어링하기 https://betterprogramming.pub/how-to-reverse-engineer-an-ios-app-313a95950aff

도구/오픈소스

SwiftCurrent : UIKit과 SwiftUI 모두 지원하는 앱 화면처리 - 워크플로우 관리 라이브러리 https://medium.com/swiftcurrent/introducing-swiftcurrent-aec5d9eeb8cb

디자인

영감을 주는 앱 개발 #98 | #99 | #100 https://theymakedesign.com/app-development-inspiration-98-308d48df78af

https://theymakedesign.com/app-development-inspiration-99-327d165e5297

https://theymakedesign.com/app-development-inspiration-100-a7ca0ad50b0a

영감을 주는 앱 디자인 #29 | #30 | #31 https://theymakedesign.com/app-design-inspiration-29-13a3c1857613

https://theymakedesign.com/app-design-inspiration-30-3c4a4352e7e9

https://theymakedesign.com/app-design-inspiration-31-8061986206a5

godrm commented 2 years ago

제43호 발행했습니다. https://stib.ee/3TI4