Microsoft cập nhật Aspire 13.4: Nhà phát triển TypeScript không còn phụ thuộc vào C#

Phần mềm03 tháng 6, 2026·4 phút đọc

Microsoft vừa phát hành Aspire 13.4 với tính năng nổi bật là hỗ trợ AppHost thuần TypeScript, giúp các nhà phát triển không còn phải dựa vào C#. Đây là bước tiến lớn nhằm mở rộng khả năng tiếp cận của công cụ phát triển phân tán này.

Microsoft cập nhật Aspire 13.4: Nhà phát triển TypeScript không còn phụ thuộc vào C#

Microsoft đã chính thức phát hành phiên bản Aspire 13.4, đánh dấu cột mốc quan trọng với việc tính năng AppHost cho TypeScript bước vào giai đoạn khả dụng chung (General Availability). Bản cập nhật này cũng mang đến các tích hợp mới dành cho Go, Bun, Blazor và WebAssembly.

Một ứng dụng Aspire đang chạy trong môi trường phát triển, được viết bằng TypeScriptMột ứng dụng Aspire đang chạy trong môi trường phát triển, được viết bằng TypeScript

Hiện tại, Microsoft mô tả Aspire là "lớp điều phối và khả quan theo hướng code-first cho các ứng dụng phân tán". Mặc dù nghe có vẻ giống một dịch vụ đám mây, nhưng thực tế Aspire là một công cụ giúp các nhà phát triển sử dụng CLI (giao diện dòng lệnh) để mô hình hóa, phát triển và gỡ lỗi các ứng dụng phân tán.

Ban đầu, công cụ này chỉ giới hạn trong hệ sinh thái .NET, nhưng nay đã mở rộng hỗ trợ sang nhiều ngôn ngữ khác. Đặc biệt, với việc TypeScript trở thành ngôn ngữ hạng nhất (first-class), người dùng thậm chí có thể viết tệp cốt lõi của Aspire gọi là AppHost bằng chính ngôn ngữ này.

Aspire không chạy trong môi trường sản xuất

Một điểm quan trọng cần lưu ý là Aspire có thể hỗ trợ triển khai ứng dụng, nhưng nó không phải là một dịch vụ chạy trực tiếp trong môi trường sản xuất (production). Thay vào đó, các nhà phát triển thêm các mục tiêu (targets) vào dự án Aspire để kích hoạt các lệnh như publish (xây dựng các bản build để triển khai) và deploy (triển khai các bản build đó đến nền tảng đã cấu hình).

Các mục tiêu triển khai phổ biến bao gồm Azure Container Apps, Azure App Service, Kubernetes, Docker Compose, hay các dịch vụ AWS thông qua các tích hợp từ bên thứ ba.

AppHost thuần TypeScript mang lại sự linh hoạt

Trong biến thể .NET, AppHost là một dự án viết bằng C#. Tuy nhiên, với TypeScript, AppHost là một tệp mã có tên apphost.mts nhập một module Aspire. AppHost có vai trò cấu hình và lắp ráp toàn bộ ứng dụng phân tán.

Ví dụ, bằng cách chạy lệnh aspire add postgres, AppHost sẽ tự động thêm hỗ trợ PostgreSQL chỉ với vài dòng mã. Quá trình này bao gồm việc thêm image container để chạy cơ sở dữ liệu, tạo cơ sở dữ liệu mới, thêm bảng điều khiển quản trị dựa trên web, gắn kết dữ liệu (volume) bên ngoài container, cấu hình kiểm tra sức khỏe (health checks) và dữ liệu遥测 (telemetry) cho máy chủ cơ sở dữ liệu trên bảng điều khiển Aspire, cũng như chèn các thuộc tính kết nối dưới dạng biến môi trường vào các dự án được chọn.

Bảng điều khiển và các tính năng mới

Bảng điều khiển (dashboard) của Aspire là một tính năng phục vụ quá trình phát triển, tiêu thụ dữ liệu OpenTelemetry để giám sát sức khỏe của ứng dụng đang chạy và hiển thị các dữ liệu như mức sử dụng bộ nhớ. Mặc dù không được thiết kế chủ yếu để sử dụng trong môi trường sản xuất, bảng điều khiển này có thể chạy độc lập hoặc được sử dụng trong các môi trường không sử dụng Aspire, và có sẵn dưới dạng Docker image.

Aspire 13.4 bổ sung nhiều tính năng quan trọng cho việc triển khai Kubernetes, bao gồm hỗ trợ cert-manager, Gateway API, tài nguyên manifest và biểu đồ Helm bên ngoài. Ngoài ra, bản cập nhật còn cải thiện các lệnh tài nguyên, cho phép thực thi các lệnh do tài nguyên hiển thị trong AppHost đang chạy. Các API AppHost mới cũng đã được thêm vào cho Go và Bun, trong khi Python, Java và Rust đã được hỗ trợ từ trước.

Nguồn gốc và thách thức

Aspire lần đầu ra mắt vào năm 2024, nhưng nguồn gốc của nó bắt nguồn từ một công cụ thử nghiệm có tên Project Tye xuất hiện vào tháng 5 năm 2020. Đây là một nỗ lực táo bạo của Microsoft nhằm đơn giản hóa và cải thiện trải nghiệm của nhà phát triển đối với các ứng dụng phân tán. Tuy nhiên, sự phổ biến của nó trước đây bị hạn chế do mang đậm màu sắc .NET và Azure, điều mà Microsoft hiện đang cố gắng mở rộng.

Một thách thức khác là việc định nghĩa chính xác Aspire là gì luôn gặp khó khăn, dẫn đến những câu hỏi như "tại sao không sử dụng Aspire trong sản sản xuất?".

Ông James Newton-King, kỹ sư phần mềm chính tại Microsoft làm việc trong dự án, giải thích: "Bạn không chạy Aspire trong môi trường sản xuất. Bạn phát triển ứng dụng của mình bằng nó cục bộ và sau đó triển khai lên nền tảng bạn mong muốn."

Ông David Fowler, kỹ sư xuất sắc của Microsoft, cũng thừa nhận việc truyền tải chính xác bản chất của dự án gặp nhiều khó khăn: "Nhiều ấn tượng về Aspire là gì và cách nó hoạt động đã trở nên lỗi thời vì nó đã thay đổi rất nhiều."

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗