Svelte 5: เปิดตัว Runes
(svelte.dev)- Svelte 5 นำฟีเจอร์ชื่อ Runes มาใช้เพื่อยกระดับความสามารถด้านการตอบสนองของ JavaScript
- ในปี 2019 Svelte 3 ได้เปลี่ยน JavaScript ให้กลายเป็นภาษาที่มี Reactive
- ใช้คอมไพเลอร์แปลงคอมโพเนนต์แบบประกาศให้เป็น JavaScript ที่ปรับแต่งประสิทธิภาพแล้ว
- Runes นำ Reactivity นี้ไปใช้ได้ทุกที่
- ใช้งานในรูปแบบฟังก์ชัน เช่น
let count = $state(0); - จาก Compile-time Reactivity สู่ Runtime Reactivity
- ใช้งานในรูปแบบฟังก์ชัน เช่น
- ด้วย Runes ความสามารถในการตอบสนองจะขยายข้ามขอบเขตของไฟล์
.svelteทำให้กระบวนการห่อหุ้มลอจิกและนำกลับมาใช้ซ้ำระหว่างคอมโพเนนต์ง่ายขึ้น - เวอร์ชันใหม่ของ Svelte ขับเคลื่อนด้วยแนวคิดแบบ Signals ที่ Knockout เคยใช้มาก่อน แต่เลือกใช้เป็นการทำงานภายในแทนการเปิดให้ใช้งานโดยตรง จึงมีการออกแบบที่แตกต่างออกไปเล็กน้อย
- มีการนำ runes อย่าง $derived และ $effect มาใช้ โดยเมื่อสิ่งเหล่านี้ถูกประเมิน ระบบจะกำหนดการพึ่งพาของ expression ทำให้ Reactivity ในรันไทม์ดีขึ้น
- Runes ทำให้แนวคิดเดิมหลายอย่างไม่จำเป็นอีกต่อไป ช่วยให้เฟรมเวิร์ก Svelte เรียบง่ายขึ้น และทำให้สร้างและดูแลแอปได้ง่ายกว่าเดิม
- เป้าหมายคือให้ผู้ใช้ส่วนใหญ่สามารถแทนที่การใช้งานเดิมได้ โดยฟีเจอร์ใหม่ต่าง ๆ จะเป็นแบบเลือกใช้ เพื่อรับประกันว่าคอมโพเนนต์เดิมยังทำงานต่อไปได้
- ยังไม่ได้กำหนดวันเปิดตัวของ Svelte 5 และขณะนี้ยังอยู่ระหว่างการพัฒนา
4 ความคิดเห็น
Evan You โผล่มาด้วย..! https://news.ycombinator.com/item?id=37592471
ดูเหมือนว่าจะได้รับอิทธิพลจาก qwik มาไม่น้อยเลยนะ
ความคิดเห็นจาก Hacker News
พอลองดูผ่าน ๆ แล้ว รู้สึกว่าทิศทางก็ดูต่างจากเดิมและให้ความรู้สึกแปลกแยกพอสมควรครับ ก็แอบคิดว่าไม่ถึงกับจำเป็น แถมยังดูไม่กระชับน้อยลงด้วย เหมือนกับปฏิกิริยาใน Hacker News เลย เป็นจุดที่น่ากังวลอยู่เล็กน้อย