ㅣ 대한민국 10명 중 7명은 ‘모바일’ 유저
가히 ‘모바일의 시대’라고 해도 과언이 아닙니다. 마케팅조사업체 샘러쉬(SEMrush)에 따르면, 2023년 4월 한국에서 발생한 네이버의 트래픽 중 68.91%가 모바일, 31.09%가 PC를 통해 발생했다고 합니다. 이는 단순히 네이버만의 특성이 아니라, 같은 기간 다음은 66.3%가 모바일, 33.7%가 PC를 통해 트래픽이 발생하였으며 국내 이용자 수 1위 모바일 플랫폼으로 등극한 유튜브는 모바일 트래픽 비중이 무려 95.87%에 달했다고 합니다.
이처럼 인터넷에서 모바일 유저 비중이 압도적으로 증가함에 따라, 기업들도 당연히 모바일 기반 서비스에 더욱 집중하게 되었는데요. 모두 잘 아시는 토스, 당근, 카카오, 배민 등이 모두 모바일 앱을 기반으로 서비스를 운영하고 있죠. 하지만, 이 기업들의 앱이 100% 앱만으로 이루어진 것은 아니라는 사실, 알고 계셨나요?
사실 최근의 수많은 모바일 앱들은, 웹뷰를 이용해 웹 페이지를 앱에 띄우는 방식도 함께 사용하고 있습니다.
그 이유는 바로 ‘생산성’ 때문인데요. 웹뷰를 활용해 하이브리드 앱 개발을하게 되면 기존 웹 기술을 활용하여 더욱 신속하게 앱을 개발할 수 있어 개발 효율성을 높이며, 업데이트를 직접 배포할 수 있어 빠른 가설 검증과 배포가 가능합니다. 그리고, 이런 하이브리드 앱 개발을 위해 가장 요구되며 대세로 떠오르고 있는 스택이 바로 ‘React Native’입니다.
ㅣ 웹뷰부터 앱 개발까지, 이 분야 효율성 갑 ‘React Native’
리액트 네이티브란, 자바스크립트와 리액트를 사용하여 모바일 앱을 구축하기 위해 페이스북이 만든 프레임워크입니다. 개발자들이 코드를 한 번만 작성해도, iOS와 안드로이드 플랫폼에 모두 배포할 수 있는 크로스 플랫폼으로 네이티브에 가까운 성능을 낼 수 있습니다. 또 핫 리로딩, 코드푸쉬과 같은 기능과 대규모 타사 라이브러리 생태계를 통해 개발을 간소화시켜 주며, 크로스 플랫폼 앱 개발을 위한 비용도 효율적으로 줄여줍니다.
때문에, 최근 기업들은 웹 프론트엔드 개발자에게까지 리액트 네이티브를 활용한 웹뷰 및 앱 개발 업무를 요청하고 있습니다. 그래서 갑자기 앱 개발까지 다루게 된 프론트엔드 개발자는 물론, 많은 개발자들이 이런 고민을 하고 있다고 하는데요.
이런 고민 해결을 위해,
오늘은 React Native를 활용해 독보적인 모바일 앱 개발 커리어를 쌓아가고 있는 주식회사 ‘하얀마인드’의 김태훈 CTO에게 그의 개발 관련 노하우와 React Native가 선택받는 이유, 장점은 물론 주의해야 할 점까지 전부 직접 들어보았습니다.
Q. 안녕하세요 대훈님:) 먼저 자기소개 부탁드리겠습니다. 지금까지 쌓아오신 이력을 바탕으로 어떻게 CTO까지 성장하게 되셨는지 간단히 말씀해 주세요.
안녕하세요. 저는 누적 2백만 이상의 다운로드를 기록한 모바일 영어 교육 앱 “레드키위”를 개발하고 운영하는 주식회사 하얀마인드의 CTO, 김대훈입니다. 컴퓨터 공학을 전공하고 대학원에서는 데이터 마이닝 및 머신 러닝을 연구했습니다. 대학원에서 만난 동기들과 함께 첫 창업을 하게 되었는데, 그 첫 사업은 모바일 오디오 가이드 서비스를 제공하는 ‘가이드플’이었습니다. ‘가이드플’에서는 주로 안드로이드 앱 개발을 담당했습니다. 이후 초기 창업 멤버들과 다시 모여 ‘하얀마인드’를 설립하고 현재 CTO로 재직 중입니다.
Q. 개발자에게는 가장 잘 다룰 수 있는 스택이 곧 본인의 ‘무기’가 될 것 같은데요. 대훈님의 무기로 리액트 네이티브를 선택하신 계기와 이유가 있을까요?
리액트 네이티브를 선택한 주된 이유는 개발 속도와 효율성입니다. 창업 초기에 팀원이 단 세 명뿐이었기 때문에, iOS와 Android를 모두 지원해야 하는 상황에서 리액트 네이티브는 탁월한 선택이었습니다. 자바나 스위프트처럼 각 플랫폼에 맞는 별도의 언어로 앱 개발을 하는 대신, 리액트 네이티브를 사용하면 하나의 코드베이스로 두 플랫폼의 앱을 동시에 개발할 수 있습니다. 이는 초기 앱 개발 속도를 크게 향상시켰고, 모든 코드를 자바스크립트로 통일할 수 있는 장점이 있었습니다. 또한 자바스크립트는 광범위하게 사용되는 언어이므로 채용 시장에서도 유리해 커리어적으로도 이점이 많았습니다.
Q. 모바일 시대가 되면서 기업들이 앱 개발 도구로 리액트 네이티브를 많이 선택하고 있는데, 주된 이유는 무엇이라고 생각하시나요?
리액트 네이티브는 하나의 언어로 안드로이드와 iOS 앱을 동시에 개발할 수 있어 개발 생산성을 크게 향상시킵니다. 이는 React의 기반을 둔 것이기 때문에, 이미 웹 개발 경험이 있는 개발자들이 쉽게 접근할 수 있는 장점이 있습니다. 또한, 자바스크립트의 널리 사용되는 특성 덕분에 개발자 채용 시 유리합니다. 최근에는 웹뷰를 활용한 하이브리드 앱 개발이 증가하고 있는데, 이는 기존 웹 기술을 활용하여 더욱 신속하게 앱을 개발하고 업데이트를 직접 배포할 수 있는 방식입니다. 이러한 접근은 네이티브 앱에 비해 빠른 업데이트가 가능하게 하며, 전반적인 앱 개발 효율성을 높입니다.
Q. 그럼 리액트 네이티브의 장점과 단점은 무엇일까요? 단점의 경우, 이런 부분 때문에 실무에서 어떤 어려움이 있고 어떻게 극복하시는지 사례를 함께 들어주시면 더 이해가 잘 될 거 같아요.
리액트 네이티브의 장점은 위에서 말한 것처럼 개발 속도 및 다중 플랫폼 지원입니다. 하지만, React 웹 개발자가 학습 없이 바로 개발을 할 수 있는 것은 아니고, React Native에서 제공하는 기본적인 컴포넌트들을 학습하는 과정이 필요합니다. 예를 들어, 웹에서의 <div> 태그는 리액트 네이티브에서 <View> 컴포넌트로 사용할 수 있습니다. 이러한 컴포넌트들을 익히는 것이 초기 React Native를 개발할 때 익숙하지 않을 수 있습니다. 그리고 하나의 언어로 iOS 및 Android 앱을 만들 수 있지만, 그렇다고 iOS와 Android에 완전히 자유로운 것은 아닙니다. 예를 들어 앱을 개발하여 배포할 때는 각 플랫폼에 따라 업데이트를 제출하는 방법이 다를 수 있습니다. 리액트 네이티브를 개발하는 경우는 대부분 iOS, Android 네이티브 개발자이기보다는, 웹 개발자 혹은 앱을 처음 개발하는 개발자일 경우가 많을 수 있기 때문에 각 네이티브에 따라 다른 개발 방법이 익숙하지 않을 수 있습니다.
Q. 말씀해 주신 리액트 네이티브의 장단점 및 특성을 고려하여, 학습 또는 개발할 때의 팁이나 대훈님만의 노하우가 있다면 무엇일까요?
React Native를 효과적으로 활용하기 위해서는 기본적인 컴포넌트들을 학습하는 것이 중요합니다. 더불어, 기본적인 iOS와 Android의 네이티브 플랫폼에 대한 이해도 필요합니다. 하지만 시간을 아끼고 개발 효율성을 높이기 위해서는 ‘웹뷰’를 활용하는 방법을 고려할 수 있습니다. 웹뷰를 사용하면 기존 웹 개발 지식을 이용해 웹 페이지를 앱으로 변환할 수 있으며, 이는 복잡한 React Native 컴포넌트 학습 없이도 앱을 개발할 수 있게 해줍니다. 이 방식은 기능의 대부분을 웹으로 처리하기 때문에 iOS와 Android 플랫폼에 보다 유연하게 대응할 수 있고, 웹 기반으로 빠른 업데이트가 가능하여 개발 과정을 더 자유롭고 유연하게 만들어 줍니다.
모바일 애플리케이션 시장에서 개발 속도와 생산성은 아이디어를 빠르게 검증하고 시장에 적응하는 데 필수적입니다. 이 때문에 단일 플랫폼 개발 능력보다 다양한 플랫폼을 효과적으로 개발할 수 있는 능력이 점점 더 중요해지고 있습니다. 리액트 네이티브를 학습하는 것은 이러한 멀티 플랫폼 개발 능력을 키우는 데 큰 도움이 됩니다. 리액트 네이티브를 학습하면 React의 원리를 활용하여 웹과 모바일 앱 개발을 모두 다룰 수 있게 되므로, 개발자로서의 유연성과 시장 가치가 크게 증가합니다. 이는 특히 프론트엔드 개발 경력을 다각화하고 확장하는 데 매우 유용한 기술이 될 것입니다.
React Native를 무기로, 미래에도 살아남을 커리어를 쌓아가고 있는 김대훈 개발자님께 React Native의 단점을 극복할 수 있는 개발 팁까지 직접 배워보고 싶다면? 이 강의를 주목하세요!
[ React Native 앱 개발의 모든 것 : 4가지 프로젝트로 마스터하는 웹뷰부터 앱 개발까지 ]
Q. 김대훈 개발자님! 시중에 리액트 네이티브를 학습할 수 있는 강의가 처음은 아닌데, 이 강의는 무엇이 다르다고 할 수 있을까요?
이 강의는 리액트 네이티브의 “웹뷰” 기능을 중심으로 하이브리드 앱 개발을 집중적으로 다룹니다. 웹뷰를 활용하면 기존의 웹 개발 지식을 이용하여 쉽고 빠르게 모바일 앱 개발을 할 수 있습니다. 강의에서는 웹뷰를 사용하여 앱 개발하고, 이를 실제로 사용자에게 배포하며, 필요한 업데이트를 진행하는 전 과정을 상세하게 배울 수 있습니다. 이 방법은 특히 커리어 측면에서 웹 개발자들이 기존 기술을 활용하여 빠르게 모바일 개발 분야로 전환할 수 있는 효과적인 경로가 되어줄 것입니다.
*특히 React, JS 아는 분이라면 배워두면 그냥 무조건 이득!
웹뷰부터 순수하게 React Native 만으로 앱까지 개발하는 모든 방법을 하나하나 프로젝트로 알려드립니다.
1. 웹뷰로 앱을 띄우는 ‘네이버 앱 클론코딩 프로젝트’
2. 웹뷰와 앱 간의 통신을 학습하는 ‘유튜브 SDK 활용 앱 프로젝트’
3. 웹뷰용과 일반 웹용을 따로 개발하는 ‘클로바 녹음 요약 앱 프로젝트’
4. 순수 RN으로 모든 구성을 개발해보는 ‘카카오톡 친구 목록 쿨론코딩 프로젝트’
▼ 자세한 강의 커리큘럼 살펴보기 ▼ https://bit.ly/4bJ9Azm