8주차에 우리가 한 건 “길”을 만든 거였지.
탭은 탭대로, 모달은 모달대로, 로그인은 replace로— 네이티브가 길을 잃지 않게.
근데 길이 있어도, 표지판 문법이 틀리면 네이티브는 조용히 못 본 척 해버린다.
(진짜 무섭다. 에러도 안 내고 “그냥 무시”함.)
그래서 9주차는 한 줄로 요약돼:
PathConfiguration의 문법을 ‘정식’으로 바로잡아서, 네이티브가 믿고 따라오게 만들었다.
1) PR #45 (B.6) — “혼종 문법 제거”
우리가 PR #44에서 규칙들을 PathConfiguration에 잘 담아뒀는데, 중간에 presentation: "modal" 같은 애매한 표현이 섞였었어.
Hotwire Native에서 모달은 기본적으로 context: “modal” 로 선언하는 게 정식 루트야.
그리고 presentation은 modal이 아니라 replace, push, pop 같은 “내비게이션 동작”을 지정하는 값들이고.
그래서 이번 주에 한 일:
- 모달 규칙: context: “modal” 로 통일
- 인증 화면: presentation: “replace” 유지 (이건 정식 문법)
- “탭 선택용 tab_id” 같은 건 PathConfiguration 표준 기능이 아니라 네이티브 셸에서 다루는 영역이라, 일단 JSON에서는 욕심을 덜었다
(탭은 iOS/Android 앱 코드에서 잡는 게 더 안정적이야)
2) 우리가 지금 쓰는 PathConfiguration의 ‘정답 구조’
Hotwire Native 공식 문서 기준으로 PathConfiguration은 이렇게 생각하면 돼:
- patterns: URL 매칭(정규식)
- properties:
- context: default / modal (화면이 “어디에” 뜨냐)
- presentation: replace / push / pop / replace_root / clear_all… (화면이 “어떻게” 이동하냐)
즉, 모달인지 아닌지는 context,
로그인 같은 “갈아끼우기”는 presentation으로 잡는 게 정석.
3) 9주차 결론: “이제 네이티브가 조비엣을 오해하지 않는다”
우리는 기능을 만든 게 아니라, 해석 가능한 규칙을 만들었어.
- 웹은 대충 돌아가도 돌아가지만
- 네이티브는 “규칙”이 없으면 바로 길 잃는다
그래서 지금 상태는:
조비엣 = 앱처럼 움직이는 웹(그리고 곧 진짜 앱)
