site-icon Hong Cheung
Jun 21, 2025

ZenTube 4.1 제출 및 Capacitor + Next.js 관련 문제

ZenTube 4.1 - 심사 대기 중…

오늘 4.1 버전의 버그 몇 가지를 수정하고 App Store 심사에 제출했습니다. 평소처럼 기다리는 중입니다…

다음 업데이트에서는 딥 링크를 구현해야 합니다.

React Native Web VS Next.js 웹 앱 + Capacitor 사이의 고민

Next.js 웹 앱에 Capacitor를 사용하려고 했습니다. 그런데 몇 가지 사실을 알게 되었습니다:

1. Android에서의 Capacitor 문제

iOS에서는 잘 작동하지만, Android 앱에서 를 사용할 때 큰 장벽에 부딪혔습니다. 프로젝트에 정적 내보내기(static export)를 사용했는데도 Link 라우트 처리가 Android에서는 작동하지 않았습니다. 알고 보니 Android 웹 뷰가 너무 오래되어 이를 지원하지 못하는 것이었습니다. 그래서 Next.js의 파일 기반 페이지 라우트가 Link를 통해 작동하지 않았습니다.

문제를 좀 더 조사하기 위해 useRoute, route.push, 그리고 href를 사용해 보았지만 소용이 없었습니다. 나중에 깨달은 것은 대부분의 사람들이 Capacitor를 React나 Svelte와 함께 사용한다는 점입니다. 하지만 가장 중요한 것은, 그들이 이를 멀티 페이지 웹 앱이 아닌 단일 페이지 웹 앱(Single Page Web App)으로 사용한다는 것입니다. 라우트를 계속 작동시키고 싶은 입장에서, Capacitor를 사용해 웹 코드베이스 하나만 유지하는 이점을 활용할 수는 없었습니다. 해결 방법이 있을 수도 있지만 아직 찾지 못했습니다. 현재 단계에서는 웹이 가장 중요하기 때문에 오프라인 동기화 기능을 갖춘 PWA로 만드는 작업을 하고 있습니다.

2. React Native Web은 왜 안 될까?

Expo와 함께 React Native Web을 사용한 다른 프로젝트가 있었는데, 정말 좋은 경험이었습니다. 사실 어쩌면 그게 정답일 수도 있다고 생각하고 있습니다. 웹 앱이라 하더라도 RN web을 사용하면 향후 모바일 앱 개발을 위한 좋은 기반이 됩니다. 모바일 앱을 출시하지 않기로 결정해도 괜찮을 것입니다. 게다가 RN web과 함께 JS 라이브러리를 사용할 수 있고, 라우트도 여전히 가질 수 있습니다.

유일한 단점은 의존성 지옥인데, 이는 어느 정도 피하고 싶습니다. Next.js가 훨씬 더 단순하고 관리하기 쉽습니다.


제 스택이 RN web에서도 작동하는지 확인해 볼 것 같습니다. 그리고/또는 Android에서 Capacitor의 이상한 라우트 문제를 해결해 보려고 합니다.

어떻게 생각하시나요?

이전
Copyright 2026
사이트맵
개인정보 처리방침
서비스 약관

테마 제공 Astro-Yi