Sự ra mắt của Electro, một trình xem ảnh mới được phát triển bằng Rust với lời hứa mang lại hiệu suất cực nhanh, đã châm ngòi cho một cuộc thảo luận quan trọng về quyền riêng tư và lựa chọn kiến trúc trong các ứng dụng máy tính hiện đại. Mặc dù ứng dụng ban đầu nhận được nhiều lời khen ngợi về tốc độ và thiết kế tối giản, cộng đồng người dùng đã phát hiện ra những hành vi đáng lo ngại liên quan đến việc sử dụng thành phần WebView2 của Microsoft.
Công nghệ sử dụng:
- Giao diện người dùng: Preact (TypeScript)
- Phần mềm nền: Tauri v2.0 (Rust)
- Quản lý gói: npm
- Quản lý trạng thái: Zustand
- Tạo kiểu: Vanilla CSS
Lo ngại về quyền riêng tư nổi lên
Những gì bắt đầu như một sự chào đón một trình xem ảnh mới với hiệu suất cao nhanh chóng chuyển sang sự giám sát kỹ lưỡng khi người dùng phát hiện ra hoạt động mạng không mong muốn. Các thành viên cộng đồng sử dụng tường lửa cho từng ứng dụng phát hiện ra rằng Electro thiết lập kết nối đến các máy chủ Microsoft khi khởi động, cụ thể là đến các địa chỉ IP liên quan đến Redmond. Hành vi này xuất phát từ việc ứng dụng sử dụng framework Tauri 2.0, vốn sử dụng WebView2 của Windows làm trình duyệt web mặc định.
Không được. Yêu cầu đầu tiên nó thực hiện: Từ: Microsoft Edge WebView2 Đến: 13.107.42.16:443 - Redmond, Hoa Kỳ
Vấn đề bảo mật chính:
- Thành phần WebView2 tự động kết nối đến các máy chủ của Microsoft
- IP: 13.107.42.16:443 (Redmond, USA)
- Vấn đề xuất phát từ cách triển khai webview mặc định của Tauri trên Windows
Đánh đổi về mặt kiến trúc
Việc nhà phát triển lựa chọn Tauri 2.0 thể hiện một sự đánh đổi phổ biến trong phát triển ứng dụng hiện đại. Mặc dù framework này cho phép phát triển nhanh chóng và có khả năng tạo giao diện người dùng hiện đại, nhưng nó đi kèm với những phụ thuộc có thể ảnh hưởng đến quyền riêng tư. Nhà phát triển đã thừa nhận hạn chế này và bày tỏ kế hoạch cuối cùng sẽ chuyển sang một trình render tùy chỉnh để loại bỏ sự phụ thuộc vào Chromium/WebView2, mặc dù điều này sẽ đòi hỏi thời gian phát triển đáng kể.
Sự phát triển dựa trên cộng đồng
Cuộc thảo luận đã cho thấy phản hồi của cộng đồng định hình việc phát triển phần mềm như thế nào. Ngoài những lo ngại về quyền riêng tư, người dùng đã đóng góp những yêu cầu tính năng có giá trị, bao gồm hỗ trợ giao diện dòng lệnh, khả năng duyệt thư mục và cải thiện khả năng thay đổi kích thước cửa sổ. Sự tương tác tích cực của nhà phát triển với những đề xuất này thể hiện cam kết của dự án đối với sự phát triển dựa trên cộng đồng.
Hướng phát triển trong tương lai
Mặc dù Electro hiện đang đối mặt với những thách thức về quyền riêng tư do stack công nghệ của nó, nhà phát triển đã cam kết giải quyết những vấn đề này. Lộ trình của dự án không chỉ bao gồm cải thiện quyền riêng tư mà còn hỗ trợ đa nền tảng cho Linux và macOS, mặc dù điều này phụ thuộc vào đóng góp của cộng đồng hoặc nguồn lực trong tương lai.
Tình huống này nhắc nhở chúng ta về sự cân bằng phức tạp giữa hiệu quả phát triển, tập hợp tính năng và các cân nhắc về quyền riêng tư trong phát triển phần mềm hiện đại. Khi Electro phát triển, hành trình của nó có thể cung cấp những hiểu biết quý giá cho các nhà phát triển khác đang đối mặt với những quyết định kiến trúc tương tự.