Từ Trello đến Slack, từ WordPress.com sang Github, nó trở nên ngày càng phổ biến cho các ứng dụng máy tính để bàn để gói một trang web với một vài tính năng gốc như thông báo, truy cập hệ thống tệp và menu. Công nghệ phổ biến nhất cho phép điều này được gọi là Electron, và nó được sử dụng bởi một vài ứng dụng bạn thậm chí có thể không nghi ngờ, như ứng dụng trò chuyện Discord và Visual Studio Code của Microsoft.
Electron giúp các nhà phát triển dễ dàng phát hành ứng dụng đồng thời trên Windows, macOS và Linux nhưng có những nhược điểm cho người dùng. Các ứng dụng điện tử là rất lớn, cho một điều. Slack, một ứng dụng trò chuyện, chiếm tới 237 MB dung lượng ổ cứng trên máy Mac của tôi và mức tiêu thụ bộ nhớ cũng không thấp. Những gì đang chiếm tất cả các tài nguyên đó? Và tại sao các nhà phát triển sử dụng một cái gì đó để không hiệu quả?
Ứng dụng điện tử khá dễ thực hiện
Electron "giải quyết" điều này bằng cách cung cấp một nền tảng duy nhất hoạt động trên cả ba hệ điều hành máy tính để bàn lớn. Điều này có nghĩa là các nhà phát triển có thể viết mã cho những thứ như thông báo một lần và mong đợi nó hoạt động nguyên bản trên mọi hệ điều hành. Thậm chí tốt hơn cho các nhà phát triển: mọi thứ có thể được xây dựng bằng cách sử dụng Javascript, HTML và CSS - các công nghệ mà mọi người mã hóa trên web đều rất quen thuộc.
Ứng dụng điện tử đi kèm với khá nhiều tất cả Chromium
Sao có thể như thế được? Một phần vì mọi ứng dụng Electron đều bao gồm trình duyệt web hoàn chỉnh: Chromium, phiên bản nguồn mở của Google Chrome. Điều này được đóng gói cùng với các hướng dẫn theo nền tảng cụ thể để đảm bảo rằng mọi thứ hoạt động chính xác như các nhà phát triển mong đợi trên tất cả các hệ thống. Đó là lý do tại sao phiên bản Slack dành cho máy tính để bàn chiếm hơn 200 MB dung lượng ổ cứng: hầu hết Chrome được đóng gói trong đó.
You can think of Slack as a small javascript program running inside another operating system VM (chrome), that you have to run in order to essentially chat on IRC. Even if you’ve got the real chrome open, each electron app runs its own, extra copy of the whole VM.
Vì vậy, yeah, có những nhược điểm cho người dùng. Trước hết, mỗi ứng dụng Electron đơn lẻ mà bạn tải xuống hầu hết các gói Chromium và mọi ứng dụng bạn chạy đều thực hiện một đoạn mã tốt. Không có sự chia sẻ tài nguyên ở đây giống như ứng dụng gốc, nghĩa là các ứng dụng Electron sẽ chiếm nhiều không gian ổ đĩa cứng và bộ nhớ hơn là một ứng dụng được phát triển với nền tảng của bạn. Nếu hiệu suất là thứ bạn thực sự quan tâm, bạn có thể muốn tránh các ứng dụng Electron.
Đợi đã, vậy là điện tử tốt hay xấu?
Và những ứng dụng này thực sự tích hợp tốt hơn với hệ điều hành của bạn tốt hơn so với trang web. Họ sống trong cửa sổ riêng của họ. Chúng cung cấp các phím tắt tuyệt vời, thông báo gốc và những thứ khác mà bạn không thể thực hiện theo cùng một cách với chỉ một trình duyệt.
Và điều tốt là các ứng dụng như Slack, Trello và WordPress.com sẽ không bận tâm khi cung cấp phiên bản dành cho máy tính để bàn nếu Electron không tồn tại, thay vào đó tập trung vào các phiên bản dành cho thiết bị di động và trình duyệt. Câu hỏi đặt ra là liệu Electron có tệ hay không; đó là liệu các ứng dụng Electron có tốt hơn không. Tôi sẵn sàng nói có, nhưng những người hợp lý có thể không đồng ý. (Và này, đối với những người đó, luôn có phiên bản web.)