DE — heise online
Chuyển toàn bộ sang Rust: Discord từ bỏ React và Electron
Phần mềm2 phút đọc
Discord muốn bỏ Electron và React cho ứng dụng máy tính. Lõi của ứng dụng sẽ được viết bằng Rust và dùng chung cho cả ứng dụng di động.
Chuyện gì đã xảy ra?
Discord muốn ngừng dùng môi trường chạy Electron và thư viện giao diện React cho các ứng dụng của mình. Giám đốc công nghệ (CTO) Stanislav Vishnevskiy đã thông báo điều này trên X hôm thứ Tư. Thay vào đó, phần lõi của ứng dụng sẽ được viết bằng Rust, một ngôn ngữ lập trình nhanh và an toàn. Ứng dụng máy tính sẽ dùng khung GPUI để vẽ các màn hình. Ứng dụng Android và iOS vẫn giữ giao diện gốc của hệ điều hành, nhưng sẽ bỏ React Native. Cả hai nền tảng này vẫn dùng chung lõi Rust.
Vì sao Discord chuyển sang Rust?
Discord đã dùng Rust từ năm 2018. Năm 2020, công ty chuyển dịch vụ đọc tin nhắn từ Go sang Rust. Lý do là để tránh những lúc ứng dụng bị chậm đột ngột do bộ thu gom rác (Garbage Collector). Đây là công cụ dọn dẹp bộ nhớ máy tính không còn dùng đến. Cách Rust quản lý bộ nhớ cũng hoạt động tốt với âm thanh thời gian thực. Giờ đây, Discord muốn có một bộ mã nguồn dùng chung cho cả máy tính lẫn điện thoại.
Các con số chính
- Lõi Rust mới dự kiến dùng dưới 300 MB bộ nhớ RAM. Con số này chưa được kiểm tra công khai.
- Electron dùng Chromium và Node.js, nên có thể làm ứng dụng tốn nhiều bộ nhớ hơn nhiều.
- Zed Industries đã phát hành GPUI dạng mã nguồn mở cho trình soạn code Zed. Zed đạt phiên bản 1.0 vào tháng Tư.
- GPUI vẽ đồ họa bằng Metal trên macOS, DirectX 11 trên Windows và wgpu trên Linux.
Vì sao điều này quan trọng?
Thay đổi này có thể giúp Discord dùng ít bộ nhớ hơn trên máy tính. Nó cũng có thể giúp ứng dụng máy tính và điện thoại dễ đồng bộ hơn, vì chúng dùng chung một lõi mã. Tuy vậy, việc này có rủi ro. GPUI chưa đạt phiên bản 1.0, và các phiên bản khác nhau của nó có thể làm hỏng mã đang chạy. Nội dung nhúng như YouTube và Activities vẫn sẽ dùng trình duyệt web của hệ thống.
Cần theo dõi điều gì?
- Lõi Rust mới có thật sự dưới 300 MB bộ nhớ trong các bài kiểm tra công khai hay không.
- GPUI sẽ ổn định đến mức nào khi tiến tới phiên bản 1.0.
- Lõi Rust dùng chung chạy tốt đến đâu trên Android và iOS.
Chú giải
- Electron
- Công cụ giúp viết ứng dụng máy tính bằng công nghệ web, như HTML và JavaScript.
- React
- Thư viện JavaScript dùng để xây dựng giao diện người dùng cho ứng dụng web và di động.
- Rust
- Ngôn ngữ lập trình tập trung vào tốc độ cao và an toàn bộ nhớ.
- GPUI
- Khung giao diện do Zed Industries phát triển, dùng để vẽ màn hình ứng dụng.
- Garbage Collector
- Công cụ tự động dọn bộ nhớ máy tính không còn dùng đến.
- React Native
- Công cụ dùng React để viết ứng dụng di động cho Android và iOS.