Skip to main content
Web Geliştirme

Web Components Nedir? Native Bileşenler Rehberi

Mart 15, 2026 3 dk okuma 16 views Raw
Web Components ile native bileşen geliştirme ve kod yapısı
İçindekiler

Web Components'a Giriş

Web Components, tarayıcıların doğal olarak desteklediği bir dizi standart API kullanarak yeniden kullanılabilir, kapsüllenmiş ve özel HTML bileşenleri oluşturmayı sağlayan bir teknolojidir. Herhangi bir framework'e bağımlı olmadan çalışan bu bileşenler, web geliştirmenin geleceğini şekillendirmektedir.

React, Vue veya Angular gibi framework'lerin kendi bileşen sistemleri varken, Web Components tarayıcı düzeyinde standart bir çözüm sunar. Bu durum, farklı projeler ve teknolojiler arasında bileşen paylaşımını kolaylaştırır ve uzun vadeli sürdürülebilirliği artırır.

Web Components'ın Üç Temel Yapı Taşı

Custom Elements

Custom Elements API, geliştiricilerin kendi HTML etiketlerini tanımlamasına olanak tanır. Bu özel etiketler, standart HTML elementleri gibi davranır ve DOM'da doğal bir şekilde kullanılabilir. İki türü vardır:

  • Autonomous Custom Elements: Sıfırdan oluşturulan tamamen yeni elementler. HTMLElement sınıfından türetilir.
  • Customized Built-in Elements: Mevcut HTML elementlerini genişleten özelleştirilmiş versiyonlar.

Shadow DOM

Shadow DOM, bir bileşenin iç yapısını dış dünyadan izole eden kapsülleme mekanizmasıdır. Bileşenin stil ve yapısı, sayfanın geri kalanından tamamen bağımsız çalışır. Bu sayede:

  • CSS çakışmaları önlenir
  • Bileşen içi DOM yapısı dışarıdan erişilemez
  • Stil sızıntıları engellenir
  • Bileşenler güvenli bir şekilde herhangi bir sayfaya yerleştirilebilir

HTML Templates ve Slots

<template> etiketi, sayfa yüklendiğinde render edilmeyen ancak JavaScript ile klonlanıp kullanılabilen HTML parçaları tanımlar. <slot> etiketi ise bileşen kullanıcısının içerik enjekte edebileceği yer tutucular oluşturur.

Web Component Yaşam Döngüsü

Custom Elements, belirli yaşam döngüsü geri çağırma fonksiyonlarına sahiptir:

CallbackTetiklenme ZamanıKullanım Alanı
connectedCallbackDOM'a eklendiğindeBaşlatma, event listener ekleme
disconnectedCallbackDOM'dan çıkarıldığındaTemizleme, kaynak serbest bırakma
attributeChangedCallbackGözlenen özellik değiştiğindeReaktif güncellemeler
adoptedCallbackYeni dokümana taşındığındaBağlam değişikliği yönetimi

Web Components ile Geliştirme Pratikleri

Reaktif Özellik Yönetimi

Web Components'ta reaktivite, observedAttributes statik getter'ı ve attributeChangedCallback ile sağlanır. HTML özellikleri değiştiğinde bileşen otomatik olarak güncellenir. JavaScript özellikleri ile HTML özellikleri arasında senkronizasyon sağlamak önemli bir tasarım kararıdır.

Olay Yönetimi

Custom Elements, standart DOM olaylarını kullanır. CustomEvent API ile bileşene özgü olaylar tanımlanabilir ve bubbles ile composed özellikleri Shadow DOM sınırlarını aşan olay iletimini kontrol eder.

Web Components Kütüphaneleri

Vanilla JavaScript ile Web Components geliştirmek mümkün olsa da bazı kütüphaneler bu süreci kolaylaştırır:

  1. Lit: Google'ın geliştirdiği, reaktif şablonlar ve dekoratörler sunan hafif kütüphane
  2. Stencil: TypeScript tabanlı, derleyici yaklaşımıyla optimize edilmiş bileşenler üreten araç
  3. FAST: Microsoft'un geliştirdiği, yüksek performanslı bileşen sistemi
  4. Shoelace: Hazır UI bileşenleri sunan Web Components kütüphanesi

Framework Entegrasyonu

Web Components'ın en güçlü yanı framework agnostik olmasıdır. React, Vue, Angular veya Svelte projelerine herhangi bir adaptör olmadan entegre edilebilirler.

Ancak bazı framework'ler Web Components desteğinde farklılıklar gösterir. Vue ve Angular mükemmel destek sunarken, React'ın özel element desteği React 19 ile önemli ölçüde iyileştirilmiştir. Özellikle kurumsal tasarım sistemleri için Web Components, teknoloji bağımsız bileşen kütüphaneleri oluşturmanın en etkili yoludur.

Performans ve En İyi Pratikler

  • Shadow DOM kullanımını gerçekten kapsülleme gerektiğinde tercih edin
  • Gereksiz re-render'ları önlemek için özellik değişikliklerini toplu işleyin
  • Lazy loading ile büyük bileşen kütüphanelerinin yükleme süresini optimize edin
  • Erişilebilirlik için ARIA rolleri ve klavye navigasyonu ekleyin
  • SSR uyumluluğu için Declarative Shadow DOM'u değerlendirin

Ekolsoft'un Web Components Yaklaşımı

Ekolsoft olarak, özellikle birden fazla projede kullanılan ortak UI bileşenlerini Web Components standartlarıyla geliştirerek teknoloji bağımsız çözümler üretiyoruz. Bu yaklaşım, farklı framework'lerle çalışan ekiplerin aynı bileşen kütüphanesini paylaşmasını sağlıyor.

Sonuç

Web Components, tarayıcı standartlarına dayanan ve framework bağımsız çalışan güçlü bir bileşen geliştirme teknolojisidir. Özellikle tasarım sistemleri, mikro frontend mimarileri ve çoklu framework ortamlarında vazgeçilmez bir çözüm olarak öne çıkmaktadır.

Bu yazıyı paylaş