2 điểm bởi GN⁺ 2025-11-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • WhatsApp cho Windows 11 chuyển sang dạng trình bao web dựa trên WebView2, và ứng dụng native WinUI/UWP trước đây bị ngừng
  • Phiên bản mới tải web.whatsapp.com trong một vùng chứa WebView2, và ngay cả ở màn hình đăng nhập cũng dùng tới 300MB RAM
  • Sau khi đăng nhập, mức dùng bộ nhớ tăng lên tới 2GB, và trung bình chiếm 1,2GB RAM ở chế độ nền một cách liên tục
  • Đã có báo cáo về các vấn đề như hiệu năng suy giảm, tải chậm, thông báo trễ, đồng thời độ tương thích với thông báo của Windows 11 và chế độ Không làm phiền cũng kém
  • Bản cập nhật đang được phát hành qua Microsoft Store theo cơ chế tự động, và người dùng ứng dụng native hiện tại cũng sắp bị buộc chuyển đổi

Thay đổi ở phiên bản WhatsApp cho Windows 11

  • WhatsApp cho Windows 11 đã chuyển từ ứng dụng native sang trình bao web dựa trên WebView2
    • Ứng dụng mới có cấu trúc tải web.whatsapp.com trong một vùng chứa WebView2
    • Trước đây ứng dụng bắt đầu với nền tảng Electron, sau đó phát triển thành ứng dụng native UWP/WinUI, nhưng nay lại quay về hướng web
  • Sự thay đổi này dẫn tới hiệu năng giảm và mức sử dụng bộ nhớ cao

So sánh mức sử dụng bộ nhớ

  • Theo kết quả thử nghiệm, phiên bản WebView2 mới dùng khoảng 300MB RAM ở màn hình đăng nhập
    • Sau khi đăng nhập và tải toàn bộ các cuộc trò chuyện, mức dùng có thể lên tới 2GB RAM, và trung bình duy trì 1,2GB RAM ở chế độ nền
  • Trong khi đó, ứng dụng native cũ trung bình dùng 190MB, và khi nhàn rỗi giảm xuống dưới 100MB
    • Ngay cả khi hoạt động nhiều, mức dùng cũng chỉ tối đa khoảng 300MB
  • Khi mở nhiều cửa sổ hội thoại, phiên bản mới có thể chạm mức 3GB RAM

Vấn đề về hiệu năng và tính năng

  • WhatsApp mới cho thấy tốc độ phản hồi chậm và thời gian tải dài
    • Khi chuyển đổi giữa các cuộc trò chuyện có hiện tượng trễ
  • Khả năng tích hợp với hệ thống thông báo của Windows không ổn định, và
    có vấn đề tương thích với chế độ Không làm phiền (Do Not Disturb) cũng như tính năng Active Hours
  • Cũng đã có báo cáo về tình trạng thông báo đến chậm

Cập nhật và khả năng né tránh

  • WhatsApp phiên bản 2.2584.3.0 đang được phát hành qua Microsoft Store, và
    tự động thay thế ứng dụng native hiện có
  • Người dùng có thể trì hoãn cập nhật để tạm thời tiếp tục dùng ứng dụng cũ, nhưng
    mọi người dùng sẽ sớm bị đăng xuất và buộc chuyển sang phiên bản WebView2

Bối cảnh khác

  • Thay đổi này diễn ra trùng với thời điểm ra mắt trải nghiệm WhatsApp native cho Apple Watch
    • Apple Watch có 115 triệu người dùng
    • Windows có hơn 1 tỷ thiết bị đang hoạt động, nhưng
      cả Meta lẫn Microsoft đều đang có xu hướng thu hẹp phát triển ứng dụng native cho Windows
  • Bài gốc có đề cập khả năng Meta chuyển sang duy trì codebase web để tiết kiệm chi phí, nhưng
    không nêu rõ lý do cụ thể

1 bình luận

 
GN⁺ 2025-11-14
Ý kiến trên Hacker News
  • Tôi thấy hơi chua chát khi ứng dụng mà chính mình từng thiết kế và gìn giữ lại biến thành thế này
    Ứng dụng native trước đây không hoàn hảo, nhưng nó có cảm giác tôn trọng môi trường như một công cụ năng suất
    Cuối cùng thì tôi cho rằng với các tập đoàn lớn, ứng dụng desktop native về mặt thực tế là bất khả thi. Lý do là chi phí điều phối
    Muốn phát hành tính năng đồng thời trên nhiều nền tảng thì độ phức tạp tăng theo cấp số nhân. Nếu tốc độ phát triển có thể chậm rãi thì còn làm được, nhưng nếu muốn thử nghiệm và lặp nhanh thì rốt cuộc đi đến kết luận rằng viết code web một lần vẫn tốt hơn
    Dạo này ngay cả Microsoft cũng phát triển theo kiểu đó. Trớ trêu là công ty càng nhỏ thì lại càng có thể duy trì ứng dụng native tốt hơn

    • Tôi không hiểu ý này. Tôi và hai đồng nghiệp đã làm GUI đa nền tảng cho xử lý tín hiệu âm thanh bằng wxWidgets, và nó chạy tốt trên macOS lẫn Windows
      Tôi không thể chấp nhận chuyện một tập đoàn lớn lại không vẽ nổi bong bóng chat và emoji theo kiểu native. MSN Messenger ngày xưa cũng làm được mức đó
    • Cốt lõi của vấn đề không phải là số lượng nhân lực mà là chi phí điều phối
      Với kiểu waterfall thì ổn, nhưng trong phát triển kiểu ‘Agile’ ngày nay thì là hỗn loạn hoàn toàn
      Android hay iOS thì trải nghiệm native quan trọng nên còn đáng để chấp nhận, còn Windows thì API cứ thay đổi liên tục và cảm giác native gần như cũng đã biến mất
      Có lẽ thà làm bằng Qt như Telegram còn hơn
    • Tôi từng làm phiên bản Windows của Facebook và Messenger, nhưng mức sử dụng còn chưa tới 1% so với web nên lãnh đạo xem đó là thất bại
    • Tôi đang tự hỏi liệu có ai biết vị trí lưu bí mật của khóa DB trên Windows không. Tôi muốn xuất nó ra trước khi DB sắp bị chặn
    • Dạo này ứng dụng được tối ưu cho nhà phát triển hơn là người dùng
      Ban đầu các ứng dụng native được làm bằng tinh thần thủ công nên rất được yêu thích, nhưng khi công ty lớn lên thì ưu tiên lại là thử nghiệm, telemetry và lặp nhanh
      Nhờ vị thế độc quyền mà chất lượng không còn quan trọng nữa, và cuối cùng dù có thành ứng dụng Electron cồng kềnh thì cũng chẳng ai làm gì được
  • Lý do thay thế là rất rõ. Phiên bản web có thể tung tính năng mới rất nhanh, còn client native thì khó theo kịp
    Vì vậy cuối cùng họ chuyển sang web wrapper
    Bây giờ ngay cả khái niệm ‘ứng dụng Windows native’ cũng đã mơ hồ, còn hiệu năng hay hỗ trợ offline thì web cũng triển khai đủ được
    Chỉ có điều tiến trình GPU phình lên tới 400MB thì hơi buồn cười. Nhưng với một tập đoàn lớn như Meta thì tôi nghĩ chuyện đó vẫn chấp nhận được

    • Giờ ngay cả Windows cũng gần như không còn cảm giác native nữa
    • Thực ra client native trước đây còn đi trước hơn về mặt tính năng. Nó có cả những thứ như gọi video
      Có vẻ Meta lấy web client làm trọng tâm, rồi hợp nhất toàn bộ nền tảng không phải di động về web
    • Tôi lúc nào cũng phải tranh cãi với các lập trình viên kiểu ‘hãy làm mọi thứ bằng web’
      “Firefox không hỗ trợ. Tôi không dùng Chrome.” từng là vũ khí cuối cùng của tôi, nhưng giờ còn phải viện cả cớ Safari nữa. Tất cả là vì React
    • Nghĩ đến việc năm 2012 Facebook từng bỏ ứng dụng HTML5 và viết lại bằng mã native cho iOS, quyết định lần này trông như đi ngược lại
      Bài liên quan: Making News Feed Nearly 50% Faster on iOS
    • Có vẻ giờ chẳng ai muốn làm ứng dụng native nữa, hoặc không ở vị trí có thể thúc đẩy điều đó
      Từ góc nhìn quản lý, việc phát triển cùng một tính năng cho nhiều nền tảng trông như lãng phí, nên xu hướng chuyển sang phát triển dựa trên số liệu
      Hiệu năng hay mức dùng bộ nhớ không được cân nhắc, và nhận thức rằng “web app cũng đủ nhanh” đang lan rộng
  • Tôi thật sự thấy ứng dụng Windows native cũ của WhatsApp rất tệ
    Nó thường xuyên bị đơ khi nhập liệu hoặc làm hỏng ký tự có dấu, đến mức phải khởi động lại. Ứng dụng Electron mới thì nặng, nhưng ít nhất nó hoạt động đúng cách

    • Tôi cũng gặp lỗi đó. Dạo này cảm giác như làm ứng dụng chat là một ngành khoa học bất khả thi. Thời ICQ thì mọi thứ đều làm được, mà có vẻ công nghệ đó đã biến mất rồi
    • Cách nói “hoạt động” có thể là cường điệu. Sau khi chuyển sang Linux tôi còn thấy nhẹ nhõm hơn
    • Tôi cũng là người dùng nặng, và lần thay đổi này ngược lại còn khiến tôi kỳ vọng. Dù là Electron thì tôi vẫn tin nó sẽ tốt hơn trước
    • Thực ra nó không phải Electron mà là dựa trên WebView2
      Trang chính thức của Microsoft WebView2
    • Thật khó tin là Meta có nhiều nhân tài như vậy mà lại tung ra một ứng dụng như thế này
  • Ngày xưa chỉ với 128MB RAM và CPU một nhân cũng đã có thể gọi thoại, gọi video được, còn bây giờ có vẻ hiệu quả đã thụt lùi

    • Thực ra đây là một ví dụ của nghịch lý Jevons. Hiệu quả càng cao thì mức tiêu thụ tài nguyên lại càng tăng
      Việc JS và web tăng hiệu năng rốt cuộc chỉ dẫn đến nhiều quảng cáo hơn và nhiều code hơn được triển khai
      Wiki về nghịch lý Jevons
    • Tất nhiên ngày xưa độ phân giải và bitrate thấp hơn, lại không có mã hóa, nhưng dù vậy đúng là khi đó vẫn hiệu quả hơn bây giờ
    • Tôi cũng nhớ thời dùng ThinkPad 32MB RAM mà vẫn làm được mọi thứ rất ổn
  • Việc WhatsApp đi từ web wrapper → native → rồi lại quay về web là một vòng lặp thú vị
    Người ta nói chi phí duy trì native rất lớn, nhưng tôi lại thấy cứ vài năm lại rewrite như thế còn lãng phí hơn không

    • Cũng có thể đó là kết quả của đấu đá chính trị nội bộ. Chỉ là người đưa ra quyết định công nghệ sai lầm đã được thăng chức thôi
    • Các lập trình viên web phần lớn dành thời gian để cập nhật dependency hoặc cãi nhau về framework, nhất là chửi React
    • Chưa từng có ai được thăng chức chỉ vì nói “đừng viết lại ứng dụng nữa”
    • Framework native của Windows quá hỗn độn đến mức ngay cả Microsoft cũng không dùng
      Có quá nhiều lỗi và tính năng bị thiếu, còn Chrome thì không gặp mấy vấn đề như vậy
    • Cuối cùng thì vẫn là vấn đề động lực thăng chức. Không ai được tưởng thưởng chỉ vì duy trì một ứng dụng đang chạy tốt
  • Tôi hay đi du lịch, nên sẽ rất tốt nếu có thể dùng WhatsApp đồng thời trên nhiều điện thoại
    Mỗi lần reset điện thoại đi du lịch thì việc backup và restore rất phiền

    • Giờ có thể cài trên tối đa 4~5 thiết bị. Ngoài thiết bị chính, các client khác cũng có thể gửi nhận tin nhắn một cách độc lập
    • Tôi không dùng WhatsApp, nhưng Telegram đồng bộ hoàn hảo trên nhiều thiết bị. Giờ ai cũng dùng Telegram cả
    • Tôi tò mò không biết trên chiếc điện thoại vừa reset thì bạn cài những ứng dụng gì
  • Tôi tự hỏi phải chăng AI coding agent của Meta còn không duy trì nổi một ứng dụng native tử tế

    • Nhưng kể cả là ứng dụng native do AI làm ra thì có lẽ cũng chẳng khác biệt mấy
  • Xu hướng chuyển sang nền web kiểu này có lẽ sẽ còn tiếp tục
    New Outlook của Microsoft thực chất cũng chỉ là web client được bọc trong EXE
    Vì thế mà các tính năng cốt lõi như COM Add-in, VBA, MAPI, hỗ trợ .PST đều biến mất
    Có khi xu hướng này chính là dấu hiệu của sự sụp đổ văn minh
    Bài liên quan: Collapse of Civilization

    • Trong New Outlook, chức năng tìm kiếm không hoạt động đúng. Ngay cả email tự gửi cho chính mình cũng chỉ hiện ra vài cái
    • Trong tổ chức của chúng tôi ai cũng phàn nàn rằng Outlook cũ tốt hơn nhiều
  • Flutter có lẽ đã có thể là một phương án dung hòa tốt
    Nó sẽ cho phép làm ứng dụng desktop đa nền tảng hiệu quả hơn, đồng thời dùng ít tài nguyên hơn nhiều

  • Thực ra có thể không phải nó dùng quá nhiều bộ nhớ, mà là V8 chỉ đang reserve
    Trên Windows nó reserve theo đơn vị 256MB, nên nếu có nhiều tiến trình thì trông như chiếm tới 1GB
    Những gì hiện trên Task Manager không phải là mức dùng thực tế mà là bộ nhớ reserve của Chromium
    Có lẽ đây không hẳn là lỗi của WhatsApp mà là vấn đề cấu trúc của Chromium

    • Dù vậy, chọn nền tảng như thế thì họ vẫn phải chịu trách nhiệm
      Biết nó ngốn bộ nhớ mà vẫn chọn Electron thì rốt cuộc vẫn là quyết định của họ
      So với WhatsApp trên iOS ngày trước hay phiên bản Windows năm 2018 thì có lẽ khác biệt tính năng cũng chẳng nhiều, nên tôi vẫn nghi ngờ liệu có thực sự cần làm lại từ đầu hay không