Merhabalar.
Bugün Tauri (ElectronJS alternatifi cross-platform desktop and mobile application software framework) üzerinde backendimiz olan Rust'tan frontend'e (JavaScript/TypeScript) ulaştırma yöntemlerini anlatacağım.
Öncelikle Tauri uygulamalarında backend Rust'tır. Electron'daki gibi JavaScript değildir.
Frontend'ten almak için şunları kullanırız:
- invoke ve await invoke.
Örnek kod (Tauri 2 için):
veya:
Rust'ta ise Tauri commands oluşturmalıyız.
Mutlaka command oluşturken şunu kullanmalıyız:
Örnek kodlar:
Dahası da vardır ve Rust ve JavaScript üzerinde devam ettiriz.
Mesela:
Bunları yapmazsınız Rust'tan veriyi alamazsınız frontend üzerinde.
Bugünlük bu kadardı.
Bugün Tauri (ElectronJS alternatifi cross-platform desktop and mobile application software framework) üzerinde backendimiz olan Rust'tan frontend'e (JavaScript/TypeScript) ulaştırma yöntemlerini anlatacağım.
Öncelikle Tauri uygulamalarında backend Rust'tır. Electron'daki gibi JavaScript değildir.
Frontend'ten almak için şunları kullanırız:
- invoke ve await invoke.
Örnek kod (Tauri 2 için):
JavaScript:
import { invoke } from "@tauri-apps/api/core";
const weather = await invoke("get_weather", {
city: "Istanbul",
});
veya:
JavaScript:
// When using the Tauri API npm package:
import { invoke } from '@tauri-apps/api/core';
// When using the Tauri global script (if not using the npm package)
// Be sure to set `app.withGlobalTauri` in `tauri.conf.json` to true
const invoke = window.__TAURI__.core.invoke;
// Invoke the command
invoke('my_custom_command');
Rust'ta ise Tauri commands oluşturmalıyız.
Mutlaka command oluşturken şunu kullanmalıyız:
Kod:
#[tauri::command]
Örnek kodlar:
Kod:
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![my_custom_command])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Dahası da vardır ve Rust ve JavaScript üzerinde devam ettiriz.
Mesela:
Kod:
#[tauri::command]
pub fn my_custom_command() {
println!("I was invoked from JavaScript!");
}
Bunları yapmazsınız Rust'tan veriyi alamazsınız frontend üzerinde.
Bugünlük bu kadardı.