Modern JavaScript framework’lerinin çalışma mantığını anlamak
- Kendi JavaScript framework’ünü yapmayı denemek, öğrenmeye yardımcı olur.
- "Modern JavaScript framework’leri", React sonrasında ortaya çıkan framework’leri ifade eder.
- Bu framework’ler React’ten ilham almış olsa da, benzer yönlerde evrilmiştir.
Modern framework’lerin özellikleri
- DOM güncellemeleri için reactivity kullanılır.
- DOM render etmek için template cloning kullanılır.
<template>veProxygibi modern web API’leri kullanılır.
Reactivity
- React’in reaktif olmadığı sıkça söylenir.
- Modern framework’ler performansı önceliklendiren push tabanlı bir reaktivite modeli kullanır.
Proxykullanılarak, durum her değiştiğinde DOM’un güncellenmesi sağlanır.
DOM ağaçlarını klonlama
<template>etiketiyle HTML bir kez parse edildikten sonra tamamının hızlıca klonlanması verimli bir tekniktir.- Bu yöntem çeşitli JavaScript framework’lerinde kullanılır.
Modern JavaScript API’leri
<template>veProxy, reactivity sistemi kurmaya yardımcı olan API’lerdir.- Tagged template literal’lar kullanılarak HTML template API’si basitleştirilir.
Reactivity kurma adımları
- Durum yönetimi ve durum değiştiğinde DOM güncellemelerini tanımlayan reactivity, framework’ün temelini oluşturur.
Proxyile durum değişiklikleri algılanır vequeueMicrotaskile güncellemeler verimli şekilde yönetilir.
DOM render etme adımları
htmlfonksiyonu kullanılarak DOM ağacı oluşturulur ve verimli şekilde güncellenir.- Tagged template literal’lar ile HTML template’leri yazılır,
WeakMapile HTML parse işlemi optimize edilir.
Reactivity ile DOM render etmeyi birleştirmek
createEffectkullanılarak duruma göre DOM güncellenir.- Durum değiştiğinde metnin otomatik güncellenmesi sağlanır.
Sonraki adımlar
- DOM render sistemini geliştirmek için çeşitli yollar vardır.
- Amaç, template’i yalnızca bir kez parse etmek ve binding’leri yalnızca bir kez kurarak güncellemeleri en aza indirmektir.
GN⁺ görüşü
Bu yazıdaki en önemli nokta, modern JavaScript framework’lerinin temel kavramlarını ve nasıl uygulandıklarını anlamak; ayrıca gerçekten kendi framework’ünü yapma deneyimi üzerinden öğrenmektir. Bu yaklaşım, özellikle başlangıç seviyesindeki yazılım mühendisleri için framework’lerin iç işleyişini anlamaya ve bunu pratikte denemeye imkân vererek ilgi çekici ve faydalı bir öğrenme deneyimi sunabilir.
1 yorum
Hacker News görüşü
İlgilenenler için, konuya dair temel bir anlayış kazanmak adına şu kaynaklar öneriliyor:
React hakkında yanlış anlaşılmalar ve gerçekte nasıl çalıştığına dair açıklamalar:
useMemo, yeniden render etmeyi engellemez; bu göreviReact.memoüstlenir.Svelte hakkında olumlu değerlendirmeler ve kullanım örnekleri:
Reaktif framework’ler üzerine farklı bakış açıları:
React’in reaktivitesi üzerine soru ve tartışmalar:
Frontend framework deneyimi yüksek kişilere yöneltilen bir soru: