6 puan yazan xguru 2020-04-06 | 2 yorum | WhatsApp'ta paylaş
  • Svelte'in derleme aşamalarını anlaşılması kolay şekilde açıklıyor

#1 .svelte dosyasını okuyup AST'ye dönüştürme

→ HTML kendi başına ayrıştırılır, Script için Acorn, CSS için css-tree kullanılır

#2 AST'yi dolaşıp referansları ve bağımlılıkları izleme

→ Component instance oluşturup değişkenleri bulur ve işaretler

#3 kod blokları ve parçalar oluşturma

→ DOM/SSR Renderer

#4 kod üretimi

2 yorum

 
heycalmdown 2020-04-07

Birkaç gün önce tanıtılan Toast UI Editor(https://tr.news.hada.io/topic?id=1823) da öyle, Language Server Protocol(https://en.wikipedia.org/wiki/Language_Server_Protocol) da öyle; AST'yi kullanan projeler giderek artıyor. Eskiden de JS dosyalarını metin olarak değil AST olarak gönderip tarayıcı motorunun bunları daha hızlı yorumlamasını öneren bir görüş görmüş gibiyim; bu yazı(https://blog.cloudflare.com/binary-ast) olmasa da benzer bir fikir gibi.

Örtük olarak oluşturulan bir AST yerine, elle daha anlamlı bir AST oluşturmaya başlayınca iş artık S-Expression ailesinden fonksiyonel dillere çıkıyor; ortada buluşurlarsa ilginç olur.

 
xguru 2020-04-06

Bir kez okuduktan sonra, dış katkı sağlayanların Svelte koduna katkıda bulunması daha kolay olur gibi görünüyor.