C++에서 Kotlin, Swift 까지?! Bazel을 활용한 Android / iOS 모노레포 도입기
엔지니어링데이 2025 네이버 · YouTube
AI 핵심 요약
Windows용 C++ 플레이어 SDK를 Android와 iOS로 확장하려 했지만, 서로 다른 빌드 도구와 C++ 표준, 프리빌트 바이너리 및 얽힌 서브모듈 의존성 때문에 기존 구조를 그대로 모바일에 적용하기 어려웠습니다. 여러 언어와 플랫폼을 한 저장소에서 다루기 위해 Bazel을 선택하고, 샘플 앱으로 먼저 검증한 뒤 메인 저장소의 소스를 외부 저장소 규칙으로 가져와 모바일 빌드 규칙과 의존성을 구성했습니다. Android에서는 JNI 라이브러리를 포함한 AAR을 만들기 위해 커스텀 병합 규칙을 추가했고, iOS에서는 플랫폼별 프레임워크를 빌드한 뒤 Xcode 스크립트로 합치는 방식을 사용했습니다. 초기 설정과 IDE 연동은 까다로웠지만, C++와 Kotlin·Swift 글루 코드를 한 모노레포에서 리뷰하고 관리할 수 있었으며 Bazel의 캐싱도 장점으로 확인했습니다.
- 기존 빌드 구조를 그대로 확장하기 어렵다면, 플랫폼별 산출물과 의존성 관리 방식부터 정리한 뒤 빌드 도구를 선택하세요.
- 모듈 단위로 아래에서 위로 포팅하면 의존성이 꼬일 수 있으므로, 실제 진입점에서 빌드하며 필요한 모듈을 추적하는 접근도 고려할 수 있습니다.
- Bazel의 외부 저장소 규칙과 인증 설정을 활용하면 원본 저장소를 크게 수정하지 않고도 사내 소스를 가져와 빌드할 수 있습니다.
- Bazel 도입 시 IDE 플러그인 호환성, 문서와 예제의 버전 차이, 플랫폼별 규칙의 미성숙함을 초기 비용으로 감안해야 합니다.
소개
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2024(10월)에서 발표되었던 세션을 공개합니다. [발표 내용] Windows만 지원하던 기존 C++ 프로젝트를 Bazel을 활용하여 Android 및 iOS 타겟으로 포팅한 경험을 공유합니다. [목차] 1. Bazel을 선택한 이유 2. Bazel을 활용한 모바일 포팅 과정 3. Bazel을 써보고 느낀 장단점
비슷한 학습 자료
컨퍼런스 if kakao
개발 환경 개선을 위해 안드팀과 데브옵스팀이 함께 도전했던 Jenkins CI, RemoteBuild를 소개합니다. #Android #CI/CD #Build 안드로이드 외에도 다양한 분야에 관심이 많은 개발자 smith입니다. 서비스 개발과 더불어 프로세스 개선에도 큰 관심을 두고 있습니다. 더 효율적인 환경, 더 안정적인 서비스를 위하여 다방면으로 고민이 많은 Devops 엔지니어 june입니다. 카카오모빌리티에서 devops 엔지니어로 일하고 있는 louis입니다. 개발과 인프라 관리 프로세스의 자동화 및 간소화에 관심이 많습니다." 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-87 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao202...
모바일 앱 개발 데브옵스 · 인프라
컨퍼런스 if kakao
Preview Mobile @if(kakao)2022
컨퍼런스 if kakao
if(kakao)2022 컨퍼런스에서 Mobile 관련 기술 발표 트랙을 소개합니다. 03:00 1. 다리는 걸을 뿐.. 만보기 서비스 개발기: 만보기 서비스를 개발하면서 겪은 이야기 by 이현재(cado.avo) 항상 성장을 하고픈 iOS 개발자 cado입니다 03:30 2. 카카오페이 iOS 웹뷰 소개 및 리팩토링 이야기 by 윤한울(joey.con) 카카오페이 사용자에게 더 나은 경험을 주고싶은 iOS 개발자 joey입니다. 카카오톡 내의 카카오페이 서비스와 카카오페이 앱을 개발하고 있습니다. 04:13 3. SwiftLayout을 소개합니다.: 선언형 문법으로 가독성 높은 UIKit 코드 작성하기 by 이희종(jay.choi), 최광훈(aiden.h) 저는 카카오톡을 개발하고 있는 iOS 개발자 aiden 입니다 저는 카카오톡을 개발하고 있는 iOS 개발자 jay 입니다 04:40 4. 카카오뱅크 iOS 프로젝트의 모듈화 여정: Tuist를 활용한 모듈 아키텍처 설계...
모바일 앱 개발
컨퍼런스 DEVIEW 2023
그 여자 APP, 그 남자 SDK: Kotlin Multiplatform 적용기
컨퍼런스 엔지니어링데이 2025
KMP 기반 UI 컴포넌트 통합 전략
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] 멀티플랫폼에 대응 가능한 밴드 디자인 시스템의 설계 및 구현 방식에 대해 소개하고, 밴드 안드로이드 팀에서 아이콘 리소스를 자동화하여 관리하는 방법에 대해서 공유합니다. [강의 대상] * 안드로이드 개발자 및 멀티플랫폼에 대한 관심이 있는 분 * 디자인 시스템에 관심이 있는 분 [목차] Episode 1 : 디자인 시스템, 개념에서 실전까지 Episode 2 : KMP, 진짜 실무에 쓸 수 있을까? Episode 3 : BDS 모듈에 KMP 적용하기 Episode 4 : 디자인 시스템 UI 컴포넌트, Maven으로 배포하기 Episode 5 : Figicon으로 아이콘 자동 동기화하기
프론트엔드 모바일 앱 개발
컨퍼런스 엔지니어링데이 2025
생산성을 높이는 Android SDK 배포 전략
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] Android SDK 를 배포하는 프로세스를 개선하거나 자동화 함으로써 생산성을 높였던 경험을 공유하고 그 과정에 대해 소개합니다. [강의 대상 및 직군] Android SDK 배포 효율성과 생산성을 높이고 싶으신 분들 GitHub Actions 를 이용한 자동화에 관심이 있으신 분들 [기술 분류] Android, SDK, Gradle, GitHub Actions
모바일 앱 개발 데브옵스 · 인프라
컨퍼런스 엔지니어링데이 2025