WebAssembly đã trở thành một trong tứ trụ của công nghệ web bên cạnh HTML, CSS và JavaScript. Khi mới xuất hiện, chỉ có một vài ngôn ngữ cấp cao như C, C++ hay Rust có thể thực thi trực tiếp trên trình duyệt web nhờ WebAssembly. Nhưng giờ đây, C# – một ngôn ngữ hướng đối tượng cấp cao của Microsoft đã có thể viết trực tiếp trên trình duyệt web nhờ có Blazor. Tại sao là Blazor chứ không phải WebAssembly?

Blazor là gì? 

Ứng dụng Blazor là sự kết hợp các thành phần được xây dựng từ C#, HTML và CSS. Có hai mô hình thực thi Blazor là mô hình Server (Server-side Blazor) và mô hình Client (Client-side Blazor) hay còn được gọi là mô hình WebAssembly Blazor.

Mô hình Server được mô tả như hình sau:

Blazor Server runs .NET code on the server and interacts with the Document Object Model on the client over a SignalR connection

Với mô hình này, mã Blazor vẫn ở trên Server và được kết nối đến trình duyệt web thông qua SignalR – một thư viện mã nguồn mở đơn giản hóa việc thêm tính năng thời gian thực đến ứng dụng web. Mô hình này được tích hợp trong ASP.NET Core.

Mô hình WebAssembly Blazor là mô hình chúng ta quan tâm vì với nó, chúng ta có thể viết C# trực tiếp trên trình duyệt web, và tất nhiên, phép màu này có được là nhờ WebAssembly. Có thể hiểu mô hình này trực quan như sau:

Blazor WebAssembly runs .NET code in the browser with WebAssembly.

Nếu nhìn vào hình trên, chúng ta sẽ thấy cái gọi là Razor Components – là đặc trưng mới trong ASP.NET giúp phát triển ứng dụng web đơn giản và dễ dàng hơn mô hình MVC. Cho đến thời điểm này, mô hình WebAssembly Blazor chỉ là bản PreView cho ASP.NET Core 3.1 và sẽ được triển khai chính thức vào tháng 5 năm 2020 sắp tới. Lúc đó, chúng ta sẽ có một loạt bài viết tập trung về WebAssembly Blazor.

Tham khảo: Introduction to ASP.NET Core Blazor