Let us go wwdc2017

WWDC 2017 톺아보기

WWDC 2017 톺아보기라는 주제로 지난 let us: Go! 2017 Summer에서 발표된 내용입니다.


소개

저는 GDG 오거나이저인 진겸입니다. GDG이지만 iOS 개발자이며 WWDC도 2009년부터 꾸준히 시청해 왔습니다. WWDC 2017 톺아보기라는 주제를 말씀드릴 텐데요. 톺아보기란 샅샅이 더듬어 뒤지면서 살펴보다라는 뜻입니다. 순우리말로 Apple Korea에서 먼저 사용한 단어이죠.

WWDC의 2시간짜리 영상을 보면서 요약을 해봤는데, The verge에서 정리한 영상이 매우 잘 정리됐기 때문에 이 부분은 넘어가고, 주관적인 저만의 해석을 말씀드리도록 하겠습니다. 또한, Playground와 Xcode9에 대해서도 살펴보겠습니다.

WWDC 개요

이번 WWDC에서 가장 주목하고 싶은 주제는 iMac Pro의 출시와 Mac pro, mini의 정체입니다. 하드웨어 경향에서 Apple의 추세를 짐작할 수 있는데, 2007년부터 iPhone을 출시하면서 사명을 Apple Computer에서 Apple로 바꾸고 iPhone에 집중하기 시작한 Apple이니만큼 이번 유선 키보드를 단종시킨 추세로 Mac Pro로 단종시키지 않을까 합니다.

소프트웨어에 집중

이처럼 Apple이 하드웨어보다 소프트웨어에 집중하는 지표를 몇 가지 알 수 있는데요. 먼저 머신러닝을 지속해서 강조하고 있습니다. Siri가 머신러닝을 사용하고 있는 것을 강조하고 사용자 패턴을 인식하기 위해 iOS 전반을 사용하는 등, 고급 소프트웨어 측면을 좀 더 강조하고 있는 것 같습니다.

이런 개발 뉴스를 더 만나보세요

VR과 ARKit

이미 이전부터 주목하고 있는 부문이지만 공개적으로 발표한 것은 처음인 것 같습니다. 놓칠 수 없는 시장이라고 인식한 것으로 생각하며, 관련 분야에 계시는 분야라면 시장성이 충분히 확보될 것으로 예측할 수 있다고 생각합니다.

특히 팀 쿡은 VR보다 AR에 관심이 많다고 합니다. AR이 일상적으로 사용할 수 있다는 뉘앙스를 2016년의 인터뷰에서도 내비쳤습니다. 또한, VR 관련 특허도 지속해서 늘어가고 있습니다. 과연 Google Glass와 같은 하드웨어를 Apple이 만들 것인지에 대한 루머가 많은데 아마 도덕성 문제에서 사양 단계인 Glass 보다는 VR 쪽으로 가지 않을까 생각합니다. 이미지 디텍션과 딥러닝, 머신 러닝 중 CNN이라는 분야가 각광을 받고 있습니다.

iPad

iPad와 iOS 11도 빼놓을 수 없겠죠. 이번 iOS 11은 iPad를 위한 것이라고 해도 과언이 아닙니다. 기존에는 iPhone을 4대 붙인 것이나 다름없다는 조소를 받기도 했는데, 11에는 파격적인 변화가 나타났습니다. Files 앱이 드디어 나타났고, Apple pencil이나, 풀사이즈 키보드가 맞도록 화면 크기를 늘린 것을 보면, Mac에 버금가는 iPad를 만들려는 의도가 보입니다.

HomePod

구글 홈처럼 사용자에게 접근할 수 있는 기기로 보이지만, 머신러닝을 사용한 만큼 똑똑한 스피커이므로 방의 구조를 파악해서 가장 스마트한 소리를 낸다고 합니다. Siri와 Home 앱과 연동된다는 장점도 있습니다. 기존 스마트 스피커들과 비교하기는 시기상조이므로 이 정도로 줄이겠습니다.

iOS 11 - UI

iOS 9에서는 얇은 글씨체, 샤프한 이미지, 컨텐츠 이미지에 중점을 맞췄는데요. iOS 10에서는 이미지를 좀 더 부드럽게 하고 글씨체를 좀 더 두껍게 사용했습니다. Apple Music 앱에 등장한 컴플렉션 리덕션(complexion reduction) UI 스타일이 iOS 11에서는 전반적으로 등장할 것으로 보입니다.

타이틀이 좀더 굵게 바뀐 것이 보이신가요? iPad에서는 예쁘게 보이지만 사실 제가 쓰는 SE에서는 너무 굵게 보이므로 Apple이 점점 4인치에서 멀어지는 경향이 반영된 것일지도 모르겠습니다.

컨트롤 센터도 호불호가 많이 갈리지만, 컨트롤 센터가 항상 두 개의 탭으로 구성되던 예전 버전보다 훨씬 사용성이 높아지고 객체 간의 구별이 잘 됐다고 생각합니다.

WWDC 때 딱히 언급하지 않은 것들

먼저 SNS 기본 통합을 삭제했습니다. twitter와 Facebook이 기본 앱에서 빠집니다. 또한, Video Screenshot 기능이 추가됐습니다.

또한, Lock화면과 알림창이 단일화됐습니다. 락 화면에서 위로 스와이프하면 알림창이 나오게 됩니다. Wi-fi 공유 기능도 추가됐습니다. 근처의 Apple 기기에 승인 요청을 보내서 수락을 받은 경우 메시지를 보낼 수 있습니다.

드디어 서드 파티 앱에서도 NFC를 사용할 수 있게 됐습니다. 하지만 6에서도 NFC가 들어 있는 것으로 알고 있는데 7 이상에서만 지원된다고 합니다.

App Store의 리뷰 가이드라인이 변경된 것도 빼놓을 수 없겠죠? 고객 리뷰를 대하는 상세 가이드도 바뀌었고, 사용자에게 앱 리뷰 창을 마구 띄우지 않도록 프로토콜 API를 따라야 한다고 합니다. 직접 페이지를 방문해서 확인해 보시면 좋겠습니다.

그 외에도 카메라상에서 QR코드를 바로 인식한다든지, iCloud에서 웹상으로 공유할 수 있다고 합니다. FLAC 지원도 가능해졌습니다.

플랫폼

Playground

이번에 출시된 Playground 1.5는 iPad에서 동작할 수 있는 Playground이며, Apple이 가장 많은 초점을 맞춘 부분입니다. Playground book을 사용해서 라이브 뷰에서 실행 결과를 보거나 여러 동작을 제어하거나 할 수 있습니다. 이 기능으로 서드 파티의 다양한 블루투스 기기에 연결할 수 있으므로 iPad Playground로 로봇이나 드론을 조정할 수 있고 레고 Minestorm을 사용할 수도 있습니다.

아직 베타 버전인 Playground 2.0도 소개하자면 Swift 4 및 Swift 3.2를 지원하며, iOS 11 SDK를 지원합니다. 또한, 사용자 간에 개발 내용을 쉽게 공유할 수도 있고 로컬라이제이션에 한국어가 들어간 것도 기쁜 소식입니다.

Xcode 9

소스코드 에디터가 Swift로 아예 다시 만들어졌습니다. 특히 리팩토링 기능이 크게 발전했으므로 리네이밍이 아주 좋아졌습니다. 리네이밍이 스토리보드까지 지원해줍니다! 또한, 프로토콜을 적용할 때 CMD + 클릭으로 찾을 필요가 없습니다.

Fix 버튼으로 프로토콜을 추가할 수 있게 됐죠. 메서드와 변수를 바로 추출해주는 기능도 생겼고, 빌드 버전에 따라 특정 iOS에만 지원되는 기능을 사용하는 경우 자동으로 버전을 추가해주는 기능도 생겼습니다. 또한, CMD +와 CMD -로 글자 크기를 확대할 수 있습니다. 하이라이팅 기능도 추가됐으며 마크다운 VIM도 추가됐습니다.

시뮬레이터 기능도 개선됐습니다. 동시에 하나밖에 켤 수 없던 시뮬레이터를 다중으로 지원하고, iPhone 프레임도 추가했습니다.

무선 디버깅 기능도 추가돼서 더 이상 케이블로 고통받지 않아도 됩니다. device 탭에서 connect via network를 추가해서 활성화할 수 있습니다.

또한, 소스 컨트롤이라는 탭이 추가돼서 소스 코드 관리를 할 수 있고 브랜치를 상세하게 추적할 수 있습니다. GitHub과 연동되는 기능이 생겨서 GitHub 자체에서 Xcode에서 열 수 있는 버튼이 생겼다고 합니다. Xcode에서 직접 커밋을 보낼 수도 있어서 이제 제대로 Xcode에서 버전 관리를 할 수 있게 됐습니다.

정리

WWDC에서 재미있는 내용에 대해서 나름 정리해봤습니다. 앞으로 개발하시는 데 도움이 되시면 좋겠습니다.


본 영상과 글은 let us: Go!의 비디오 스폰서인 Realm에서 제공합니다. 모바일 개발자가 더 나은 앱을 더 빠르게 만들도록 돕는 Realm 모바일 데이터베이스Realm 모바일 플랫폼을 통해 핵심 로직에 집중하고 개발 효율을 높여 보세요! 공식 문서에서 단 몇 분 만에 시작할 수 있습니다. 또한, Realm 홈페이지에서는 모바일 개발자를 위한 다양한 최신 기술 뉴스와 튜토리얼을 제공하고 있으니 즐겨찾기하고 자주 들러 주세요!

다음: Realm Obj-C와 Realm Swift의 새로운 기능을 소개합니다.

General link arrow white

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.

Gyeom Jin

4 design patterns for a RESTless mobile integration »

close