Ember.js 7.0 chính thức ra mắt: Tập trung dọn dẹp mã nguồn và ổn định
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).

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-sourcedưới dạng addon v2, cho phép Embroider tiêu thụember-sourcetrự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
renderComponentcho 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-vmmonorepo vàoember.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.jsvàoember.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
broccolivà 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:
- 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ể.
- 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. - 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. - Đảm bảo ứng dụng của bạn xây dựng thành công.
- 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.
- Đả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.
- 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
injecttừ@ember/service. Bây giờ cần sử dụngimport { 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
LinkTobê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
trackedMapvàtrackedWeakMapphả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ọ.
Bài viết liên quan

Công nghệ
Kia EV9 gặp vấn đề nghiêm trọng về pin: Trải nghiệm của người dùng và cuộc chờ đợi kéo dài
28 tháng 5, 2026

Công nghệ
Đánh giá Corsair Galleon 100 SD: Khi Stream Deck được tích hợp ngay trên bàn phím
27 tháng 5, 2026

Công nghệ
Enhanced Games: Khi thể thao gặp gỡ xu hướng Biohacking và công nghệ sống thọ
22 tháng 5, 2026
