9 poin oleh GN⁺ 2023-09-21 | 4 komentar | Bagikan ke WhatsApp
  • Svelte 5 memperkenalkan fitur bernama Runes untuk meningkatkan reaktivitas JavaScript
  • Pada 2019, Svelte 3 mengubah JavaScript menjadi bahasa yang reaktif
    • Menggunakan compiler untuk mengubah komponen deklaratif menjadi JavaScript yang dioptimalkan
  • Runes menerapkan reaktivitas ini di mana saja
    • Diterapkan dalam bentuk fungsi seperti let count = $state(0);
    • Dari compile-time reactivity ke runtime reactivity
  • Melalui Runes, reaktivitas melampaui batas file .svelte, sehingga menyederhanakan proses mengenkapsulasi logika antarkomponen untuk digunakan kembali
  • Versi baru Svelte berjalan dengan dasar Signals yang dulu digunakan Knockout. Bukan sebagai mekanisme yang diekspos langsung, melainkan sebagai implementasi internal sehingga diwujudkan dengan cara yang sedikit berbeda
  • Memperkenalkan rune $derived dan $effect, yang menentukan dependensi ekspresi saat dievaluasi, sehingga meningkatkan reaktivitas runtime
  • Runes membuat beberapa konsep lama tidak lagi diperlukan, menyederhanakan framework Svelte dan memudahkan pembuatan serta pemeliharaan aplikasi
  • Ditujukan untuk menjadi pengganti yang layak bagi sebagian besar pengguna, dan fitur-fitur baru dibuat opsional agar komponen yang sudah ada tetap dapat berjalan
  • Tanggal rilis Svelte 5 masih belum ditentukan dan saat ini masih dalam pengerjaan

4 komentar

 
ryuheechul 2023-09-21
 
rjcnd105 2023-09-21

Sepertinya sangat banyak terpengaruh oleh Qwik.

 
GN⁺ 2023-09-21
Opini Hacker News
  • Artikel ini membahas rilis Svelte 5 dan terutama fitur baru 'Runes'.
  • Beberapa komentator membandingkan fitur baru Svelte dengan variabel state dan turunan/terhitung di Vue dan Solid.
  • Ada perdebatan tentang dampak sinyal reaktif, dan sebagian berpendapat bahwa ini dapat menimbulkan kebingungan akibat perubahan yang memengaruhi perubahan lain.
  • Beberapa pengguna menyatakan kekhawatiran terhadap fitur baru 'Runes', dengan alasan bahwa fitur ini terlihat lebih seperti kode umum dibanding sebelumnya dan dapat menimbulkan kebingungan.
  • Ada rasa tidak nyaman terhadap perubahan ini, dan sebagian pengguna khawatir Svelte menjadi terlalu rumit serta kehilangan kesederhanaannya.
  • Seorang komentator menyarankan agar Svelte mempertahankan sintaks tradisional dan mengubahnya di latar belakang agar bekerja serupa dengan fitur baru tersebut.
  • Ada pembahasan tentang kekuatan unik Svelte, yaitu compiler kustom yang membuatnya bertindak seperti bahasa, dan sebagian khawatir hal ini membuatnya semakin menyerupai framework JavaScript tradisional.
  • Beberapa pengguna mengungkapkan kekecewaan karena library lain secara terpisah menciptakan ulang konsep reaktif yang sama, sehingga kompatibilitas menurun dan pergantian framework di masa depan menjadi lebih sulit.
  • Beberapa komentator senang dengan dihapuskannya $:, dan mengatakan bahwa ini akan membantu pengguna Typescript serta menghindari kebingungan sintaks.
  • Ada pertanyaan tentang bagaimana Svelte menangani array panjang, dan apakah hanya elemen tampilan terkait yang akan mengalami perhitungan ulang/pembaruan yang terperinci.
  • Seorang pengguna membagikan tautan untuk perbandingan antara Svelte 4, Svelte 5, dan framework lainnya.
  • Beberapa pengguna mengkritik perubahan sikap Svelte terhadap 'reaktivitas secara default', dengan menyatakan bahwa ini merupakan hilangnya kepercayaan dan gejala dari kecenderungan ekosistem Node.js untuk terus menemukan kembali dan menciptakan ulang hal yang sama.
  • Komentar terakhir menyatakan bahwa Svelte semakin mendekati React Hooks, tetapi menggunakan tahap kompilasi untuk mengoptimalkannya.
 
wooseop 2023-09-21

Sekilas setelah melihatnya, arah pendekatannya juga tampak berbeda dari yang sebelumnya dan kesan asingnya terasa cukup kuat. Rasanya jadi bertanya-tanya apakah ini memang perlu, dan juga terasa kurang ringkas; sama seperti reaksi di Hacker News, ini bagian yang agak mengkhawatirkan.