하나의 Vue 앱, 세 개의 홈: Tauri를 사용한 ... 노트

하나의 Vue 앱, 세 개의 홈: Tauri를 사용한 데스크톱, Capacitor를 사용한 안드로이드, 그리고 웹

저자는 데스크톱 클라이언트, 안드로이드 앱, 웹 앱으로 사용될 단일 Vue.js 애플리케이션을 구축했습니다. 이 접근 방식은 모든 대상에 걸쳐 통합된 UI, API 호출 및 OAuth 흐름을 가능하게 합니다. 데스크톱의 경우 Rust 백엔드를 갖춘 Tauri를 사용했으며, 안드로이드의 경우 Capacitor를 선택했습니다. 일반 웹 버전도 사용할 수 있습니다. 주요 과제는 크로스 컴파일이 불가능하다는 점이며, 빌드를 위해서는 각 플랫폼의 네이티브 툴체인이 필요합니다. 구형 Windows 버전에는 WebView2가 없을 수 있으므로 설치 프로그램과 함께 부트스트래퍼를 번들로 제공해야 할 수 있습니다. 패키지 앱에서 OAuth 리디렉션을 처리하는 것은 복잡하며, 기존 웹 서버 콜백 대신 사용자 지정 스킴 또는 딥 링크가 필요합니다. Rust 릴리스 바이너리 크기는 panic="abort" 및 링크 타임 최적화와 같은 특정 Cargo.toml 최적화를 통해 줄일 수 있습니다. 이러한 복잡성에도 불구하고 저자는 별도의 프로젝트 유지 관리를 피하기 위해 이 접근 방식이 가치 있다고 생각했습니다. 저자는 데스크톱 및 모바일을 대상으로 하는 웹 개발자에게 Vue와 Tauri 및 Capacitor의 조합을 추천하며, 패키징 및 OAuth의 복잡성을 고려할 것을 조언합니다. 저자는 또한 이러한 유형의 개발에 대한 프리랜서 서비스를 제공합니다.