Link to original video by Maximilian Schwarzmüller

Angular 19 is a BEAST of a release!

Outline Video Angular 19 is a BEAST of a release!

Tóm tắt ngắn:

Tóm tắt chi tiết:

Video chia sẻ về bản phát hành Angular 19, nhấn mạnh đây là một bản cập nhật lớn với nhiều cải tiến. Nội dung được chia thành các phần chính:

Phần 1: Standalone Components trở thành mặc định: Đây là thay đổi lớn nhất, phá vỡ tính tương thích ngược nhưng dễ dàng khắc phục. Từ Angular 14, standalone components đã được giới thiệu, và giờ đây chúng trở thành mặc định trong Angular 19. Người dùng không cần phải thêm thuộc tính standalone: true nữa. Nếu đang sử dụng modules, lệnh ng update sẽ tự động thêm standalone: false vào các components không phải standalone. "Đây là hướng đi rõ ràng của Angular, và việc viết ít code hơn trong nhiều trường hợp là lợi ích rõ rệt."

Phần 2: Cải tiến liên quan đến Signals: Các API liên quan đến signals (như ViewChild, ViewChildren, input/output) đã được ổn định. Angular CLI cung cấp schematics (ng generate @angular/core:signals) để tự động chuyển đổi từ decorator sang signal functions. Hai hàm tạo signals mới được giới thiệu: linkedSignal (cho các trường hợp đặc biệt, experimental) và resource (để theo dõi các giá trị bất đồng bộ, experimental).

Phần 3: Incremental Hydration (Developer Preview): Tính năng này giúp tăng tốc độ tải trang bằng cách hoãn tải code client-side cho một số phần của trang cho đến khi cần thiết (ví dụ: khi phần tử đó được cuộn vào vùng nhìn). Nó khác với lazy loading ở chỗ nội dung đã được render ở server, chỉ có code tương tác mới được tải sau. Có thể đánh dấu các phần không cần tương tác để không tải code client-side. Việc sử dụng withIncrementalHydrationprovideClientHydration trong quá trình khởi tạo ứng dụng là cần thiết.

Phần 4: Server-Side Rendering và các tính năng liên quan: Angular 19 hỗ trợ event replay mặc định, giúp xử lý các sự kiện người dùng trước khi code client-side được tải. Có giao diện ServerRoute mới cho phép kiểm soát việc render route ở server, trong quá trình build (pre-render), hay chỉ ở client. Tính năng này cho phép pre-render các trang với tham số động, ví dụ như xây dựng blog tĩnh.

Phần 5: Zone-less Angular (vẫn chưa ổn định): Việc loại bỏ zone.js đang được tiến hành, nhưng vẫn chưa hoàn toàn ổn định trong Angular 19. Hy vọng sẽ có hỗ trợ ổn định trong các phiên bản sau.

Tóm lại, Angular 19 mang đến nhiều cải tiến đáng kể, đặc biệt là việc đơn giản hóa cấu trúc ứng dụng bằng standalone components và tối ưu hiệu năng bằng incremental hydration. Tuy có một số thay đổi phá vỡ tính tương thích ngược, nhưng quá trình cập nhật được hỗ trợ tốt bởi ng update. Signals cũng được xem là tương lai của Angular, giúp viết code gọn gàng và hiện đại hơn.