Tauri 개발 윈도우 시작 cargo tauri dev 이 명령을 처음 실행하면 Rust 패키지 관리자가 필요한 모든 패키지를 다운로드하고 빌드하는 데 몇 분이 소요됩니다. Rust가 빌드를 완료하면 Webview가 열리고 웹 앱이 표시됩니다. 웹 앱을 변경할 수 있으며 도구에서 지원하는 경우, WebView는 브라우저처럼 자동으로 업데이트됩니다. Rust 파일을 변경하면 자동으로 다시 빌드되고 앱이 자동으로 다시 시작됩니다. Cargo.toml 및 소스 제어 정보 프로젝트 저장소에서 "src-tauri/Cargo.toml"과 함께 "src-tauri/Cargo.lock"을 git에 커밋해야 합니다. 왜냐하면 Cargo는 결정된 빌드를 제공하기 위해 잠금 파일을 사용하기 때문입니다. 따라서, 모든 애플..
Tauri 구조 API (JavaScript / TypeScript) 웹뷰가 백엔드 활동을 호출하고 수신할 수 있도록 프론트엔드 프레임워크로 가져와 cjs 및 esm JavaScript 끝점을 생성해주는 Typescript 라이브러리입니다. 웹뷰에서 호스트로 메시지를 전달할 때 사용합니다. Bundler (Rust / Shell) Tauri 앱을 빌드하는 과정에서 감지하거나 플랫폼에 대해 감지하고 알려주는 라이브러리입니다. Tauri 프로젝트 외부에서 사용할 수 있을 것입니다. cli.rs (Rust) 이 Rust 실행 파일은 CLI를 위해 필요로 하는 모든 활동에 대한 전체 인터페이스를 제공합니다. cli.js (JavaScript) 각 플랫폼용 npm 패키지를 만들기 위해 napi-rs를 활용..
저는 Sveltekit 스택을 활용하여 빌드하는 방식으로 진행합니다. Tauri는 모든 프론트엔드 프레임워크와 Rust 코어를 함께 사용해 데스크톱 앱을 빌드하기 위한 프레임워크입니다. 각 앱은 두 개의 부분으로 구성됩니다: 창을 만들고 그 창에 네이티브 기능을 내어주는 Rust 바이너리 창 안에서 사용자 인터페이스를 만들기 위해 선택한 프론트엔드 따라가다보면, 먼저 프론트엔드를 스캐폴딩하고, Rust 프로젝트를 설정한 다음, 마지막으로 어떻게 둘 사이 통신이 이루어지는지 볼 수 있습니다. 다음은 빌드하게 될 내용의 미리보기 입니다: 프론트엔드 만들기 $ yarn create svelte Project name JavaScript 프로젝트의 이름이 될 것입니다. 유틸리티가 만드는 폴더의 이름이 되지만 그..
TAURI VS ELECTRON TAURI Tauri는 웹을 기반으로 Desktop Application을 빌드할 수 있는 툴킷이며, 거의 모든 프론트엔드 프레임워크와 호환된다는 것이 큰 장점입니다. 백엔드 언어는 Rust기반이며 CLI(Command line interface)은 Node.js가 사용되었습니다. 웹 기반 데스크탑 앱을 개발한다는 점에서 비슷한 프레임워크인 Electron과 유사한 점이 많습니다. Electron Electron은 크로미움과 Node.js에 기초하여 HTML, CSS, JavaScript를 이용하여 웹앱을 제작하듯 데스크탑 기반의 앱을 제작할 수 있는 프레임워크입니다. Cheng Zhao가 개발한 오픈소스 프레임워크로 현재는 깃허브에 의해 개발이 계속 진행 중입니다. 20..
변수와 가변성 let으로 불변성 변수 선언 값 변경을 시도하면 에러가 발생 합니다. fn main() { let x = 5; println!("The value of x is: {}", x); x = 6; println!("The value of x is: {}", x); } error[E0384]: re-assignment of immutable variable `x` --> src/main.rs:4:5 | 2 | let x = 5; | - first assignment to `x` 3 | println!("The value of x is: {}", x); 4 | x = 6; | ^^^^^ re-assignment of immutable variable mut으로 가변성 변수 선언 값을 변경해도 에러..
$ mkdir my-rust-project $ cd my-rust-project 설치 $ sudo pacman -Sy rustup $ rustup default stable info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: latest update on 2022-12-15, rust version 1.66.0 (69f9c33d7 2022-12-12) info: downloading component 'cargo' info: downloading component 'clippy' info: downloading component 'rust-docs' info: downloading component 'rust-std' inf..