Svelte 5: Ra mắt Runes
(svelte.dev)- Svelte 5 giới thiệu một tính năng gọi là Runes để cải thiện tính phản ứng của JavaScript
- Năm 2019, Svelte 3 đã biến JavaScript thành một ngôn ngữ reactive
- Sử dụng compiler để chuyển các component khai báo thành JavaScript được tối ưu hóa
- Runes áp dụng tính reactive này ở mọi nơi
- Áp dụng dưới dạng hàm như
let count = $state(0); - Từ Compile-time Reactivity sang Runtime Reactivity
- Áp dụng dưới dạng hàm như
- Thông qua Runes, tính phản ứng được mở rộng vượt ra ngoài ranh giới của file
.svelte, đơn giản hóa quá trình đóng gói logic để tái sử dụng giữa các component - Phiên bản mới của Svelte vận hành dựa trên Signals mà Knockout từng sử dụng trước đây. Nó được triển khai hơi khác một chút khi được đưa vào phần hiện thực nội bộ thay vì tác động trực tiếp
- Giới thiệu các rune
$derivedvà$effect; khi chúng được đánh giá, chúng sẽ xác định các dependency của biểu thức, từ đó cải thiện tính phản ứng lúc runtime - Runes khiến nhiều khái niệm hiện có trở nên không còn cần thiết, giúp đơn giản hóa framework Svelte và làm cho việc xây dựng, bảo trì ứng dụng trở nên dễ dàng hơn
- Mục tiêu là tạo ra một lựa chọn có thể thay thế cho đa số người dùng, đồng thời cho phép sử dụng các tính năng mới theo kiểu tùy chọn để bảo đảm các component hiện có vẫn tiếp tục hoạt động
- Ngày phát hành của Svelte 5 vẫn chưa được quyết định và hiện vẫn đang trong quá trình phát triển
4 bình luận
Evan You xuất hiện..! https://news.ycombinator.com/item?id=37592471
Có vẻ như đã chịu ảnh hưởng khá nhiều từ qwik.
Ý kiến trên Hacker News
$:, nói rằng điều này sẽ giúp người dùng Typescript và tránh nhầm lẫn về cú pháp.Lướt qua thì thấy định hướng cũng có vẻ khác hẳn so với trước và cảm giác lạ lẫm cũng ập đến khá rõ. Cũng thấy hơi tự hỏi có thật sự cần thiết không, lại còn kém cô đọng hơn, nên giống như phản ứng trên Hacker News, đây là điểm khiến tôi hơi lo ngại.