6 poin oleh xguru 2020-04-06 | 2 komentar | Bagikan ke WhatsApp
  • Menjelaskan tahapan kompilasi Svelte dengan cara yang mudah dipahami

#1 Membaca file .svelte lalu mengubahnya menjadi AST

→ HTML diparsing secara mandiri, Script menggunakan Acorn, CSS menggunakan css-tree

#2 Menelusuri AST untuk melacak referensi dan dependensi

→ Membuat instance Component, lalu menemukan dan menandai variabel

#3 Menghasilkan blok kode dan fragmen

→ Renderer DOM/SSR

#4 Pembuatan kode

2 komentar

 
heycalmdown 2020-04-07

Toast UI Editor(https://id.news.hada.io/topic?id=1823) yang diperkenalkan beberapa hari lalu, begitu juga Language Server Protocol(https://en.wikipedia.org/wiki/Language_Server_Protocol), menunjukkan bahwa proyek yang memanfaatkan AST semakin banyak. Saya juga merasa pernah melihat gagasan lama tentang mengirim file JS bukan sebagai teks melainkan sebagai AST agar engine browser bisa menafsirkannya lebih cepat; meski bukan artikel ini(https://blog.cloudflare.com/binary-ast), idenya terasa mirip.

Kalau bukan AST yang terbentuk secara implisit, melainkan AST yang sengaja dibuat dengan tangan agar lebih bermakna, pada akhirnya itu akan menjadi bahasa fungsional keluarga S-Expression. Akan menarik kalau keduanya bertemu di tengah.

 
xguru 2020-04-06

Sekali baca, sepertinya akan memudahkan kontributor eksternal untuk berkontribusi pada kode Svelte.