17 điểm bởi GN⁺ 2025-05-23 | 16 bình luận | Chia sẻ qua WhatsApp
  • Electron thường bị hiểu lầm là chậm và kém hiệu quả, nhưng thực tế lại là một công cụ hiệu quả và mạnh mẽ
  • Vấn đề mức sử dụng RAMdung lượng lưu trữ chỉ là xu hướng chung của các ứng dụng hiện đại, không phải vấn đề riêng của Electron
  • Với các ứng dụng mà tính năng dựa trên công nghệ web là quan trọng, như dịch vụ streaming, Electron lại là một lựa chọn tự nhiên hơn
  • Nó được tối ưu cho tốc độ phát triển nhanhnetworking bất đồng bộ, nên năng suất rất cao
  • Đánh giá rằng Electron chậm chủ yếu đến từ những ứng dụng chất lượng thấp do doanh nghiệp tạo ra; các ứng dụng Electron được làm tốt hoàn toàn đủ nhanh và đủ dùng

Định kiến về Electron

  • Electron giống như một trình duyệt Chromium mở trang web ở cục bộ
  • Vì thế mà xuất hiện nhận thức rằng nó chậm, kém hiệu quả và “không native”, nhưng thực tế không phải vậy

Hiệu quả

  • Nếu Electron thực sự kém hiệu quả, thì bản thân trình duyệt Chromium đã không thể hoạt động tử tế
  • Electron chỉ đơn giản là đóng gói nhiều thành phần lại với nhau để ứng dụng vận hành tốt

Mức sử dụng RAM

  • Nhận định rằng “Electron ngốn nhiều RAM” là không đúng sự thật
  • Kết quả đo thực tế
    • Vermilion (dựa trên Electron): 215MB
    • Dolphin (dựa trên Qt6/KDE): 258MB
    • Nautilus (dựa trên GTK4/Libadwaita): 374MB
  • Ứng dụng hiện đại có xu hướng tiêu tốn nhiều RAM hơn khi số lượng tính năng tăng lên, và đây không phải vấn đề riêng của Electron

Dung lượng lưu trữ

  • Ứng dụng Electron có dung lượng lớn vì đóng gói kèm nhiều dependency
  • Cấu trúc này tương tự Flatpak hay AppImage, nhờ đó tính di động và độ ổn định cao hơn

Tốc độ

  • Việc ứng dụng Electron chậm không phải do bản thân Electron, mà chủ yếu là do các ứng dụng do doanh nghiệp làm ra được phát triển cẩu thả

Khi nào Electron lại là lựa chọn tốt hơn

Xử lý DRM

  • Các dịch vụ streaming sử dụng DRM, và điều này đòi hỏi công nghệ nền web
  • Ví dụ, Tidal yêu cầu Widevine, và Electron đã có sẵn một hệ sinh thái cho phép tích hợp việc này dễ dàng
  • Spotify cũng chỉ được phép streaming thông qua module JS về mặt pháp lý

Tốc độ phát triển nhanh

  • Typescript và Electron cho phép những người có kinh nghiệm với công nghệ web phát triển rất nhanh
  • So với framework dựa trên GTK hay QT, công nghệ web vượt trội hơn nhiều về khả năng tiếp cận và độ khó học tập

Networking bất đồng bộ

  • Với các trường hợp giao tiếp bất đồng bộ diễn ra thường xuyên, như ứng dụng streaming, công nghệ web là lựa chọn được tối ưu tốt

Electron có phù hợp cho mọi thứ không?

  • Về lý thuyết thì có thể, nhưng với những trường hợp đòi hỏi tài nguyên tối thiểu như ứng dụng desktop cốt lõi, nó không phù hợp
  • Với các ứng dụng phức tạp, có nhiều tính năng online và cần cân nhắc cross-platform, Electron là lựa chọn hợp lý
  • Nếu chất lượng phát triển được đảm bảo, ứng dụng Electron cũng có thể được làm đủ nhanh và đủ hiệu quả
  • Ví dụ như các ứng dụng Electron như Obsidian hay VS Code có hiệu năng rất tốt
  • Với sự phát triển gần đây của WASM, nếu offload các tác vụ nặng thì ứng dụng Electron cũng có thể cạnh tranh với các ứng dụng desktop truyền thống

Kết luận

  • Phần lớn sự khó chịu với Electron đến từ các phiên bản Electron cũ hoặc những ứng dụng chất lượng thấp của doanh nghiệp
  • Nhận thức rằng “vì là một trang trình duyệt nên chậm” là xa rời thực tế, bởi các trình duyệt hiện đại cho thấy hiệu năng rất cao

16 bình luận

 
kwj9211 2025-05-26

Là vì bạn chưa từng gặp một nơi làm Electron thực sự giỏi thôi ~
... chắc kiểu đang nói vậy đó haha

 
devsepnine 2025-05-24

Tôi cũng chỉ dùng Electron từ 2-3 năm trước thôi, dạo này thì lại làm bằng Tauri..

 
hilft 2025-05-24

Thích.

 
jaylee 2025-05-23

Hãy dùng Tauri. Backend là Rust và việc tích hợp dễ hơn bạn nghĩ.

 
savvykang 2025-05-23

Chỉ có mỗi khẳng định, chẳng có lấy một chút căn cứ nào cả.

 
yangeok 2025-05-23

Dù sao thì trải nghiệm mở cũng tốt hơn mấy thứ như Qt, đúng không?

 
ilotoki0804 2025-05-23

Tôi hiểu những điểm khác, nhưng nhận định liên quan đến RAM thì khác biệt quá nhiều so với trải nghiệm thực tế...

 
gmong 2025-05-23

Các ứng dụng Electron luôn phải chạy thường trú ở chế độ nền thì quả là hơi gây nặng nề.

 
freedomzero 2025-05-23

Chà... chỉ cần mở 3~4 ứng dụng Electron thôi là đã thường xuyên vật lộn vì thiếu bộ nhớ rồi....

 
ztaka 2025-05-23

Bề mặt tấn công quá nhiều nhưng lại không được quan tâm đúng mức, nên giờ tôi định rút tay khỏi chuyện này.

 
asheswook 2025-05-23

Tôi đồng ý rằng bản thân nó là một framework tốt, nhưng vì nhiều công ty và startup lấy năng suất cao làm cái cớ rồi cứ thế xuất xưởng mà không quan tâm đến hiệu năng, nên cứ hễ nghe nói được làm bằng Electron là tôi lại có cảm giác muốn từ chối.

 
asheswook 2025-05-23

Dù đang dùng laptop tốt, nhưng thành thật mà nói tôi không thấy VSCode nhanh đến vậy. Cuối cùng thì hoặc là dùng IntelliJ vốn nặng hẳn nhưng nhiều tính năng nên tiện, hoặc là dùng IDE hay trình soạn thảo văn bản được phát triển native ngay từ đầu. Rõ ràng là nhanh và trải nghiệm tốt hơn hẳn.

 
fanotify 2025-05-23

Rất tốt, nhưng vì kích thước cơ bản của nó vốn đã lớn nên cũng không tiện dùng ở mọi nơi..

 
haebom 2025-05-23

Electron thật sự rất ổn mà, ai bảo là không tốt chứ... tốt lắm luôn

 
forgotdonkey456 2025-05-23

Những vấn đề như Flatpak hay AppImage thì khi quay lại Windows có vẻ hoàn toàn không liên quan nhỉ, haha..

Bản thân Electron thì tôi nghĩ là một framework rất tốt. Việc phát triển framework cũng rất năng động, và hơn hết là mọi thứ sẽ được triển khai trong Chromium thì hầu như đều đã có đủ cả rồi.