Ember.js 7.0 chính thức ra mắt: Tập trung dọn dẹp mã nguồn và ổn định

Công nghệ29 tháng 5, 2026·6 phút đọc

Ember.js 7.0 đã được phát hành, đánh dấu bước chuyển đổi quan trọng khi loại bỏ các API đã bị đánh dấu lỗi thời. Phiên bản này tập trung vào sự ổn định và sửa lỗi, đồng thời Ember 6.12 chính thức trở thành bản hỗ trợ dài hạn (LTS).

Ember.js 7.0 chính thức ra mắt: Tập trung dọn dẹp mã nguồn và ổn định

Dự án Ember vừa chính thức công bố sự ra mắt của Ember v7.0. Theo chính sách về phiên bản chính (Major Version Policy) của Ember, bản cập nhật lớn này chủ yếu tập trung vào việc loại bỏ các tính năng đã bị đánh dấu là lỗi thời (deprecated) trong các phiên bản trước, cùng với một số sửa lỗi quan trọng. Sự kiện này cũng đồng nghĩa với việc phiên bản tiền nhiệm, Ember 6.12, giờ đây đã trở thành bản LTS (Long Term Support - Hỗ trợ dài hạn).

Về việc giới thiệu tính năng mới, Ember thường hướng tới việc phát hành chúng trong các bản cập nhật nhỏ (minor releases). Điều này giúp duy trì tính tương thích ngược cho mã nguồn hiện có, đồng thời cho phép các nhà phát triển trải nghiệm các khả năng mới. Chiến lược này giúp giảm thiểu khó khăn cho các nhóm khi thực hiện nâng cấp lớn, thay vì tung ra các bản cập nhật "làm mưa làm gió" với quá nhiều thay đổi phá vỡ cấu trúc cũ.

Nhìn lại những cải tiến trong chuỗi 6.x

Trong chuỗi bản phát hành nhỏ 6.x, đội ngũ phát triển đã đưa vào nhiều tính năng đáng chú ý:

  • Ember 6.1: Bắt đầu xuất bản ember-source dưới dạng addon v2, cho phép Embroider tiêu thụ ember-source trực tiếp.
  • Ember 6.3: Thêm hỗ trợ cho các thành phần thẻ mẫu (template-tag components) làm mẫu route theo RFC #1046.
  • Ember 6.8: Đây là một bản cập nhật mang tính bước ngoặt với một bản thiết kế (blueprint) ứng dụng mới sử dụng hệ thống xây dựng (build system) dựa trên Embroider và Vite làm mặc định. Bản này cũng chuyển sang định dạng viết thành phần chế độ nghiêm ngặt (strict-mode hay còn gọi là template-tag) làm mặc định. Ngoài ra, Ember 6.8 còn thêm API renderComponent cho phép hiển thị các thành phần riêng lẻ mà không cần toàn bộ dự án, cũng như các phiên bản tracked của các kiểu tập hợp gốc của JavaScript như trackedArray, trackedMap, v.v.

Ember v6.8 được xem là thay đổi lớn nhất đối với cách xây dựng một dự án Ember trong những năm gần đây. Các đội ngũ nòng cốt của Ember đã dành nhiều năm để làm việc trên hệ thống build Embroider+Vite và các mẫu chế độ nghiêm ngặt, và phiên bản 6.8 là phiên bản đầu tiên biến chúng thành trải nghiệm mặc định cho các ứng dụng Ember mới được tạo ra.

Cộng đồng và nỗ lực bảo mật

Bên cạnh các tính năng trên, cộng đồng Ember cũng đã thực hiện nhiều công việc quan trọng trong chuỗi 6.x:

  • Hợp nhất kho lưu trữ glimmer-vm monorepo vào ember.js để tạo điều kiện lặp lại nhanh hơn trên động cơ kết xuất (rendering engine).
  • Hợp nhất kho lưu trữ router.js vào ember.js để chuẩn bị cho việc thử nghiệm kiến trúc router mới.
  • Cập nhật các gói để xuất bản qua OIDC.
  • Cập nhật broccoli và các phụ thuộc khác để giảm thiểu các lỗ hổng bảo mật.
  • Phát hành Glint v2, giúp định dạng viết thành phần template-tag trở thành mặc định.
  • Tạo ra các công cụ codemod để hỗ trợ việc di chuyển sang định dạng viết mới và hệ thống build Vite.

Hướng dẫn nâng cấp lên Ember 7.0

Cách tiếp cận phổ biến nhất để nâng cấp lên 7.0 là nâng cấp ứng dụng của bạn lên phiên bản cuối cùng của Ember 6 là 6.12, giải quyết tất cả các cảnh báo lỗi thời, sau đó mới nâng cấp lên 7.0.

Nếu ứng dụng của bạn đang ở phiên bản cũ hơn trong chuỗi 6.x, nhóm khuyến nghị nên nâng cấp từng bước qua các phiên bản LTS: 6.4, 6.8 và sau đó là 6.12.

Các bước thực hiện cụ thể như sau:

  1. Cân nhắc nâng cấp các addon được sử dụng trong ứng dụng của bạn lên phiên bản mới nhất có thể.
  2. Nâng cấp dự án của bạn lên phiên bản bản vá (patch version) mới nhất của Ember 6.12. Nhiều dự án có thể thực hiện việc này bằng cách chạy lệnh npx ember-cli-update --to 6.12.
  3. Khi nâng cấp qua mốc 6.8, do những thay đổi trong hệ thống build, bạn cần điều chỉnh cấu hình cho ember-cli.
  4. Đảm bảo ứng dụng của bạn xây dựng thành công.
  5. Giải quyết tất cả các cảnh báo lỗi thời. Các API này đã bị loại bỏ trong Ember 7.0.
  6. Đảm bảo ứng dụng xây dựng thành công và bộ kiểm thử (test suite) vượt qua mà không có cảnh báo nào.
  7. Nâng cấp ứng dụng của bạn lên Ember 7.0 bằng lệnh npx ember-cli-update --to 7.0.

Những thay đổi trong Ember.js 7.0

Ember.js 7.0 không giới thiệu API công khai mới. Thay vào đó, nó bao gồm các sửa lỗi và việc loại bỏ các API công khai đã bị đánh dấu lỗi thời từ chu kỳ 6.x.

Các tính năng bị loại bỏ

Ember 7.0 loại bỏ các tính năng sau đã bị đánh dấu lỗi thời trong 6.x:

  • Loại bỏ import Ember from 'ember'.
  • Loại bỏ việc xuất bản các gói AMD bởi ember-source.
  • Loại bỏ việc nhập inject từ @ember/service. Bây giờ cần sử dụng import { service } from '@ember/service'.

Sửa lỗi (Bug Fixes)

Ember.js 7.0 bao gồm nhiều sửa lỗi, đáng chú ý nhất là:

  • Hỗ trợ biến toàn cầu mặc định cho chế độ nghiêm ngặt với trình biên dịch mẫu thời gian chạy.
  • Sửa lỗi LinkTo bên trong SVG trực tuyến gây tải lại ứng dụng.
  • Sửa lỗi thuộc tính giá trị bị thiếu trên các đầu vào radio/checkbox liên kết với chuỗi rỗng.
  • Sửa lỗi trackedMaptrackedWeakMap phản ứng (reactivity) cho các khóa hiện có.
  • Sửa lỗi sự cố khi truy cập chỉ số âm của các đối số vị trí của helper.

Ember CLI v7.0

Ember CLI 7.0 không giới thiệu API công khai mới, không thêm cảnh báo lỗi thời mới và không thêm sửa lỗi mới. Bản phát hành này chỉ thêm việc tự động phá vỡ các API công khai đã bị đánh dấu lỗi thời từ chu kỳ 6.x.

Là một dự án mã nguồn mở được điều hành bởi cộng đồng với phạm vi tham vọng, mỗi bản phát hành này là một lời nhắc nhở rằng dự án Ember sẽ không thể thực hiện được nếu không có sự hỗ trợ liên tục của các bạn. Chúng tôi vô cùng biết ơn những người đóng góp vì những nỗ lực của họ.

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