경험 중심 1인칭 답변
모바일 앱 내 웹뷰로 서비스를 개발할 때 제가 가장 먼저 고려하는 것은 네이티브 앱과의 이벤트 인터페이스 정의입니다. 웹뷰는 독립된 렌더링 환경이기 때문에 스크롤 이벤트, 뒤로가기 제스처, 키보드 레이아웃 변경 등이 네이티브와 다르게 동작할 수 있습니다. 특히 소프트 키보드가 올라오면 웹뷰 높이가 변하거나 레이아웃이 밀리는 문제가 iOS와 Android에서 다르게 나타났고, 이를 처리하는 CSS와 JS 조건 분기 코드를 별도로 작성한 경험이 있습니다. 또한 인증 토큰 공유 방식도 주의해야 합니다. 웹뷰에서 네이티브 로그인 세션을 재사용하려면 postMessage 또는 딥링크 파라미터로 토큰을 전달하는 구조가 일반적인데, 이 과정에서 XSS 취약점이 생기지 않도록 출처 검증을 반드시 포함합니다.
웹뷰는 작게 시작해서 사이드 이펙트를 단계적으로 발견하는 방식이 가장 안전합니다. 앞으로도 웹뷰-네이티브 인터페이스 정의와 보안 검증을 먼저 설계하는 방식을 유지하겠습니다. 작게 시작해 사이드 이펙트를 단계적으로 발견하는 것이 가장 안전한 웹뷰 개발 접근입니다.