Ứng dụng điện tử là gì và tại sao chúng trở nên phổ biến?
Bạn có nhận thấy rất nhiều ứng dụng máy tính để bàn mới trông khá giống các trang web? Đó không phải là trí tưởng tượng của bạn.
Từ Trello đến Slack, từ WordPress.com đến Github, ngày càng trở nên phổ biến đối với cái gọi là ứ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 mà bạn có thể không ngờ tới, như ứng dụng trò chuyện Discord và Microsoft Visual Studio Code.
Electron giúp các nhà phát triển dễ dàng phát hành đồng thời một ứng dụng 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 300 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. Cái gì chiếm hết những 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
Các ứng dụng máy tính để bàn rất khó để thực hiện, đặc biệt nếu bạn muốn chúng là đa nền tảng. Ví dụ, truy cập hệ thống tệp hoạt động khác với Windows so với Linux và thông báo hoạt động khác trên macOS so với Windows. Điều này có nghĩa là bất kỳ ai muốn viết một ứng dụng cho cả ba hệ điều hành máy tính để bàn (hoặc thậm chí hai trong số chúng) cần phải viết lại rất nhiều mã của họ khi chuyển từ cái này sang cái khác.
Electroniên 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 chính. Đ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à hy vọng nó sẽ hoạt động tự nhiê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ứ đều có thể được xây dựng bằng cách sử dụng Javascript, HTML và công nghệ CSS mà bất kỳ ai viết mã cho 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 gói một 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 gói cùng với các hướng dẫn dành riêng cho nền tảng để đảm bảo 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 gói trong đó.
Mỗi ứng dụng Electron bạn chạy đều ít nhiều là một phiên bản Chrome đầy đủ. Như blogger Joseph Gentle đã chỉ ra, điều này khó lý tưởng:
Bạn có thể nghĩ về Slack như một chương trình javascript nhỏ chạy bên trong một hệ điều hành VM (chrome) khác, mà bạn phải chạy để chủ yếu trò chuyện trên IRC. Ngay cả khi bạn đã mở chrome thực sự, mỗi ứng dụng điện tử vẫn chạy bản sao bổ sung của toàn bộ 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 duy nhất bạn tải xuống hầu hết 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 nào ở đây giống như với các ứng dụng gốc, có nghĩa là các ứng dụng Electron sẽ chiếm nhiều dung lượng ổ cứng và bộ nhớ hơn so với 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.
Chờ đã, Electron tốt hay xấu?
Tại thời điểm này, máy tính mạnh đến mức hầu hết người dùng sẽ không bao giờ nhận thấy các ứng dụng Electron kém hiệu quả như thế nào. Trên thực tế, đại đa số thậm chí chưa bao giờ nghe nói về Electron. Hầu hết các đồng nghiệp của tôi đều không có, và tất cả họ đều sử dụng Slack mỗi ngày. Nhiều người đã rất phấn khích khi thấy một phiên bản Trello dành cho máy tính để bàn xuất hiện và một lần nữa họ không biết đó là một ứng dụng Electron.
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 các trang web. Họ sống trong cửa sổ riêng của họ. Họ 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ể làm theo cách tương tự chỉ với một trình duyệt.
Và thật may là các ứng dụng như Slack, Trello và WordPress.com sẽ không 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. Vì vậy, câu hỏi không phải là liệu Electron có tệ 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.)