개발자

프론트엔드 웹뷰 질문입니다.

2023년 12월 08일조회 606

1. 웹뷰 작업은 vite react 로 해도 괜찮을까요? 구글링 했을때 레퍼런스가 많지 않아서 정확하게 결정을 못내리겠습니다 2. Next 로 작업을 한다면 SSR 이외에 이점은 뭐가 있을까요? 3. 웹뷰 작업 후 React 는 AWS 를 이용한다면 S3 버킷에 올려 퍼블릭 엑세스 할당 후 클라우드 프론트를 태워서 호스팅 하면 될 것 같은데 Next 는 어떤 방식으로 호스팅을 할까요? 기존에 Vercel 과 EC2 위에 Next 프로젝트를 호스팅 한 경험이 있습니다. 4.앱에서 로그인이 된 상태에서 웹뷰를 띄었을때 세션을 유지하는 방법은 어떻게 될까요? 로그인 인증은 JWT 방식입니다. 네이티브 앱에서 로그인 된 상태에서 웹뷰를 띄어서 세션을 유지하는 방법의 플로우를 알려주시면 감사하겠습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

백승훈님의 프로필 사진

다른 분들이 답변을 달지 않아 제가 아는 한도 내로 적어봅니다. 1. 상관없습니다. React나 vue 등 웹에서 작동하는 라이브러리라면 어느 것이나 웹뷰로 사용할 수 있습니다. 다만 React Native나 Flutter등을 사용하지 않는다면 Native쪽은 따로 작업하여야 할 탠대 규모가 작거나 개발자 인수가 적다면 처음부터 RN등을 고려하시는게 좋을 것 같습니다. 2. Next를 굳이 도입할 필요는 없을 것 같습니다. 14버전 이후는 아직 안정화나 공식문서가 적어 도입을 비추천드리고 13 이전 버전이라면 이후 pages를 활용한 방식이 사장될 수 있기에 (Next에서 app방식을 밀어주고 있습니다.) 유지보수적인 측면도 고려하면 CRA를 추천 드립니다. 3. 웹뷰(프론트)단이라면 일반적인 웹 배포방식을 따른다면 문제없습니다. 말씀 주신 방식으로도 큰 문제는 없을 것 같습니다. Next는 Vercel 이외에 따른 방식으로 호스팅할 경우 복잡도가 매우 증가됨으로 되도록 Vercel을 끼고 작업하셔야 합니다. 4. 마찬가지로 일반적으로 프론트엔드의 로그인로직을 관리하는것과 같은 방식으로 사용하시면 됩니다. 단 저장장소가 LocalStorage같은 pc/클라이언트 환경이 아닌 모바일임을 감안하여 기기 단말의 저장소 (RN이라면 AsyncStorage 를 검색하시면 됩니다) 에 토큰을 저장 활용하셔야 합니다. 추가적으로 앱의 경우 외부앱 이동, 기기의 키들의 사용 , 메뉴키를 통해 내렸다 올리는 기능 등 여러가지 변수를 추가적으로 고려해야 합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 12월 08일

1. Vite와 React를 사용하여 웹뷰 작업을 하는 것이 가능합니다. Vite는 모듈 번들링과 개발 환경 세팅에 매우 효율적인 도구이고, 대부분의 React API와 라이브러리와 호환됩니다. 하지만 언급하신대로 참조할 수 있는 레퍼런스나 자료가 상대적으로 적을 수 있습니다. 2. Next.js를 사용하면 서버 사이드 렌더링 외에도 경로 기반 라우팅 시스템, API 경로, 정적 웹사이트 생성 등의 이점을 얻을 수 있습니다. 또한 페이지 별로 개별적인 코드 분할이 가능해 초기 로딩 속도 최적화에 도움이 됩니다. 3. Next.js 프로젝트의 호스팅 방식은 여러 가지가 있습니다. Vercel과 AWS EC2는 이미 언급하셨으니 추가적으로 AWS Amplify, Heroku 등 다양한 클라우드 서비스에서 지원하는 Node.js 호스팅 환경에서 구동시킬 수 있습니다. 4. 일반적으로 WebView에서 세션을 유지하려면 WebView가 시작되기 전에 JWT 토큰을 받아서 저장하고 WebView의 HTTP요청 헤더에 JWT 토큰을 담아서 보내면 됩니다. 이 경우 서버측에서는 해당 토큰을 인증하고 인증된 사용자에 대한 요청을 처리하게 됩니다. iOS와 Android 모두 WebView에서 HTTP 헤더를 커스텀하는 것이 가능하여 구현할 수 있습니다. 위의 답변들은 일반적인 상황에 대한 해결 방안이며, 프로젝트의 세부 사항에 따라 다양한 방식으로 접근하셔도 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!