# 현대자동차그룹 2nd Softeer Tech Meet-up (App 개발) 현대자동차그룹에서 “2nd Softeer Tech Meet-up” 행사에 초대되어서 판교에 방문했습니다. Android개발자 뿐만아니라 iOS개발자 분들도 계셔서 큰 행사장이 가득 찼습니다. 다양한 회사의 모바일 개발자분들과 치맥을 하면서 네트워킹하는 시간도 가졌습니다. 또한, 현대자동차그룹 모빌리티 개발자 분들께서 소프트웨어 개발을 하면서 경험했던 일들을 공유하는 시간을 가졌습니다. 해당 발표를 보고 배운 점을 정리해 보고자 합니다. ### 통합 모빌리티 서비스 App 개발 Best Practice - 임종명님 - 현대자동차에서 직접 개발한 실시간 최적경로 생성 기술을 적용하여 승객의 실시간 이동 수요를 분석, 파악해 가장 적합한 경로를 찾아 효율적으로 배차하는 수요응답형 버스 서비스인 “셔클” 서비스를 처음부터 개발했습니다. - 처음부터 개발을 하다보니 여러 가지 트러블 슈팅을 겪었으며, Android, iOS 별로 맞추는 작업이 어려웠습니다. - 이를 해결하기 위해서 먼저 클린 아키텍처를 통해서 비즈니스 로직을 Android, iOS와 최대한 동일하게 작성을 했습니다. - 풀링 방식으로 이벤트를 받아오기에는 서버 부담이 생겨, gRPC를 채택을 하였습니다. (어떤 지표를 통해서 해당 스펙을 선택하셨는지 명확하게 알 수 없어서 아쉬웠습니다..) - gRPC에서 제공하는 Proto 를 사용해서 iOS, Android에 데이터 레이어를 동일하게 작성할 수 있었습니다. ### Key Maker : App 개발이 체질 - 김헌웅님 - 요즘 자동차는 스마트 폰으로 차를 열고 닫을 수 있는데 어떠한 방식으로 작동을 하는지를 간략적으로 알 수 있었습니다. - NFC 및 BLE 기능을 사용하며, 자동차 내부 시스템과 서버 그리고 클라이언트의 통신을 통해서 디지털 키를 안전하게 사용 및 공유를 할 수 있다는 것을 알 수 있었습니다. - 보조 배터리가 떨어졌을 때 통신 문제 및 아직 다양한 문제들이 있으며 현재 점차적으로 해결해나아갈 것이라고 합니다. ### MY GENESIS App 개발 여정 with SwiftUI, Compose - 배홍열님, 정태훈님 iOS - iOS 에서 MapKit을 SwiftUI에서 사용하기 위해서 컨퍼팅하기 위해 겪었던 트러블 슈팅에 관련해서 발표하셨습니다. - MapKit에 유사하게 프로퍼티들을 클래스로 선언하여 연결해 주었으며, MapKit 뿐만 아니라 다양한 지도 SDK와 호환이 될 수 있게 구조를 짰습니다. - SwiftUI 특성상 상태 프로퍼티가 변경되면 뷰가 업데이트가 되어 줌이 변경되거나, 깜빡이는 현상이 있었는데 해당 프로퍼티 값들이 이전과 변경되었는지 하나씩 비교를 해주면서 바꿨을 때만 값이 세팅되게 변경해서 문제를 해결했다고 합니다. - 지도를 움직일 때 리스트도 업데이트가 돼서 느리게 움직이는 현상이 있었는데 combine에서 throttle을 써서 해결을 했다고 합니다. Android - Glance를 사용해서 Compose로 Android 위젯을 만들 수가 있습니다. - XML로 개발해 본 경험이 없어서 Glance를 사용해 보려고 시도를 해보셨다고 합니다. - 과거에는 알파 단계였는데 현재는 정식 릴리스 상태라고 합니다. - 일반 Compose랑 크게 차이가 없어서 쉽게 사용 가능하다고 합니다. - 위젯도 오류가 Firebase Crashlytics에 잡히는 것을 확인하여 수정하였다고 합니다. 현대자동차에서 최신 기술들을 도입해 보려고 노력하며, 문제를 해결하기 위해 다양한 시도를 하고 있다는 것을 알 수 있는 자리였습니다.
로그인 후 모든 글을 볼 수 있습니다.