Svelte 5: Sự Trỗi Dậy Của Runes
Vấn Đề Lớn Về Runes Là Gì?
Khoảng một năm trước, tôi đã tweet rằng ký hiệu đô la trong Svelte là sự trừu tượng mạnh nhất trong phát triển web front-end hiện đại. Tuy nhiên, chỉ sau vài tuần, Svelte đã công bố một tính năng mới gọi là "Runes" thay đổi đáng kể kinh nghiệm phát triển bằng cách loại bỏ cú pháp đô la cho dữ liệu phản ứng.
Từ Chối Đplemented đến Chấp Nhận
Ban đầu, tôi rất sợ_feature này, sau đó tôi trở nên giận dữ, thương lượng về những tradeoff và cuối cùng, tôi đã chấp nhận và thực sự thích Runes. Vậy tại sao khuôn khổ JavaScript được yêu thích nhất lại làm một cuộc ly khai rủi ro khỏi những tính năng người dùng yêu thích về nó?
Cách Cũ: Trạng Thái Phản Ứng với Let
Trước Runes, Svelte sử dụng một trình biên dịch để làm trạng thái phản ứng cập nhật tự động. Tuy nhiên,魔法 này chỉ hoạt động trong một file Svelte và khó chia sẻ lôgic phản ứng trên toàn ứng dụng.
Cách Mới: Runes
Runes sửa chữa cả hai hạn chế bằng cách làm mã của bạn trở nên rõ ràng hơn và tạo ra một hệ thống phản ứng phổ quát có thể được sử dụng không chỉ trong các thành phần Svelte mà còn trong các file JavaScript hoặc TypeScript plain. Điều này đã giản lược hóa khung toàn bộ.
Bốn Runes Chính
Có bốn Runes chính trong Svelte 5:
- Trạng Thái: Tạo một biến phản ứng tự động cập nhật UI khi nó thay đổi.
- Derived: Tính toán một giá trị mới dựa trên một giá trị phản ứng và chỉ chạy khi các phụ thuộc của nó thay đổi.
- Effect: Chạy một số mã khi các phụ thuộc của nó thay đổi, tương tự như React's useEffect.
- Props: Loại bỏ cú pháp export let kỳ lạ trong Svelte và cho phép bạn định nghĩa các đầu vào cho một thành phần.
Phán Quyết: Runes Có Phá Hủy Svelte?
Kết luận, không, Runes không phá hủy Svelte. Thực tế, chúng làm khung trở nên rõ ràng hơn và dễ sử dụng hơn. Các câu hỏi lớn tuy nhiên là, liệu các Runes này làm Svelte cảm thấy giống React hơn?
Tương Lai Của Các Framework JavaScript
Điều gì khá buồn cười về Svelte 5 là nó hiện nay trông và cảm thấy giống React hơn. Trong khi đó, React đang bắt đầu trông giống Svelte hơn. Angular cũng đang thực hiện các di chuyển lớn trong hướng này với các tín hiệu phản ứng được lấy cảm hứng từ SolidJs.
Kết Luận
Bạn không thể sai lầm khi chọn một khung JavaScript trong năm 2024 vì chúng đều là một thứ, và đó là một điều tốt. Cảm ơn vì đã xem, và tôi sẽ gặp lại bạn trong phần tiếp theo!