Mockin-2024 / frontend

0 stars 0 forks source link

web_build #4

Closed KimHyeokMin0 closed 1 week ago

KimHyeokMin0 commented 1 week ago
KimHyeokMin0 commented 1 week ago
  1. flutter secure storage는 안드로이드와 iOS에서는 호환되지만, 웹에서는 호환되지 않음. 따라서 웹에서는 shared_preferences를 사용하는 플랫폼별 분기 처리를 사용해야 함. Flutter에서 kIsWeb 플래그를 사용해 웹 플랫폼 여부를 판별할 수 있음. secure storage와 shared_preferences를 혼용해서 사용하면서 기존의 static한 코드를 사용할 수 없게 됨. shared preferences는 instance를 생성하므로 static을 붙일 수 없음. static을 사용할 수 없으니 기존의 코드에 모두 빨간 줄이 뜸. 따라서 토큰을 저장하고 읽어오는 JwtToken 클래스를 싱글톤 패턴으로 만듦.
KimHyeokMin0 commented 1 week ago
  1. 웹 빌드에서 화면마다 고유한 URL 경로를 갖게 만들려면 '페이지 라우팅'을 설정해야 함. named route 방식이라 GoRouter 패키지같은 라우팅 패키지를 활용해 페이지마다 고유 URL을 지정할 수 있음.
KimHyeokMin0 commented 1 week ago

Navi() 화면으로 진입할 때까지만 GoRouter를 사용하고, Navi() 내부에서는 TabController를 사용하여 페이지 관리하는 방식으로 결정. 애초에 안드로이드/iOS를 염두에 두고, 웹은 앱키/앱시크릿키를 등록하는 용도로만 사용할 예정이었기에 큰 문제는 없을 것이라고 봄. 중첩 라우팅에 대한 복잡성도 줄일 수 있음. GoRouter와 TabController를 조합하여 여러 구현 방법을 찾아봤으나 생각한대로 구현되지 않았음. 차후에 시간이 남으면 다시 시도해볼 것임.

KimHyeokMin0 commented 1 week ago