Giải quyết task nặng tốn CPU bằng JS

Hi there,

Em có làm một tiện ích, chức năng là mã hóa dữ liệu kiểu như user nhập đoạn văn, file để mã hóa. Code chỉ có phần giao diện và javascript xử lý logic hết không có call API hay dùng database, backend gì hết.
Vấn đề là khi xử lý trên trình duyệt nó tốn CPU nên chương trình block, giao diện bị đứng không di chuột phím được, task nặng này lại không chuyển thành xử lý bất đồng bộ được.

Em mới tìm hiểu được 3 cách, nhưng không biết nên học cách nào:

  • Cách 1: Học web worker, webassembly.
  • Cách 2: Học nodeJS, nếu dùng thêm nodeJS thì chỉ cần copy code js trên trình duyệt qua, viết thêm REST controller là xong, nhưng nodejs vẫn đơn luồng, không biết khi chạy những đoạn code mã hóa đó thì nó có bị lag cả server luôn không.
  • Cách 3: Dựng thêm một web service viết bằng java, C#, cách này em thấy khả thi nhất mà không biết có tối ưu hơn 2 cách trên không.

Em thì lại nghiêng về cách dùng NodeJS vì cũng đang muốn tìm hiểu runtime này. Em cảm ơn!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?