C.W.K.
Stream
Lesson 01 of 05 · published

Tauri, 모바일로 가다

~12 min · tauri, mobile, ios, android

Level 0웹 관광객
0 XP0/56 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
"코어는 공짜로 따라와. 모바일이 진짜 일을 요구하는 건 셸이야."

약속, 정확히

Tauri 2의 간판 기능이 모바일이야: 같은 Rust 코어랑 같은 웹뷰 프론트엔드가 데스크톱만이 아니라 iOS랑 Android로 빌드할 수 있어. 이건 진짜로 네가 배운 그 2-프로세스 아키텍처야 — 네이티브 Rust 프로세스랑 OS 웹뷰 — 가 폰에서 도는 거야. SwiftUI나 Jetpack Compose로 트랜스파일하는 게 아니고, 데스크톱 .app을 그대로 돌리는 것도 아냐. 네 기존 코드를, 다시 타깃한 거야.

뭐가 옮겨가고 뭐가 안 가나

깊은 부분은 거의 공짜로 따라와: 네 command, invoke, serde 직렬화, 상태 관리, Rust 로직 대부분이 모바일에서 컴파일되고 돌아. 진짜 재작업이 필요한 건 이야: UI가 터치랑 작은 화면에 맞아야 하고, 데스크톱 멀티윈도우 모델이 없고, 앱 생애주기가 더 거칠고(OS가 공격적으로 suspend하고 kill해), safe area·노치·온스크린 키보드 같은 플랫폼 관심사가 나타나. 코어를 공유하고 프론트엔드의 레이아웃이랑 상호작용을 모바일용으로 다시 짜기로 계획해.

그리고 명확한 경계: Cinder는 데스크톱 전용

이 퀘스트 다른 곳에선 Cinder가 worked example이야. 여긴 아냐. Cinder는 Photoshop 옆에 앉는 macOS 데스크톱 창작 도구야 — 걔가 하는 일엔 모바일이 무관해서, 일부러 Tauri 모바일 지원을 안 써. 이 트랙은 Cinder 너머 Tauri의 도달 범위를 가르쳐. 둘을 분리해둬: 여기서 '모바일'을 읽으면 그건 Tauri 능력이지 Cinder 기능이 아냐.

Code

넘어가는 것 vs 안 가는 것·text
데스크톱에서 모바일로 건너기:

  옮겨감 (공유해)                재작업 필요 (다시 지어)
  ─────────────────────          ─────────────────────────
  Rust command + invoke          UI 레이아웃 (터치, 작은 화면)
  serde 직렬화                   멀티윈도우 모델 없음
  managed state, 이벤트          생애주기 (OS가 suspend/kill)
  Rust 코어 로직 대부분          safe area, 노치, 키보드
  IPC 멘탈 모델                  모바일 특정 permission

  전략: 코어를 공유하고, 셸을 다시 지어.

External links

Exercise

앱 아이디어를 골라 디자인을 '코어'(로직, 데이터, command — 공유 가능)랑 '셸'(UI, 레이아웃, 상호작용 — 모바일 버전 필요)로 쪼개. 그대로 재사용할 것과 폰용으로 다시 지을 것을 써. Tauri 모바일을 두 번째 코드베이스가 아니라 가치 있게 만드는 아키텍처 분리를 연습하는 거야.
Hint
코어 = Rust에 있는 거 + 데이터 모양 + IPC 뭐든. 셸 = React 레이아웃, 내비게이션, 입력 처리. 로직이 UI 아래 많이 살수록 모바일이 더 재사용해. 로직이랑 얽힌 UI가 모바일을 비싸게 만드는 그것이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.