본문으로 바로가기
제품데스크톱 도구TASTECAD도면 확인TASTEFILES파일 관리TASTEFTP파일 전송TASTESSH원격 작업공간TASTEZIP압축과 해제개발 도구TASTECODERust 통합 개발 환경TASTESTUDIO통합 개발·테스트 환경TASTEETL데이터 통합(ETL)서버TASTEREMOTE원격 데스크톱 서버TASTEGEO공간정보 서버TASTEMAIL메일 작업공간시작하기다운로드문서구매모든 제품
마켓플레이스
소식
개발소식오늘의 개발 소식개발 문서프로그래밍 언어RustTypeScriptJavaScriptPythonGoC#JavaCC++KotlinDart프런트엔드 프레임워크Next.jsReactVue.js · NuxtSvelteKitAngular서버 프레임워크Spring BootDjangoFastAPIASP.NET CoreNestJS · Express앱 · 데스크톱 프레임워크TauriFlutterReact NativeElectron알고리즘알고리즘 기초알고리즘 핵심알고리즘 심화실무 알고리즘
커뮤니티프로젝트개발 로그프롬프트AI 도구 이슈쇼케이스커뮤니티 안내
협업기술 전수홈페이지 구축데스크톱 앱 구축릴리스·결제 파이프라인판매 파트너문의
서비스원격 데스크톱설치 패키지 커스텀
TASTEDEV
제품

데스크톱 도구

TASTECAD복잡한 도면을 가볍게 열다TASTEFILES필요한 파일만, 가장 빠르게TASTEFTP파일이 오가는 가장 단정한 길TASTESSH서버와 나 사이, 더 단단한 연결TASTEZIP더 빠르게 묶고, 더 안전하게 풀다

개발 도구

TASTECODERust 앱을 편집 · 빌드 · 디버깅 · 테스트까지 한 창에서TASTESTUDIO편집부터 원격 테스트와 승인 기반 AI 수정까지TASTEETL값을 보며 데이터를 옮깁니다

서버

TASTEREMOTE우리 회사 서버로 운영하는 원격 데스크톱TASTEGEOGeoServer 호환 공간정보 서버를 Rust로 다시 세웁니다TASTEMAIL메일의 주도권을 다시 내 손에

시작하기

다운로드모든 제품 최신 판문서제품 사용법구매구독 · 영구 라이선스모든 제품모든 제품 한눈에
모든 제품
마켓플레이스소식
개발

소식

오늘의 개발 소식언어 · 프레임워크 · GitHub · AI 공식 발표개발 문서언어 · 프레임워크 · 알고리즘 안내서

프로그래밍 언어

RustTypeScriptJavaScriptPythonGoC#JavaCC++KotlinDart

프레임워크

프런트엔드 프레임워크Next.jsReactVue.js · NuxtSvelteKitAngular
서버 프레임워크Spring BootDjangoFastAPIASP.NET CoreNestJS · Express
앱 · 데스크톱 프레임워크TauriFlutterReact NativeElectron

알고리즘

알고리즘 기초복잡도 분석 · 정렬 · 탐색 · 기본 자료구조 · 트리와 힙알고리즘 핵심그래프 탐색 · 최단 경로와 최소 신장 트리 · 동적 계획법 · 탐욕 알고리즘 · 분할 정복 · 백트래킹알고리즘 심화문자열 알고리즘 · 수학과 정수론 · 비트 연산 · 구간 트리 · 유니온 파인드실무 알고리즘코딩 면접 풀이 전략 · LRU 캐시 · 레이트 리미터 · 일관된 해시
개발 문서 전체 보기
커뮤니티
프로젝트빌더와 작업 발견개발 로그결정과 시행착오프롬프트재사용 가능한 지시AI 도구 이슈Claude · Codex · Gemini 문제와 우회법쇼케이스완성된 결과커뮤니티 안내공개하고 함께 만드는 방식
협업
기술 전수Rust·egui 네이티브 앱 만들기홈페이지 구축10개 언어, 계정, 문서·다운로드데스크톱 앱 구축Rust·egui, WebView 없이릴리스·결제 파이프라인서명 · MSI·deb·rpm·AppImage · 해시판매 파트너소개하고 결제액의 30% 받기문의구축 · 제휴 · 투자 문의
서비스
원격 데스크톱브라우저로 내 컴퓨터에 접속설치 패키지 커스텀필요한 기능만, 설정은 미리
구매
KO
한국어EnglishDeutschEspañolFrançaisItalianoPortuguês (Brasil)日本語简体中文繁體中文
로그인
로그인
TASTEDEV

작은 도구부터, 더 좋은 개발까지.

support@tastedev.netTASTEDEV 후원하기
제품제품군구매문서다운로드마켓플레이스고객 지원
커뮤니티프로젝트개발 로그프롬프트AI 도구 이슈쇼케이스
정책개인정보처리방침이용약관구독 약관환불 정책커뮤니티 운영 정책
계정로그인가입하기
방문자
오늘
012345678901234567890123456789012345678901234567890123456789
어제
012345678901234567890123456789012345678901234567890123456789
누적 조회
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
상호
지엑스소프트
대표자
최영구
사업자등록번호
853-44-00368
주소
인천광역시 미추홀구 경인로 351 9층 V24
전화
+82-10-4404-1523
이메일
whitecalvin@tastedev.net
개인정보 보호책임자
최영구

© 2026 TASTEDEV제품 정보는 현재 검증된 개발 소스를 기준으로 합니다.출시·고도화 중

Tauri 문서
Tauri
Tauri 시작하기프로젝트 구조핵심 개념데이터와 상태테스트배포
토론

Tauri 안내서 · 1/6

Tauri 시작하기

이 장에서는 Tauri 개발에 필요한 도구를 설치하고, 첫 프로젝트를 만들어 개발 모드로 실행하는 과정까지 다룹니다. 편집기 설정과 자주 쓰는 CLI 명령도 함께 살펴봅니다.

Tauri 앱은 두 부분으로 이루어집니다. 화면은 HTML · CSS · JavaScript로 만들고 운영체제가 제공하는 WebView가 그립니다. 창 관리, 파일 접근, 시스템 연동 같은 일은 Rust로 작성한 코어가 맡습니다. 그래서 개발 환경에는 Rust 도구 모음, 운영체제별 WebView 개발 라이브러리, 그리고 웹 프런트엔드를 쓴다면 Node.js가 필요합니다.

사전 준비

먼저 운영체제별 시스템 의존성을 설치합니다.

운영체제필요한 것
WindowsMicrosoft C++ Build Tools("C++를 사용한 데스크톱 개발" 워크로드), WebView2 런타임(Windows 11과 최신 Windows 10에는 보통 이미 들어 있음)
macOSXcode 또는 Xcode Command Line Tools(데스크톱만 만든다면 xcode-select --install로 충분)
LinuxWebKitGTK, 빌드 도구, OpenSSL, 앱 표시기 라이브러리 등

Debian · Ubuntu 계열에서는 다음 명령으로 한 번에 설치할 수 있습니다. 다른 배포판은 공식 문서의 사전 준비 쪽에서 패키지 이름을 확인하세요.

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
  build-essential curl wget file \
  libxdo-dev libssl-dev \
  libayatana-appindicator3-dev librsvg2-dev

다음으로 Rust를 공식 설치 도구 rustup으로 설치합니다. Windows에서는 rustup-init.exe를 내려받아 실행하거나 winget install --id Rustlang.Rustup을 쓰고, MSVC 툴체인을 기본으로 둡니다.

# macOS · Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 설치 확인
rustc --version
cargo --version

JavaScript나 TypeScript로 화면을 만든다면 Node.js LTS 버전도 설치합니다. Android나 iOS 앱까지 만들 계획이라면 Android Studio와 NDK, 또는 Xcode 전체가 추가로 필요하지만, 데스크톱 앱부터 시작한다면 지금은 건너뛰어도 됩니다.

프로젝트 만들기

새 프로젝트는 create-tauri-app으로 만듭니다.

npm create tauri-app@latest

명령을 실행하면 몇 가지를 묻습니다.

  1. 프로젝트 이름: 폴더 이름이자 기본 앱 이름입니다.
  2. 식별자(identifier): com.example.myapp처럼 역도메인 형식의 고유한 이름입니다.
  3. 프런트엔드 언어: TypeScript/JavaScript, Rust, .NET 중에서 고릅니다.
  4. 패키지 관리자: npm, pnpm, yarn, bun 등입니다.
  5. UI 템플릿: Vanilla, Vue, Svelte, React, Solid, Angular, Preact 등입니다.
  6. UI 종류: TypeScript 또는 JavaScript입니다.

이미 있는 웹 프로젝트에 Tauri를 붙일 수도 있습니다. CLI를 개발 의존성으로 설치하고 tauri init을 실행하면 src-tauri 폴더가 만들어지며, 개발 서버 주소와 빌드 결과 폴더, 빌드 명령을 묻습니다.

npm install -D @tauri-apps/cli@latest
npx tauri init

개발 모드로 실행하기

프로젝트 폴더로 이동해 의존성을 설치하고 개발 모드로 실행합니다.

cd tauri-app
npm install
npm run tauri dev

tauri dev는 설정 파일의 beforeDevCommand(보통 Vite 개발 서버)를 먼저 띄우고, Rust 코어를 컴파일한 뒤 앱 창을 엽니다. 처음에는 Rust 의존성을 모두 빌드하므로 몇 분 걸릴 수 있지만, 이후에는 바뀐 부분만 다시 컴파일합니다. 프런트엔드 코드를 고치면 화면이 바로 새로 고쳐지고, Rust 코드를 고치면 다시 빌드한 뒤 앱이 재시작됩니다.

개발 빌드에서는 창에서 마우스 오른쪽 버튼을 눌러 "검사(Inspect)"를 고르거나 Windows · Linux에서 Ctrl+Shift+I, macOS에서 Cmd+Option+I를 눌러 WebView 개발자 도구를 열 수 있습니다.

템플릿의 프런트엔드는 Rust 함수 greet를 이렇게 부릅니다. 이 호출 방식은 3장에서 자세히 다룹니다.

import { invoke } from "@tauri-apps/api/core";

const input = document.querySelector<HTMLInputElement>("#greet-input")!;
const output = document.querySelector<HTMLParagraphElement>("#greet-msg")!;

document.querySelector("#greet-form")!.addEventListener("submit", async (event) => {
  event.preventDefault();
  output.textContent = await invoke<string>("greet", { name: input.value });
});

편집기 설정

VS Code를 쓴다면 rust-analyzer 확장과 Tauri 확장을 설치합니다. tauri.conf.json에는 JSON 스키마가 연결되어 있어 설정 키를 자동 완성으로 볼 수 있습니다. Rust 코드가 src-tauri 아래에 있으므로, 저장소 루트를 열었을 때 rust-analyzer가 프로젝트를 찾지 못하면 .vscode/settings.json에 위치를 알려 줍니다.

{
  "rust-analyzer.linkedProjects": ["src-tauri/Cargo.toml"]
}

자주 쓰는 CLI 명령

명령하는 일
npm run tauri dev개발 모드로 실행
npm run tauri build배포용 빌드와 설치 파일 생성
npm run tauri add fs공식 플러그인 추가(Rust · JavaScript 양쪽)
npm run tauri icon app-icon.png원본 그림 하나로 모든 크기의 아이콘 생성
npm run tauri info설치된 도구와 버전 등 환경 진단
npm run tauri android initAndroid 프로젝트 준비(iOS는 ios init)

빌드가 실패하거나 창이 뜨지 않을 때는 먼저 tauri info로 시스템 의존성이 빠지지 않았는지 확인하세요.

정리

  • Tauri 개발에는 Rust, 운영체제별 WebView 개발 라이브러리, 웹 프런트엔드를 쓴다면 Node.js가 필요합니다.
  • npm create tauri-app@latest로 프로젝트를 만들고 npm run tauri dev로 실행합니다.
  • 첫 빌드는 오래 걸리지만 이후에는 바뀐 부분만 다시 컴파일합니다.
  • 편집기에는 rust-analyzer를 설치하고, 문제가 생기면 tauri info부터 확인합니다.
이 장에 대해 질문이 있나요?
다음 장프로젝트 구조

댓글 0개

인기 댓글순최신순

로그인 · 로그인하면 댓글을 남길 수 있습니다.