🪟 Deep Dive · Advanced

API multi-window desktop: popup, dialog và windowHandle

App desktop cần nhiều surface: context menu, palette công cụ, inspector tách rời. API windowing experimental của Flutter — được Canonical đẩy nhanh với vai trò Strategic Steward cho Flutter Desktop — là đường đi.

Sơ đồ: Desktop Multi-window APIs

Đã landing từ 3.44 → 3.47

  • Cửa sổ tooltip và dialog trên Linux/macOS/Windows.
  • Popup trên Linux và Windows (macOS có sớm hơn).
  • showDialog có thể tạo cửa sổ con thật trên nền tảng hỗ trợ windowing.
  • Cửa sổ theo nội dung và windowHandle (HWND / NSWindow / GtkWindow) cho tích hợp native nâng cao.

Khi nào dùng

Nhu cầuHướng API
Context menu / palettePopup window
Tool tách rờiRegular window + test multi-window
Docking nativewindowHandle + code platform

Cảnh báo trạng thái

Các API này ở main-channel / experimental. Đừng ship multi-window production làm UX duy nhất khi chưa có fallback. Theo dõi example multiple_windows và file issue vào embedder.

Mẹo thực tế

Thiết kế feature sao cho workflow chính vẫn chạy được single-window. Multi-window nên là gia tốc, không phải hard dependency, cho tới khi API graduate.

#Flutter#Desktop#MultiWindow#Canonical