iOS/Swift 소식을 전해드립니다 💁 레츠스위프트 뉴스레터 제23호 2021년 1월 10일 📌 특집 : M1 애플 실리콘 시대가 열렸다 2020년 11월에는 애플 실리콘 시대를 여는 첫 세대 제품이 나왔습니다. 다들 아시는 것처럼 M1 맥북 에어와 13형 맥북 프로, 맥미니까지 세 종류의 제품입니다. 세 가지 제품 중에서 제가 회사에서 구매한 장비는 13인치 맥북프로입니다. 직접적으로 비교해볼 수 있는 장비는 작년에 나온 마지막 인텔 아이맥과 2016년도에 나온 15형 1세대 터치바 맥북프로입니다. 거기에 작년 여름에 유니버설 앱 빠른 시작 프로그램에 가입하면서 받았던 DTK까지 포함할 수 있겠습니다. 참고로 유니버설 앱 프로그램은 종료되었습니다. # DTK와 M1 맥북프로 DTK 이야기부터 해보겠습니다. DTK를 처음 받아서 Big Sur 베타를 사용할 때는 구형 맥북 프로와 별차이를 못 느꼈었습니다. 초기에는 그래픽 처리 최적화가 안되어 있는지 HDMI로 연결한 FHD 모니터 화면도 부드럽지 못했습니다. 물론 업데이트되면서 USB-C로 연결하는 4K 모니터까지도 부드럽게 처리가 되더군요. DTK는 일반 사용자용 제품이 아니고 빠른 접근을 위한 임시 장비라서 제한된 기능이 있습니다. 썬더볼트 컨트롤러가 아예 없다거나 SMC에 팬 속도도 항상 고정입니다. 2900rpm 정도로 계속 돌아갑니다...(응?) 반면에 M1 장비는 완성도가 더 높아진 일반 사용자용 제품입니다. 국내외에서 호환성 문제나 외장 모니터 연결이나 저가형 USB-C 허브와 충돌로 벽돌이 되는 경우도 보고되고 있습니다. DTK와 다르게 팬 속도는 범위가 지정되어 있습니다만 2주동안 아직 한 번도 돌아가는 것을 경험하지 못했습니다. 0 rpm으로 고정된거 같은데 고장난게 아닌가 의심이 들 정도입니다. 조만간 저도 파이널컷 프로 정도를 돌려보겠습니다 ㅎㅎ 여러 벤치마크 글들이 있지만 (사실 DTK는 계약상 벤치마크를 돌리지 못하게 되어 있습니다) iOS 개발자 입장에서는 Xcode가 가장 큰 경험의 차이를 보여줍니다. 아주 큰 프로젝트는 아니지만 M1 맥북에서 인덱싱하는 동안에 맥북프로나 아이맥이라면 당연히 듣게되는 비행기 이륙 소리를 듣지 않고 더 빨리 끝납니다. 겨울이라 그렇겠지만 손에 전해지는 느낌으로 비교해보자면, 기존 맥북은 따뜻한 라떼 정도 온도라면 M1 맥북은 차가운 아이스아메리카노 느낌입니다. 저의 메인 개발 환경은 2020 아이맥 i9 10코어 + 72기가 장비입니다. 맥프로는 아니지만 나쁘지 않은 개발 장비임에도 불구하고 M1 맥북프로가 화면만 작을 뿐 체감 속도는 더 빠릿합니다. 왜 이렇게 느낄까요? 단지 CPU, GPU 뿐만 아니라 메모리, SSD까지 시스템 아키텍처도 개선이 많이 된 것으로 보입니다. 지금 현재 homebrew나 docker, Parallels 같은 임시로 써야 하는 도구도 많지만 꽤 빠르게 M1을 지원하는 제품이 많아지고 있습니다. 제가 M1에 설정한 것 중에는 brew와 dropbox 만 Intel 기반으로 동작하네요. 주변에 안드로이드 개발자나 서버 개발자 분들은 조금 더 기다리셔야 할 것 같습니다. 개인적인 전망으로는 3월에 아이패드 프로가 나오고, 6월쯤에 새로운 M2(?)를 적용한 상위 모델 맥이 등장하지 않을까 생각합니다. DTK 반납은 아직 소식이 없지만, 새로운 맥이 폼 팩터까지 바뀌어서 나온다면 정말 사고 싶을꺼 같습니다. # M1 관련 소식들을 모아서 보면 다음과 같습니다. 주제/분류별 소식들 국/해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다. 이제 주제/분류별 자료가 엄청 쌓이고 있는데, 지난 자료까지 찾아보고 싶다는 생각을 하고 있습니다. 뉴스레터 전용 앱을 만들기는 그렇고, 참고 자료나 글들을 분류하는 앱을 생각해보고 있습니다. # 일반 > [한글 - JK블로그] 개발 환경 설정하기 이번에 새로 M1 맥북을 구입하고 새롭게 환경 설정을 해봤습니다. 그 과정에서 개발자들이 macOS/iOS 개발 환경을 설정할 때 도움이 될 만한 팁을 정리했습니다.> [영문] BTT로 터치바 쓸모있게 만들기 # 애플 > [영문] 스위프트 포럼 - 최근 며칠동안 토론이 뜨거웠던 주제중에 하나 - forced unwarp ! 연산자를 없애는 건 어떨까입니다. 크래시 중에 90%는 옵셔널 언래핑을 대충 처리해서일꺼다. 이럴바에 안전하게 처리하도록 없애버리는 게 어떠냐? 코틀린처럼 !! 연산자가 있는게 더 낫지 않냐. 컴파일러 지시어로 넣어버리자. 이런저런 이야기들을 주고 받았습니다. 여러분들은 어떻게 생각하시나요? # 스위프트 # 설계 구조 : 패턴 # 프레임워크 이런 저런 프레임워크를 다루는 예제를 소개하는 글들입니다. 얼마전에 RxSwift 6.0 버전이 릴리스됐습니다. 반가운 한글 자료가 있네요. # 개발 환경 📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? news@letswift.kr 로 언제든지 문의해주세요. |