Khi dùng Blazor sẽ có một số ưu điểm sau
- Code logic dùng C# thay vì dùng JavaScript
- Chia sẻ code logic giữa phần server-side(ASP .NET Core) và client-side (Blazor)
- Chạy trên trình duyệt dùng WebAssembly (Client-side) hoặc trên server (Server-side) và cập nhật giao diện thông qua kết nối SignalR.
Dưới đây là một ví dụ về một component :
Mỗi component được định nghĩa trong một file .razor. Trong đó bao gồm 3 phần chính
Phần 1 : Định nghĩa đường dẫn đến giao diện này (Có thể có hoặc không).Mỗi component được định nghĩa trong một file .razor. Trong đó bao gồm 3 phần chính
Phần 2 : Định nghĩa giao diện thông qua các thẻ html
Phần 3 : Phần code sử lý logic sử dụng C# và cú pháp Razor để binding các biến với các giao diện thiết kế bên trên
Tùy thuộc vào mục đích ứng dụng của chúng ta mà có thể sử dụng Blazor trong các dạng sau
Client-side Blazor
Blazor sẽ compile code C# thành các .NET assemblies. Các assemblies này được tải lên các browser sau khi chạy. Việc cập nhật giao diện sẽ được thực hiện bởi Blazor runtime
- Không phụ thuộc vào xử lý phía server.
- Có thể chạy offline
- Chạy chậm hơn do việc xử lý được thực hiện hầu như ở client
- Khó debug hơn
- Yêu cầu trình duyệt phải hỗ trợ WebAssembly
Ưu điểm
- Kích thước code client nhỏ, thời gian load sẽ nhanh hơn
- Dễ debug hơn vì code được lưu trên server
- Có thể hoạt động với các trình duyệt chưa hỗ trợ WebAssembly
- Không chạy được offline
- Thời gian trễ lớn do sử dụng kết nối SignalR để cập nhật giao diện
- Khó scale
Tiếp tục cập nhật ...