Tauri Framework: Bikin Aplikasi Desktop Modal Web Dev
Gaes, lagi pusing mikirin gimana caranya bikin aplikasi desktop yang next level tapi nggak mau belajar bahasa programming yang ribet kayak C++ atau Rust dari nol? Nah, here's the tea! Ada solusi super hype namanya Tauri Framework. Ini nih yang lagi booming banget buat para developer web yang pengen level up ke aplikasi desktop tanpa harus ninggalin keahlian HTML, CSS, dan JavaScript (atau framework JS favorit kalian kayak React, Vue, Svelte, dll).
Tauri Itu Apa Sih, Kok Bikin Penasaran?
Singkatnya, Tauri itu adalah framework yang memungkinkan kamu bikin aplikasi desktop multi-platform (Windows, macOS, Linux) cuma modal skill frontend doang. Kerennya, Tauri ini super lightweight dan punya performance yang gokil abis, nggak kalah sama aplikasi native.
Terus, kenapa sih Tauri ini worth it banget buat diulik? Nih, spill kegunaannya:
- Modal Skill Web, Hasil Desktop Pro: Ini nih selling point utamanya. Kamu udah jago React? Vue? Atau bahkan vanilla JS? Tinggal gas aja bikin aplikasi desktop. Nggak perlu pusing ngurusin SDK platform yang beda-beda.
- Performa Ngebut & Lightweight: Beda sama Electron yang suka memakan RAM, Tauri pake webview bawaan OS (WebKit buat macOS/Linux, WebView2 buat Windows). Ini bikin aplikasi kamu jadi jauh lebih ringan, nggak boros baterai, dan ngebut banget. Vibesnya kayak aplikasi native beneran, ngab!
- Keamanan Tingkat Dewa: Tauri didesain dengan keamanan sebagai prioritas utama. Dia pake Rust di bagian backend-nya, yang terkenal banget sama safety-nya. Jadi, concern soal vulnerability bisa sedikit ditenangkan.
- Ukuran File Kecil: Karena nggak nge-bundle browser sendiri, ukuran installer aplikasi Tauri itu mini banget. Kebayang kan, aplikasi desktop sekeren apapun tapi ukurannya cuma puluhan MB? Mantul!
- Update Mudah (OTA Updates): Tauri punya fitur auto-updates yang canggih, jadi kamu bisa push update ke pengguna tanpa ribet.
Gimana Caranya Biar Bisa Bikin Aplikasi Pake Tauri? Skuy, Langsung Praktik!
Oke, biar nggak cuma ngomong doang, kita coba bikin aplikasi sederhana pake Tauri. Kita bakal pake React buat frontend-nya, biar makin berasa familiar.
Prasyarat:
- Node.js & npm/yarn terinstall: Pastikan kamu udah punya ini di komputermu.
- Rust & Cargo terinstall: Tauri butuh Rust buat build process-nya. Bisa install dari rustup.rs.
Langkah 1: Setup Proyek Tauri + React
Buka terminal kamu, terus jalanin perintah ini:
# Buat folder proyek baru
mkdir my-tauri-app
cd my-tauri-app
# Install template Tauri + React
# Gunakan cargo-generate untuk mengunduh dan menjalankan template
cargo install cargo-generate
cargo generate --git https://github.com/tauri-apps/create-tauri-app
Nanti bakal ada prompt buat milih frontend framework. Pilih react (atau framework favoritmu). Ikutin aja prompt yang muncul, kayak ngasih nama proyek, dll.
Setelah selesai, masuk ke direktori proyek yang baru dibuat dan install dependensinya:
cd my-tauri-app
yarn install # atau npm install
Langkah 2: Jelajahi Struktur Proyek
Di dalam folder my-tauri-app, kamu bakal nemu struktur kayak gini:
src-tauri/: Ini area backend Rust kamu. Di sinilah konfigurasi Tauri, command, dan event handler ditulis. File utamanya adalahsrc/main.rs.src/: Ini area frontend React kamu. Semuanya yang biasa kamu kerjain di proyek React biasa ada di sini.tauri.conf.json: File konfigurasi utama Tauri. Di sini kamu atur nama aplikasi, versi, ikon, allowlist, dll.
Langkah 3: Bikin Tampilan Sederhana di React
Buka file src/App.jsx (atau file komponen utama React kamu) dan ganti isinya biar kelihatan beda.
// src/App.jsx
import { useState } from "react";
import logo from "./logo.svg";
import "./App.css";
import { invoke } from "@tauri-apps/api/tauri"; // Import invoke untuk panggil backend Rust
function App() {
const [greetMsg, setGreetMsg] = useState("");
const [name, setName] = useState("");
async function greet() {
// Panggil command 'greet' yang akan kita definisikan di Rust
setGreetMsg(await invoke("greet", { name }));
}
return (
<div className="container">
<h1>Welcome to My Tauri App!</h1>
<div className="row">
<a href="https://vitejs.dev" target="_blank" rel="noreferrer">
<img src="/vite.svg" className="logo vite" alt="Vite logo" />
</a>
<a href="https://tauri.app" target="_blank" rel="noreferrer">
<img src="/tauri.svg" className="logo tauri" alt="Tauri logo" />
</a>
<a href="https://reactjs.org" target="_blank" rel="noreferrer">
<img src={logo} className="logo react" alt="React logo" />
</a>
</div>
<p>This app is powered by Tauri, Vite, and React!</p>
<div className="input-box">
<input
id="greet-input"
onChange={(e) => setName(e.currentTarget.value)}
placeholder="Enter a name..."
/>
<button onClick={() => greet()}>Greet</button>
</div>
<p>{greetMsg}</p>
</div>
);
}
export default App;
Langkah 4: Definisikan Command di Rust Backend
Sekarang, kita harus bikin command greet di Rust. Buka file src-tauri/src/main.rs dan modifikasi bagian #[tauri::command]:
// src-tauri/src/main.rs
#![cfg_attr(
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
use tauri; // Pastikan tauri diimpor
// Command ini akan dipanggil dari frontend JS
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}! Welcome to Tauri.", name)
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet]) // Daftarkan command 'greet'
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Penjelasan Singkat Kode Rust:
#[tauri::command]: Makro ini menandakan bahwa fungsigreetadalah sebuah command yang bisa dipanggil dari frontend.fn greet(name: &str) -> String: Fungsi Rust biasa yang menerima string sebagai input dan mengembalikan string sebagai output.tauri::Builder::default().invoke_handler(tauri::generate_handler![greet]): Bagian ini mendaftarkan commandgreetagar bisa diakses oleh frontend melaluiinvokeAPI dari@tauri-apps/api/tauri.
Langkah 5: Jalankan Aplikasi!
Kembali ke terminal di direktori akar proyek (my-tauri-app), jalankan perintah ini:
yarn tauri dev
# atau
npm run tauri dev
Voila! Jendela aplikasi desktopmu bakal langsung kebuka. Coba ketik nama di input, klik tombol "Greet", dan lihat pesannya muncul! Ini baru pemanasan, ngab! Kamu bisa bikin UI sekreatif mungkin pake React/Vue/dll, terus interact sama backend Rust buat fungsi yang lebih kompleks.
Tips Praktis Buat Para Tauri-Riders:
- Eksplorasi
tauri.conf.json: Ini penting banget buat konfigurasi aplikasi. Di sini kamu bisa atur judul jendela, ukuran default, ikon, menu bar, deep linking, dan security settings (allowlist). - Pake
@tauri-apps/api: Modul ini ngasih banyak fungsi keren buat interact sama OS, kayak ngatur window, ngirim notifikasi, akses sistem file, dll. Wajib diulik! - Belajar Rust Dasar: Meskipun nggak harus jadi Rust expert, ngerti dasar-dasar Rust bakal ngebantu banget buat nulis backend yang lebih robust dan secure.
- Cek Dokumentasi Resmi: Dokumentasi Tauri itu top-notch banget. Selalu refresh ke sana kalo ada yang bikin bingung.
Kesimpulan:
Tauri Framework itu game-changer buat developer web yang pengen bikin aplikasi desktop. Dengan modal skill yang udah ada, kamu bisa bikin aplikasi yang performanya juara, ukurannya kecil, dan tampilannya kece abis. Jadi, tunggu apa lagi? Skuy, langsung cobain bikin proyek Tauri pertamamu! Dijamin nagih!
Berikan Rating
Komentar (0)
Silakan login untuk memberikan komentar.
Login SekarangKata Kunci
Menyukai Artikel (0)
Belum ada siswa yang menyukai artikel ini.
Pembaca (1)
Belum ada komentar. Jadilah yang pertama!