10 điểm bởi GN⁺ 2026-02-22 | 1 bình luận | Chia sẻ qua WhatsApp
  • Electron là một framework cho phép tạo ứng dụng desktop hỗ trợ đồng thời Windows, Mac, Linux dựa trên HTML·CSS·JS, và nhiều ứng dụng như Slack, Discord, VS Code đang sử dụng nó
  • Tuy nhiên, vì mỗi ứng dụng đều đóng gói riêng engine Chromium, nên dung lượng lớn, dễ phát sinh độ trễ và tình trạng không phản hồi, đồng thời khả năng tích hợp với tính năng của hệ điều hành cũng bị hạn chế
  • Khi coding agent đã có thể thực hiện sinh mã native theo từng nền tảng dựa trên đặc tả và kiểm thử, lợi thế của Electron dường như đang giảm đi
  • Nhưng trên thực tế, agent chỉ có thể tự động hóa tới 90% quá trình phát triển, còn 10% cuối cùng gồm xử lý ngoại lệ và bảo trì vẫn rất khó và còn phụ thuộc vào con người
  • Vì vậy, giống như ứng dụng Claude của Anthropic, dù công nghệ agent đã tiến bộ, vẫn còn những lý do thực tế để tiếp tục dùng Electron

Ưu điểm và giới hạn của Electron

  • Electron cho phép xây dựng ứng dụng desktop đa nền tảng bằng công nghệ web
    • Một codebase duy nhất có thể hỗ trợ cả Windows, Mac, Linux
    • Có thể tái sử dụng mã web app hiện có nên hiệu quả phát triển cao
  • Nhược điểm là dung lượng ứng dụng tănghiệu năng suy giảm
    • Mỗi ứng dụng tự mang theo engine Chromium riêng nên có thể lên tới hàng trăm MB
    • Dễ phát sinh các vấn đề như tốc độ phản hồi chậm, tích hợp kém với tính năng hệ điều hành
  • Một số vấn đề có thể được cải thiện bằng tối ưu hóa theo từng hệ điều hành, nhưng lợi thế cấu trúc của Electron không thực sự khuyến khích điều đó

Sự xuất hiện của coding agent và kỳ vọng đi kèm

  • Gần đây, coding agent cho thấy khả năng tự động hóa việc triển khai giữa các ngôn ngữ và nền tảng dựa trên đặc tả (spec) và kiểm thử
  • Về lý thuyết, chỉ với một bộ đặc tả và test có thể tạo ra ứng dụng native cho từng nền tảng
  • Từ đó xuất hiện khả năng để những đội ngũ nhỏ, tinh gọn cung cấp ứng dụng native hiệu năng cao cho thị trường rộng lớn

Trường hợp của Claude và Anthropic

  • Anthropic đã dùng coding agent để triển khai trình biên dịch C viết bằng Rust, nhưng đã chạm tới giới hạn ở giai đoạn cuối
    • Khi thêm tính năng mới hoặc sửa lỗi, các chức năng hiện có liên tục bị phá vỡ
    • Kết quả tạo ra khá ấn tượng nhưng được đánh giá là không phù hợp để sử dụng thực tế
  • Ứng dụng desktop Claude cũng được xây dựng trên Electron, và được nhắc đến như một ứng dụng chậm, nhiều lỗi và dung lượng lớn

Độ khó của ‘10% cuối cùng’

  • Coding agent có thể xử lý rất nhanh 90% đầu của quá trình phát triển, nhưng
    xử lý ngoại lệ và bảo trì trong môi trường thực tế vẫn phức tạp và cần có sự can thiệp của con người
  • Trong môi trường người dùng thực, các kịch bản ngoài dự kiến liên tục tích tụ khiến việc phát triển không bao giờ thực sự kết thúc
  • Nếu tạo ứng dụng riêng cho từng nền tảng, lỗi và phạm vi hỗ trợ sẽ tăng gấp 3 lần, làm gánh nặng bảo trì lớn hơn
    • Electron phần nào giảm bớt vấn đề này thông qua một wrapper chung

Vì sao vẫn tiếp tục dùng Electron

  • Dù phát triển dựa trên đặc tả đã trở nên khả thi, chi phí phát triển và gánh nặng bảo trì của 10% cuối cùng vẫn còn đó
  • Bất chấp sự tiến bộ của công nghệ agent, lợi thế codebase duy nhất của Electron vẫn có giá trị trong thực tế
  • Ở thời điểm hiện tại, Electron vẫn được xem là một lựa chọn hợp lý
  • Coding agent đang đạt được những bước tiến đáng kinh ngạc, nhưng vẫn chưa đủ để trở thành giải pháp thay thế hoàn toàn

1 bình luận

 
GN⁺ 2026-02-22
Ý kiến trên Hacker News
  • Boris từ đội Claude Code đây
    Trước đây có các kỹ sư từng phát triển Electron, nên họ thích xây theo hướng không phải native
    Làm vậy sẽ giúp chia sẻ mã nguồn giữa web và desktop, từ đó giữ được UI/UX đồng nhất
    Tất nhiên, mọi thứ đều là vấn đề đánh đổi, nên trong tương lai cũng có thể thay đổi

    • Từ góc độ người dùng, tôi muốn CPU bị ngốn ít hơn và UI mượt không giật, kể cả phải bớt đi một ít tính năng
      Có vẻ chuyện này vẫn có thể giải quyết bằng tối ưu hiệu năng mà không cần đổi stack. Ứng dụng di động cũng vậy
    • Nếu coding đã là bài toán gần như được giải quyết, tôi thắc mắc vì sao họ vẫn dùng stack công nghệ đơn giản nhất
    • Những công ty như Anthropic nói rằng với công cụ AI coding thì việc port giữa các ngôn ngữ rất dễ, nhưng trên thực tế họ lại hành xử khác
      Bài học ở đây là hãy nhìn vào hành động hơn là lời nói
    • Có người chia sẻ link YouTube với câu “Có phải là bạn không?”
      Rồi đùa rằng nếu vậy thì cứ bảo Claude “làm cho cái này bớt tệ đi” là được
    • Điều thú vị hơn việc có dùng Electron hay không là, nếu phải làm ứng dụng native cho ba nền tảng,
      liệu các AI agent có thể bảo trì chỉ với spec và test hay không
      Nhất là khi xét tới giới hạn của những model như Opus 4.6, tôi khá tò mò kết quả sẽ ra sao
  • Lý do vì sao code không miễn phí là rất rõ ràng
    Đội của chúng tôi cũng đã dùng Claude khá nhiều trong 6 tháng, nhưng tỷ lệ bug vẫn vậy
    AI không phải lời giải vạn năng

    • Khoảng một năm nữa có lẽ sẽ chẳng ai trong đội hiểu nổi nguyên nhân của đống bug đó
      Khi thuê ngoài tư duy cho AI, bạn sẽ đánh mất bản đồ tinh thần về hệ thống
    • Mới khoảng 3 tháng trước mới có model có thể coding liên tục, và 15 ngày trước cũng còn có cải tiến lớn
      Thế mà đã có người hỏi “sao chưa viết lại mọi thứ bằng AI” thì thật buồn cười
    • Tôi nhớ tới meme “I’m stupid faster” của Shen
      Xem link Imgur
      AI coding agent chưa hoàn toàn ở mức đó, nhưng cần cảnh giác với những sai lầm chỉ nhanh hơn mà thôi
    • Vậy thì tôi thắc mắc vì sao Claude lại không làm luôn QA test
  • Trình duyệt của OpenAI cũng đã ra mắt được 4 tháng mà vẫn chỉ có trên macOS
    Dù đã chạy trên engine đa nền tảng, tốc độ mở rộng vẫn chậm là điều khó hiểu

    • Có lẽ nguyên nhân lớn nhất là tỷ lệ người dùng chấp nhận thấp
  • Cụm “Free as in puppy” khá dí dỏm
    Nghe nói tiêu đề gốc bắt đầu bằng “If code is free,”

    • Tôi thấy bình luận này buồn cười quá nên còn tìm cả blog đó, và đúng là rất hay
    • Có người đùa hỏi: “Tôi là chó con nên không hiểu”
    • Rồi tiếp tục có câu đùa kiểu “Nó giống như một chiếc xe Đức cũ được cho không à?”
  • Bài viết này và toàn bộ thread trông rất giống mẫu tranh cãi kiểu HN
    Kiểu lặp đi lặp lại như “AI dở”, “JavaScript dở”, “Electron dở”
    Thực ra Electron gần như là ‘nền tảng hệ điều hành thứ tư’, nhưng nhiều lập trình viên không hiểu điều đó

    • Tôi nghĩ toàn bộ ứng dụng Electron nên được thay bằng native
      Các app bây giờ trông như website được vá víu, lại có nhiều lỗi và sự lệch pha về style
      Làm ứng dụng Mac native mang lại cảm giác tốt hơn nhiều
    • Chi phí không nằm ở code mà nằm ở kỹ sư
      Electron có ưu điểm riêng, nhưng hầu như không có tối ưu theo từng OS
      Cũng có nhiều UI native tệ, và rốt cuộc vẫn là chuyện con người viết code thế nào
      Nếu Claude đang cung cấp công cụ CLI thì chọn Electron là hợp lý
    • Nói với tư cách tác giả bài viết, tôi chưa từng nói AI là tệ
      Tôi có thừa nhận ưu điểm của Electron và cũng giải thích lý do lựa chọn
      Chỉ là việc nó vẫn chậm ngay cả trên Mac Studio 64GB RAM là một chi tiết đáng chú ý
    • Khó mà chấp nhận việc một công ty trị giá 30 tỷ USD lại tung ra UX như thế này
      Việc còn kèm cả phụ thuộc npm mặc định vào cũng trông như thiếu lòng tự trọng kỹ thuật
      Nó không hợp với khẩu hiệu “chúng tôi tuyển những người giỏi nhất”
    • Chiếc Mac 24GB của tôi lúc nào cũng phải dùng swap vì các ứng dụng Electron
      Tôi thích JavaScript, nhưng mức dùng RAM thì thật điên rồ
  • Anthropic chưa bao giờ nói “code là miễn phí”
    Họ nhấn mạnh vào tăng năng suất, và trên thực tế họ viết phần lớn code bằng LLM
    Nếu muốn chỉ trích thì nên chỉ ra vấn đề thực tế thay vì dựng người rơm

    • Dù vậy, nếu đúng là họ có năng suất cao và những kỹ sư đắt giá như thế,
      thì câu hỏi “vì sao sản phẩm vẫn chưa tốt hơn” vẫn còn đó
    • Người phụ trách Claude Code mấy ngày trước đã nói rằng “coding gần như là bài toán đã được giải quyết”
      Xem phỏng vấn trên Lenny’s Newsletter
    • Thực tế cũng có rất nhiều người nói rằng “code gần như miễn phí”
      Có vẻ bài viết này đang nhắm tới những người đó
  • Tôi là Felix. Tôi phụ trách các ứng dụng Electron của Claude Code DesktopClaude Cowork
    Ứng dụng của chúng tôi cũng chứa khá nhiều mã Rust, Swift và Go
    Lý do dùng Electron và lý do phân phối engine riêng
    đã được viết khá chi tiết trong tài liệu chính thức
    Electron chỉ là một công cụ, và nếu cần chúng tôi có thể dùng thứ khác

    • Tạm gác chuyện Electron sang một bên, ứng dụng đang có khá nhiều vấn đề về UI/UX và hiệu năng
      CEO nói rằng “coding gần như là bài toán đã được giải quyết”, nên tôi muốn hỏi vì sao lại cho ra kết quả như vậy
    • Cũng có ý kiến cho rằng nếu code hoàn toàn do AI dẫn dắt, thì đã không có những đánh đổi kiểu này
  • Tôi gặp vấn đề khi đăng nhập Claude
    Trình duyệt rơi vào trạng thái tải vô hạn, còn bấm đăng nhập thì lại chuyển sang trang đăng ký
    Những chức năng cơ bản như vậy mà còn không ổn định thì khó gọi là “tương lai của lập trình”

  • Code tuyệt đối không miễn phí
    Cuối cùng bạn vẫn sẽ phải trả giá bằng cách này hay cách khác
    Dù AI có viết hết code đi nữa, vẫn cần người hiểu được nó
    Khả năng đọc manual là thế mạnh của hacker,
    và một công ty không hiểu sản phẩm mình tạo ra hoạt động thế nào thì rất nguy hiểm

  • Tôi nghĩ việc Claude dùng Electron không phải vấn đề kỹ thuật mà là vấn đề văn hóa
    Với startup thì Electron là hợp lý,
    nhưng với công ty lớn thì nên đầu tư vào chất lượng ứng dụng native và UX
    Dù coding tự động đã khả thi mà họ vẫn không làm như vậy
    cho thấy văn hóa phát triển ngày nay đã mất đi “ý chí tạo ra phần mềm tốt nhất”