iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제16호 2020년 9월 27일

 님을 위한 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. 일요일 뉴스레터와 함께해요 👨‍👧‍👦
9월 15일 애플 이벤트 이후 개발 관련 소식들을 합쳐서 전해드립니다. iOS 14 정식 버전부터 watchOS, tvOS 등이 업데이트됐습니다. 아직 macOS는 베타가 진행중입니다. Xcode 12는 아직 이런저런 이슈가 있던데 얼른 안정화되길 기대해봅니다. 

레츠스위프트 뉴스레터를 시작한지 벌써 6개월이 지났네요. 아직 아이폰 출시는 안됐지만, 애플 가을 이벤트도 끝났으니 레츠스위프트 온라인 밋업이라도 추진해볼까 합니다. 온라인 행사를 주도적으로 참가해서 진행해보고 싶으신 분들은 10월 9일까지 답장주세요 🙋

앞으로는 매월 둘째, 넷째주 일요일에 뉴스레터를 발행할 예정입니다. 
누구나 함께하는 뉴스레터 저장소 👉
메일링 리스트 가입은 가입하기 링크 주변에 소개해주세요 🤩
⌘ 애플 소식

9월 15일 애플 이벤트를 다들 라이브로 보셨나요? WWDC처럼 녹화된 영상을 라이브로 보여줬는데, 한글 자막이 나와서 깜짝 놀랐습니다. 한글화가 더욱 강화될 것 같은 느낌이네요. 이벤트에서는 주로 워치 시리즈6와 아이패드 새로운 모델을 공개했습니다. 특히 아이패드 프로와 같은 폼팩터로 나온 아이패드 에어는 A14 Bionic가 들어가면서 프로보다 월등한 성능을 보여줄 것 같습니다. 색상도 다양하니 프로가 부담스러웠던 분들께 좋은 선택이 될 것 같습니다. 하필 집에서 아이들이 쓰던 아이패드 액정이 깨진 것은 우연의 일치겠죠? 
워치 SE는 새로운 키즈폰이 될까 싶었는데, 셀룰러 모델이더라도 폰이 없으면 제약 사항이 꽤 있더군요. 여러 가지 루머가 있었지만, 아쉽게도 두 시간을 꽉 채울 것으로 예상했던 가을 이벤트가 한 시간 남짓에서 끝나고 원모어띵이 없었습니다. 
🇰🇷 국내 소식들
단골 손님 민소네님 새로운 글입니다. 이제 스위프트 패키지에 리소스를 넣어서 배포할 수 있습니다. 뷰와 관련된 리소스를 한꺼번에 번들링이 가능해진거죠. 카르타고가 업데이트가 안되고 있다는 소식이 있었는데 SPM으로 대동단결할 수 있을지 기대가 됩니다.

[매스프레소 기술블로그] VIPER 구조와 함께 RIBs 아키텍처에 대한 시리즈 글을 올려주셨습니다. 기술 블로그 글을 작성하고 직접 메일로 알려주시기도 했는데요, 앞으로도 회사 기술블로그 소개가 필요한 분들은 언제든지 메일을 보내주세요 :) 채용도 잘 이뤄지길 소망합니다.
✈️ 해외 소식들
해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다.
# 일반
새로나온 아이패드 에어와 아이패드 프로를 골라야 한다면 어떤 선택을 하실껀가요? 애플은 새 제품이 나오면 기존 모델을 잡아먹는 소위 카니발라이즈(canivalize)가 일어나기도 하죠. 이번 아이패드 에어가 딱 그런 경우 같습니다.

iMac, iPod, iPhone, iCloud 등 i를 붙인 제품이 여전히 많죠. 이제 좀 달라져야 하지 않을까 이야기하고 있습니다. 루머에 의하면 새로운 아이폰은 mini가 도입된다는 것 같더군요. 미니, 에어, 프로까지 카테고리가 자리잡는걸까요? 

JS로 구현한 클래식 맥오에스에 대한 글입니다. 그냥 재미로 읽어보세요 :) 

# 새로운 기능들
애플 이벤트 이후에 하루 만에 iOS 14 정식버전이 나와서 개발사들이 분노(?)하는 트윗이 많았습니다. 그럼에도 불구하고 iOS 14에서 새로운 기능이 개발자들에게 새로운 기회를 줄 수 있을까요? 
# 스위프트
공식적인 스위프트 소식은 크게 2가지가 있습니다. 드디어 윈도우즈에서 스위프트를 사용해서 개발할 수 있는 수준으로 런타임이 배포됩니다. 스위프트 공식 블로그에 swift on windows 글이 올라왔습니다. 애플이 만들었다기 보다는 커뮤니티에 엄청 기여한 Saleem Abdulrasool 사람이 있었습니다. 글에서 소개한 예제 프로그램을 보니 Win32 API를 iOS 앱 구조와 매핑했더군요. ApplicationDelegate도 있고 Window, View 객체도 있습니다.
두 번째 소식은 스위프트 시스템이라는 오픈 소스를 공개했습니다. 일반 명사를 너무 남발하는 경향이 있지만 C 수준 시스템 콜을 스위프트로 추상화해서 제공하는 것을 목표로 하고 있습니다. 크로스 플랫폼이 아니라 멀티 플랫폼 구조라서 macOS와 리눅스, 윈도우가 각기 다른 구현이 들어갈 꺼라고 합니다. 아직 완전 초기버전이라 구현 내용이 파일 시스템 일부만 포함하고 있습니다. 저장소는 swift-system을 살펴보세요.

그 밖에 스위프트 관련 소식들입니다.
# 설계 구조 : 패턴
기본적인 iOS 아키텍처 패턴을 소개합니다.
> Redux 구조 구현하기
리덕스 구조를 스위프트로 구현하면 어떤 구조가 되는지 설명하고 있습니다.
싱글톤 패턴의 장점과 단점을 비교해서 선택을 잘해보자는 취지입니다. 안티패턴이라고 무조건 쓰지말자보다는 무엇이 좋고 나쁜지 알고 쓰자는 의미로 작성한 것 같습니다.
# 설계 구조 : 모듈화하기
프로젝트가 커지면 모듈을 나눠야 하는 시점이 생깁니다. 규모가 큰 회사는 주요 화면별로 팀이 나뉘거나 코어 프레임워크만 개발하는 팀이 별도로 나눠지기도 하죠. 점차 모듈화가 중요한 이슈가 되고 있는 것 같습니다. 이와 관련된 글을 소개합니다. 
# 뷰 프로그래밍 : SwiftUI
이제 SwiftUI 자료가 흘러넘치는 시기가 된 걸까요? 느낌상 새로운 자료의 1/3 수준이 SwiftUI 내용인 것 같습니다. 그만큼 관심이 많고, 빠르게 변하고 있다는 증거가 아닐까요? 이제 SwiftUI로 할 수 있는게 많아지고 있습니다. 
How Swift 5.3 enhances SwiftUI’s DSL
Data Validation in SwiftUI 2.0
카메라 미리보기와 QR 스캐너 개발하기
LongPress 제스처 구현하기
redux 구조로 글로벌 상태 관리하기
파이어베이스로 노트 태깅 앱 만들기
내비게이션 드로어 만들기
유투브 플레이어 만들기
웹 소켓과 SwiftUI로 채팅 앱 구현하기
# 프레임워크 : UIKit
SwiftUI 와 대조적으로 UIKit 자료는 이제 포화된 건지 상대적으로 줄어든 게 확연해보이네요. 당분간 더 그럴꺼 같은데 하부가 UIKit으로 되는 경우가 많아서 아직까지는 안 볼 수 없다는 게 문제 같네요. 
UI 클린코드로 구현하기
# 프레임워크
프레임워크를 다루는 예제를 소개하는 글들입니다. 특히 멀티 코어를 제대로 활용하기 위한 팁들은 꼭 읽어볼 만 한 것 같네요.
애플 아이디로 로그인하기
멀티 코어를 제대로 활용하는 앱 구현하기


# 개발환경
개발 환경과 관련된 글입니다. 플레이그라운드를 적극 활용하자는 PDD 라는 용어도 만들고 있군요. pod install 명령을 Xcode에 스크립트로 넣는 팁도 괜찮아 보입니다.
# 기타
나머지는 테스트와 유지보수, 오픈소스와 관련된 기타 소식들을 모아뒀습니다.
Accessing and Analyzing crash reports in iOS
📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? 
news@letswift.kr 로 언제든지 문의해주세요. 
레츠스위프트 뉴스레터
http://letswift.kr
수신거부 Unsubscribe