[iOS]iOS 개발자의 전망과 미래 (Let's Swift 2022 후기)

2023-03-19
조회수 2509

배경

지난 포스트에서 iOS 개발자에 대한 과거와 현재에 대한 포스팅을 작성해 봤다.

앞으로는 iOS 개발자는 어떻게 변화하게 될지에 대한 글을 작성해 보고자 한다.

 

앞선 글이 궁금하다면 아래 링크로 이동할 수 있다.

이전 포스트 보기

https://whatever-mentoring.tistory.com/2

또 관련한 영상을 많이 참조하였으니 함께 본다면 더 도움이 될 것 같다.

https://www.youtube.com/watch?v=IAj-9MQLsvY 


 

크로스 플랫폼이 더 낫지 않나? 네이티브 왜 필요해?

지난 글에서도 크로스플랫폼에 대한 이야기를 충분히 한 것 같다.

그래도 다시 한번 말해보자면 규모가 정말 큰 회사가 아니고는 안드로이드, iOS 개발자를 모두 채용하기에는 현실적인 어려움이 있습니다.

그 대안인 Flutter, React Native와 같은 크래스 플랫폼도 존재하며, 하이브리드 형식으로 웹뷰로 구현해도 가능하니까요.

 

위 내용은 곧 아래와 같이 이야기 될 수 있습니다.

"그럼 개발자 한명으로 iOS/Android 모두 개발할 수 있는거 아니야?"

 

"네 맞습니다." 

 

그 밖에도 iOS/Android와 같은 네이티브는 앱에서 이슈가 발생하면 급한 핫픽스 처리도 심사와 같은 문제로 프로세스 역시 복잡해집니다.

React Native 같은 경우에는 코드푸시도 지원을 해 앱 배포 없이 앱을 수정할 수도 있어 운영과 생산성 측면에 큰 도움이 됩니다.

 

"그럼 앱 개발자는 미래에 필요 없는 거 아니야?"

 

당연히 위와 같은 생각을 할 수 있습니다. 

그렇지만 앱에게 있어서 빠른 생산성만이 전부는 아닙니다.

대표적인 예시로 Airbnb의 React Native를 도입하고 2년 뒤 React Native의 퇴출을 결정했습니다.

퍼포먼스와 크로스플랫폼에 대한 각종 문제들, 결국 iOS/안드로이드/RN 모두를 개발한다는 단점을 지적하고 있죠.

결국 다시 각 네이티브 플랫폼(iOS/Android)로 돌아가는 이야기가 4개의 포스팅으로 정리되어 있습니다. 


Airbnb의 React Native 여정

 

관심이 있으신 분들은 보시면 좋을 것 같네요.

위에서 보여준 사례와 같이 네이티브는 해당하는 OS에 대한 완벽한 API를 제공하고 매끄럽고 넘쳐나는 퍼포먼스를 보여줍니다.

좋은 프로덕트를 제공하고 싶은 앱 서비스 회사에서는 네이티브를 선택할 수밖에 없습니다. 네이티브 앱 팀을 구축할 수 있는 충분한 환경만 된다면요.

 

네이티브만 할 수 있는 일

웹뷰와 크로스플랫폼이 앱의 모든 기능들을 제공할 수 없습니다.

대부분 그리고 익숙한 유저의 인터페이스를 몇 가지 쉽게 제공해 줄 뿐입니다.

 

"앱에서 바탕화면에서 만드는 위젯을 만든다."

"잠금 화면에서 실시간으로 배달 상태를 표시한다."

"애플이 만든 강력한 ML 칩셋으로 모바일 디바이스 머신러닝 기능을 제공한다."

"AR 관련 기능을 제공한다"

 

위의 기능들은 오직 네이티브로만 구현될 수 있습니다.

그러므로 네이티브의 퍼포먼스, 네이티브만 할 수 있는 기능들을 제공하기 위해서는 네이티브 개발자들은 필요합니다.

 

아래는 애플에서 네이티브로 제공하는 수많은 API 들입니다. 이런 API들을 이용해 스마트폰을 정말 잘 사용할 수 있는 기능들을 사용할 수 있죠.

당연히 앱 자체가 시장성을 당장 검증하고 있는 소규모의 스타트업에서는 아래의 API들을 사용해 정말 유저에 최적화된 기능들을 제공하는 것은 어렵겠죠.


애플의 다양한 SDK


애플이 생각하는 미래와 인터페이스에 대한 생각

지금 우리는 스마트폰의 터치로 스마트폰을 조작합니다.

우리가 생각하는 버튼, 리스트와 같은 컴포넌트들은 스크린을 터치해 작동할 수 있도록 디자인되어 있죠.

 

스마트폰이 없던 시절에는 키보드와 마우스를 통해서만 컴퓨터를 다룰 수 있었죠.

 

앞으로 10년, 20년 후에는 어떤 인터페이스가 주로 사용되는 매체가 될까요?

1. 아이언맨의 토니 스타크 처럼 AR을 통해 재스쳐를 통해 컴퓨터를 다룰 수도 있습니다.

2. 일론이 지금 하는 것처럼 머리에 칩을 이식해 생각하는 것만으로도 컴퓨터를 다룰 수도 있죠.

3. 목소리로 시리에게 명령하는 것이 유일한 컴퓨터와 소통 방식이 될 수도 있고요.

 

애플은 꽤 오래전부터 이런 다음을 생각하고 준비하고 있습니다.

여러 뉴스로 접하실 수 있겠지만 애플은 증강현실, 자율주행 차 등에 꽤 진심입니다.

 

한 가지 예시로 진화하고 있는 애플의 카플레이를 볼 수 있습니다.

기존에는 단지 차 가운데 있는 디스플레이 하나를 사용하였는데요. (이것도 네이티브로만 구현 할 수 있죠)

 

아래의 이미지는 모 자동차 회사와 애플이 협업해 카플레이의 기능을 대시보드까지 대폭 확장하였고 이전의 카플레이에 비해 수많은 기능들을 제공한다고 합니다.

곧 출시를 목표로 한다고 하고 있죠.

 

그렇다면 위와 같은 Car Play가 확장된다면 자동차에 들어갈 각 서비스 회사들의 앱은 무엇으로 누가 개발할까요?

맞습니다. iOS platform을 확장해 Swift로 개발이 되지 않을까요?

 

다른 것은 몰라도 iOS 개발자들이 차세대 인터페이스의 서비스를 개발하는 데에 선구자가 되지 않을까요?

 

이렇게 애플은 Next 인터페이스를 준비하고 있고 그것을 개발할 사람들이 iOS 개발자가 되지 않을까 싶습니다.

이런 애플의 청사진이 현실이 된다면 iOS 개발자의 수요는 먼 미래에 지금보다는 더 높은 수요가 예상이 됩니다.

 

미래를 준비하는 우리의 자세

위와 같은 미래가 언제 올지는 모릅니다. 안 올 수도 있죠.

그렇지만 위와 같은 미래가 오고 새로운 SDK와 Framework가 제공될 때, 빠르게 학습하고 시장이 필요로 하는 기능을 제공할 수 있는 개발자가 되어 있어야 합니다.

 

왓에버는?

끊임없이 성장하고 인정받는 탑티어 엔지니어가 되고 싶지만
자신의 학습에 대한 방향성과 확신이 필요한 이들에게
왓에버가 탑티어 엔지니어의 멘토링과 코드리뷰를 통해 빠르게 성장할 수 있는 동력을 제공합니다.


왓에버 알아보기