Web Components sorun değil
- Web geliştirme topluluğu sık sık web components hakkında tartışıyor
- Ryan Carniato, "Web Components Are Not the Future" başlıklı bir yazı yazdı; Cory LaViska ise "Web Components Are Not the Future — They’re the Present" başlıklı yazıyla buna yanıt verdi
- Yazar bu tartışmayı barışçıl bir şekilde çözmeye çalışıyor
Performans
- Web components, Custom Elements temeline dayanıyor; bu yüzden tüm arayüzler DOM üzerinden işleniyor
- DOM düğümlerini en aza indirmek, performans optimizasyonunun temel noktası
- Ancak her şey performanstan ibaret değil; bakım kolaylığı, güvenlik, kullanılabilirlik ve erişilebilirlik gibi diğer unsurlar da hesaba katılmalı
- Örneğin
aria-* niteliklerini render etmemek performansı artırabilir, ancak erişilebilirlik için bunlar kesinlikle gerekli
- Performans optimizasyonu önemli olsa da, pratikte layout thrashing, network waterfall ve gereksiz yeniden render gibi daha basit sorunlar performans üzerinde daha büyük etki yaratıyor
Standartların maliyeti
- Standartları desteklemek, ek kod yazımı ve çalıştırma gerektiriyor
- Ancak web components desteği sağlamak büyük bir yük değil
- Yeni web platformu özelliklerini dikkate almak doğal bir şey ve bu durum Symbols, Proxys, Promises gibi yapılar için de geçerli
- Web geliştirme topluluğunun bir kısmı web components desteklemek istemeyebilir ve bu da sorun değil
- Web, farklı yaklaşımlara izin veren büyük bir çadır
Sonuç
- Web components kendi başına sorunlu değil, ancak her şeyin yerini alabileceği vaadi riskli
- Web components; server-side rendering, erişilebilirlik ve birlikte çalışabilirlik gibi konularda zayıf yönlere sahip
- React, Solid, Svelte gibi diğer framework'lerin hâlâ öne çıktığı alanlar var
- Web, çok çeşitli amaçlar için kullanılıyor ve bu da yaratıcılığı ifade etmek için fırsatlar sunuyor
- Web components size uygun olmayabilir ve bu da sorun değil
# GN⁺ özeti
- Bu yazı, web components hakkında farklı bakış açıları sunuyor ve performans ile diğer unsurlar arasındaki dengeyi vurguluyor
- Web components her şeyin yerini alamaz, ancak belirli kullanım alanları için uygun
- Web geliştirme topluluğu farklı yaklaşımlara izin veriyor ve bu da yaratıcılığı teşvik ediyor
- Eğer web components size uymuyorsa başka framework'ler kullanabilirsiniz
- Web'in sunduğu çeşitli olanaklar, yeni yaratıcı ifade biçimleri için fırsatlar sağlıyor
1 yorum
Hacker News görüşü
"Web Components Are Not the Future" başlıklı yazının ikna edici argümanlardan yoksun olduğu hissedilmiş
İnsanlar farklı optimizasyonların peşinde olduğu için görüşler ayrışıyor
Svelte, Custom Elements API aracılığıyla Web Components oluşturmayı destekliyor
Web Components'ın full-stack geliştiricilerin hayatını daha iyi hale getirmediği düşünülüyor
Web Components ve Shadow DOM, tarayıcı eklentilerinin çalışmasını engelleyebilir
Birlikte çalışabilirlik performans maliyeti getirir
Web Components'ın güncel frontend sorunlarını çözebileceği düşünülüyor
250.000 satırlık bir JS kod tabanı devralındı ve Web Components ile refactor ediliyor
Web Components, JS olmadan da çalışabilir
Framework'ler ve Web Components farklı sorunları çözen araçlardır