Disclaimer: Masih simpel, masih banyak ruang eksplorasi. Tapi bangga juga bisa bikin sesuatu dari ide kecil β jadi crate beneran di crates.io π¦π
π Petualangan Rust: Dari egui
sampai yo_netwatch
! π¦π‘
Awalnya cuma coba-coba egui
β GUI framework di Rust. Tapi seperti biasa, Rust nggak pernah setengah-setengah ngasih tantangan.
Berjumpalah aku dengan:
π ownership, borrow checker, unwrap
, lock
, channel
, Receiver
, multi-threading
, sampai ke dunia async
dan tokio
.
Satu hal yang bikin aku kepikiran:
"Kenapa di Rust belum ada yang simple buat deteksi status koneksi kayak
connectivity_plus
di Flutter?"
Akhirnya aku coba bikin sendiri dari nol, dan lahirlahβ¦
π οΈ yo_netwatch
β network status watcher ringan untuk Rust!
π¦ Native. No async. No loop polling. Langsung trigger saat status berubah (online/offline).
β¨ Fitur
- Deteksi status koneksi
online
/offline
- Gunakan
channel
untuk broadcast perubahan status - Tanpa dependensi berat
- Mudah diintegrasikan ke
egui
,Tauri
, CLI, atau backend-native
π Contoh Penggunaan
use yo_netwatch::{start_network_watcher, Receiver as YoReceiver};
let rx = start_network_watcher();
if let Ok(online) = rx.recv() {
println!("Status jaringan: {}", if online { "Online β
" } else { "Offline β" });
}
impl eframe::App for BarcodeApp {
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
while let Ok(status) = self.yo_rx.try_recv() {
self.yo_connected = status;
println!("network changed : {}", status)
}
}
}
Kalau kamu lagi belajar Rust, tertarik bikin library sendiri, atau pengen diskusi tentang async & jaringan, feel free to connect ya! πβ¨
π Tags #RustLang #RustCrate #AsyncRust #egui #Tauri #OpenSource #yo_netwatch #Connectivity #Networking #FromScratch #BelajarRust