RustDesk: lõi Rust, vỏ Flutter
Không phải mọi vấn đề pixel là vấn đề Dart. RustDesk giữ capture/encode/networking trong Rust và dùng Flutter làm shell tương tác — dạng hybrid bạn nên hiểu trước khi rewrite module native bằng Dart thuần.
Phân chia trách nhiệm
| Mục | Nơi |
|---|---|
| Capture màn, codec, relay | Lõi Rust |
| UX kết nối, settings, session UI | Flutter |
| Tích hợp OS | Platform channel / FFI |
Học theo
- Vẽ biên cứng: vòng UI nóng vs vòng data nóng.
- Ưu tiên FFI cho throughput; channel cho event thưa.
- Giữ session state ngoài cây widget.
Cạm bẫy
- Build hybrid nhân đôi ma trận CI.
- ABI và packaging installer desktop không đơn giản.
App nặng UI có thể chỉ cần Flutter. App nặng pipeline hãy copy biên giới của RustDesk, chưa chắc đã copy Rust.