Apple trend 2017 cover

2017년 애플 생태계의 변화

Realm과 OSXDev가 공동주최한 iOS Tech Talk의 키노트 세션입니다. OSXDev의 Organizer인 김정님이 2017년 애플 생태계의 변화라는 주제로 발표해 주셨습니다.


안녕하세요, 저는 OSXDev의 김정입니다. CodeSquad라는 교육 스타트업을 하고 있습니다. 이번 강연의 주제는 창립된 지 40 년된 Apple이라는 회사가 그간 어떤 변혁을 겪었는 지에 대한 것입니다.

Apple의 변화 트렌드

Apple은 십 년 단위로 꽤 큰일을 겪었는데 1997년 잡스의 귀환, 2007년 iPhone의 역습이 있었죠. 이제 올해가 다시 십 년이 지난 2017년으로 어떻게 될지 주목됩니다. iPhone이 2007년, Macworld에서 발표됐으니 벌써 십 년이 지났는데, 사실 이때 iPhone 말고도 또 다른 하나의 변화가 있었습니다. 바로 Apple Computer였던 회사명을 Computer를 떼고 Apple Inc.로 변경한 겁니다. 즉, 일반 전자회사로 변화한 지 십 주년이 되는 것이죠.

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

또한 2011년도 잡스 사망 후에는 많은 변화가 있었습니다. 2006년도 Apple 개발자 컨퍼런스가 Apple 캠퍼스 안에서 맥주를 마시면서 파티 분위기를 즐길 수 있는 적은 규모였는데, 요즘은 참석자가 너무 늘어나서 캠퍼스 내에서 수용하지 못하고 외부 대형 컨퍼런스 행사장에서 마무리가 됩니다. 또한, 제가 참가했던 2014년도 WWDC 개발자 컨퍼런스에서는 25주년 기념으로 Apple Store 25달러 쿠폰을 줬는데, 한국에는 스토어가 없어서 사용할 수 없었던 기억도 있습니다.

apple-trend-executive

경영진에도 많은 변화가 있었습니다. 현재의 경영진 사진인데, 여기에는 90년대 시절부터 계속 같이했던 멤버는 단 다섯 명입니다. 이제 NeXT 시절, Apple Computer 시절부터 함께 있었던 사람들이 많이 없습니다.

이렇게 Apple도 변화하고 있고 직원도 많이 늘어났습니다. 현재 전 세계 직원 수를 11만 명으로 추정하는데, 대부분의 직원들은 2009년 이후 합류했고, 대부분 리테일 스토어 소속입니다. 현재 17개국에 478개의 리테일 스토어에 있고, 아쉽게도 한국에는 아직 스토어가 오픈되지 않았습니다. 본사의 핵심 엔지니어는 생각보다 많지 않은 수천 명인데, MicroSoft의 Office for Mac 팀이 3천 명 규모인 것에 비해면 굉장히 적은 숫자죠. 이들은 상당수가 OS X 10.6 Snow Leopard 이후의 경험자로, mac보다 iPhone을 먼저 접한 세대이기도 해서 Apple 내에서도 Objective-C보다 Python이나 JS가 익숙한 이 개발자들로 딜레마가 있다고 합니다. 그래서 Swift의 필요성이 더 높아졌을지도 모르겠습니다.

또한, 더는 Wizard들을 만나기 어려운데요. Wizard란 오리지널 Mac 팀의 개발자가 직함을 Software Wizard라고 정한 것에서 유래된 Software Engineer 직급입니다. 20년 정도 이상 근무한 백발의 할아버지 정도의 개발자들이 예전에는 팀마다 두 세 명 이상 있었지만, 요새는 그런 분들을 찾아보기 어렵습니다.

Swift 과연 대세인가?

이런 배경 때문에 Apple 내부 개발자 사이에서도 Swift를 친숙하게 여기는 사람들과 아닌 사람들로 나뉘고, 새로 들어오는 사람들은 새로운 기능, 예를 들어 Sierra에 들어간 dock 같은 것을 Swift로 만들고 있다고 합니다. 예전 코드는 아직 Swift로 넘어오지 못하는 경우도 많습니다.

이런 Swift냐 Objective-C냐 하는 선택의 기로에 일반 회사들도 서 있습니다. 물론 Swift는 좋은 언어이고 누구나 배우기 쉬운 언어이고 안전한 언어이지만, 이런 것을 컴파일러가 다 해주다 보니 컴파일 시간이 오래 걸리고, 그 와중에 동작을 멈추는 일도 발생합니다. 하지만 여전히 Swift는 인기 많은 언어이고 많은 팬을 가지고 있습니다. Swift의 commiter는 450명이고 3만 6천여 개의 스타를 받았습니다. 6개월 단위로 릴리즈가 일어나서 상반기에는 4.0이 발표될 것 같습니다.

apple-trend-toibe

TOIBE Index에서도 12위까지 Swift 순위가 올라갔고, Objective-C는 19위까지 떨어져서 거의 1.5배의 차이가 나고 있습니다. 사실 Objective-C는 iPhone 때문에 최고로 빠른 증가 속도를 보이다가 Swift 때문에 급감한 비운의 언어죠.

apple-trend-github

또한 GitHub에서 사용하는 언어를 봐도 현저히 Swift의 비중이 높습니다. 많이 사용되는 만큼 많은 정보가 만들어지고 있습니다. 하지만 Swift를 만든 Chris Lattner가 Apple을 떠나 Tesla로 떠나면서 많은 Swift 개발자들이 놀라기도 했습니다. 사실 LLVM을 만들었고, Apple 개발 팀장으로 Xcode의 기능을 최대한 향상했고, 언어도 새로 만들었으니 그가 더는 Apple에서 할 일이 없었을지도 모르겠네요. 실제로 LLVM이 최근 가장 많이 쓰이는 영역이 자동차라고도 합니다.

그리고 Swift는 아직 최적화가 되지 않았다는 것을 보여주는 버그들도 있습니다. 이차원 배열에 150개 정도 아이템을 넣으면 이 코드 하나만으로 컴파일 시간이 15초 이상 걸리기도 합니다. 실험해본 결과 128개까지는 큰 차이를 보이지 않다가 그 이상에서는 O(n)으로 시간이 증가하더군요. 아직 Swift는 갈 길이 멀긴 합니다.

게다가 Objective-C가 레거시가 되다 보니, 20년 전의 Cobol 개발자처럼, 한 5년만 지나면 Objective-C 개발자가 없어서 오히려 더 Objective-C를 찾는 상황이 일어날지도 모르겠습니다.

유명한 악기 연주자가 의식을 4단계로 표현한 적이 있습니다. 즉, 최고의 경지인 무의식적으로 직감적으로 움직일 수 있어야 즐길 수 있다고 합니다. Swift를 시작해서 현재 괴로운 분이 있다면 조금 더 지속하면 무의식적으로 즐길 수 있는 순간이 올 것이라고 말씀드리고 싶습니다.

마치며

모임의 공동주최인 OSXDev는 iOS뿐만 아니라 tvOS, macOS, watchOS 등 모든 Apple OS를 같이 하고 싶은 분들이 모인 커뮤니티로, 여러분을 환영합니다. OSXDEV.org에서 볼 수 있습니다.


이 글은 Realm과 OSXDev가 공동주최한 iOS Tech Talk의 강연을 요약한 것입니다. Realm에서 전체 강연을 다시 볼 수 있습니다.

다음: Realm Swift를 사용하면 iOS 앱 모델 레이어를 효과적으로 작성할 수 있습니다.

General link arrow white

컨텐츠에 대하여

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

김정

NeXT를 갈망하던 소년에 APPLE을 열망하는 청년에서 NEXT에서 시인을 꿈꾸던 디지털 엔지니어. OSXDEV의 Organizer로, 현재는 CodeSquad 마스터로 iOS 교육 중입니다.

4 design patterns for a RESTless mobile integration »

close