"설정에 적은 창은 실행할 때 열리는 창이야. 코드로 만든 창은 네가 정한 순간에 열리는 창이고."
창을 만드는 두 가지 길
창은 tauri.conf.json에 미리 적어두거나(시작할 때 열려), Rust에서 WebviewWindowBuilder로 그때그때 만들 수 있어. 미리 적어두는 쪽은 메인 창에 딱이고, 그때그때 만드는 쪽은 필요할 때만 여는 창에 써 — 사용자가 Preferences를 누르면 뜨는 설정 창, 두 번째 문서 창, 팝업 같은 것들. 둘 다 결국 같은 WebviewWindow 타입을 만들어.
뭘 보여줄 건데?
창은 뭘 그릴지 알아야 하고, 그걸 정하는 게 WebviewUrl이야. WebviewUrl::App("index.html".into())(또는 라우트 경로)는 함께 실은 프론트엔드를 불러 — 대부분 이 경우야. WebviewUrl::External(url)은 창을 원격 사이트로 돌려놓는데, 이건 조심히 다뤄야 해(원격 콘텐츠를 믿는 문제는 security 트랙에서). WebviewUrl::default()는 앱 진입점을 불러오고. 네가 만드는 창은 대부분 라우트랑 App을 써서 새 창이 네 UI의 특정 화면을 보여주게 될 거야.
빌더 패턴
WebviewWindowBuilder는 설정을 줄줄이 이어 붙이고 — title, 크기, resizable — .build()로 마무리해서 살아 있는 창(아니면 에러)을 돌려줘. 빌더를 시작하려면 AppHandle이나 &App이 있어야 해서, 창을 만드는 코드는 보통 그걸 손에 쥐고 있는 setup이나 command나 이벤트 핸들러에 들어가.