Useragent 모듈 개발
프로젝트 개요
nuxtjs/device 모듈 기반으로 UA를 판별하는 기능들을 구성하고, 사내에서 자주 사용되는 카카오 인앱 분기 및 버전 분기를 추가하여 사용할 수 있도록 모듈화
프로젝트 정보
- 사내 모듈
기술 스택
- FRONT: JavaScript
- class를 사용하여 모듈 제작
주요 구현 기능
- 카카오 인앱 브라우저 진입 여부 판단 기능 구현
- 카카오 앱 버전 up / down 판단 기능 구현
- iOS 13 버전 태블릿을 클라이언트 로직에서 분기하는 기능 구현
- iOS 13 버전부터 태블릿과 Mac PC의 UA가 동일하여 태블릿을 분기할 수 없는 이슈가 있어, 클라이언트 로직에서
maxTouchPoints를 이용해 분기할 수 있도록 구현
- iOS 13 버전부터 태블릿과 Mac PC의 UA가 동일하여 태블릿을 분기할 수 없는 이슈가 있어, 클라이언트 로직에서
성과
- 사내에서 자주 사용되는 카카오톡 인앱 브라우저 진입 여부나, 웹뷰 지원을 위한 버전 분기 등의 기능을 추가하여 개발 리소스 단축에 기여
- 모듈 및 가이드를 제공하여 개발에 참여하지 않은 제3자도 손쉽게 사용할 수 있도록 구현
개선 사항
- 사내 private 저장소에서 구현되었기 때문에 npm으로 Git 저장소 자체를 라이브러리처럼 설치하여 사용하는 데 보안 이슈가 있었음
- private 저장소이기 때문에 해당 모듈이 포함된 프로젝트 자동 배포 시 문제가 됨
- 모듈 자체를 복사해서 사용하는 방식을 택했으며, 결론적으로는 기본 모듈에서 커스텀도 가능한 형태여서 더 효율적이었음