Svelte.js Nedir? Nasıl Kullanılır?

"Svelte.js Nedir? Nasıl Kullanılır?"

Günümüzde birçok JavaScript framework'ü ve kütüphanesi, etkileşimli kullanıcı arayüzleri oluşturmak için tasarlanmıştır. Bu framework'ler arasında, son zamanlarda oldukça popüler hale gelen Svelte.js, modern JavaScript framework’lerinden farklı bir yaklaşım sunar. Svelte, diğer framework'lerden ayıran bazı özelliklere sahip olması nedeniyle dikkat çeker.


Svelte.js Nedir?

Svelte.js; React veya Vue gibi runtime'a dayanan framework'lerden farklı olarak bir derleme aşamasına (compile-time) sahiptir. Bu derleme aşaması sayesinde, Svelte bileşenleri saf JavaScript’e çevrilir ve doğrudan tarayıcıya yüklenir. Bu yaklaşım, daha az kod çalıştırılmasına olanak tanıyarak tarayıcıdaki işlem yükünü azaltır, uygulamanın daha hızlı ve verimli olmasını sağlar.

Örneğin, diğer framework’lerde kullanıcı etkileşimleri esnasında JavaScript kütüphaneleri aktif olarak çalışır ve sayfa performansını etkileyebilir. Ancak Svelte, bu tür iş yükünü geliştirme aşamasında çözer ve sadece minimal bir JavaScript çıktısı üretir.

Svelte.js'nin Başlıca Özellikleri

  1. Derleme Aşamasında Çalışma:

    • Svelte, bileşenleri geliştirici makinesinde derler ve tarayıcıya sadece gerekli kodu gönderir. Böylece, kullanıcıya daha hızlı bir sayfa sunulur.
  2. Reaktif Değişkenler:

    • Svelte’de değişkenler doğrudan let ile tanımlandığında reaktif hale gelir. Örneğin, bir değişkenin değeri değiştiğinde bileşen otomatik olarak yeniden render edilir. Ek bir durum yönetim aracına gerek duyulmaz.
  3. Küçük Çıkış Dosyaları:

    • Svelte’in sağladığı minimal kütüphane, uygulamanın daha hızlı yüklenmesini sağlar. Bu da düşük bant genişliğine sahip kullanıcılar için avantaj sağlar.
  4. Basit ve Anlaşılır Söz Dizimi:

    • HTML, CSS ve JavaScript'i bir araya getiren sade bir yapıya sahiptir, bu da hem öğrenmeyi hem de geliştirmeyi hızlandırır.

Svelte.js Nasıl Kullanılır?

Svelte ile proje oluşturmak oldukça basittir. Aşağıda adım adım bir Svelte projesi kurulum süreci yer almaktadır.

1. Adım: Proje Kurulumu

Svelte projesi başlatmak için aşağıdaki komutları kullanarak bir proje oluşturabilirsiniz:

npx degit sveltejs/template my-svelte-project
cd my-svelte-project
npm install
npm run dev

Bu komutlar, my-svelte-project adlı bir proje oluşturur, gerekli bağımlılıkları yükler ve bir geliştirme sunucusu başlatır. Artık http://localhost:5000 adresine giderek projenizi görebilirsiniz.

2. Adım: Bir Bileşen Oluşturma

Svelte’de her bileşen .svelte uzantılı dosyalarda tanımlanır. Örneğin, Counter.svelte adında bir bileşen oluşturarak sayısal bir sayacı şöyle tanımlayabilirsiniz:

<script>
  let count = 0;

  function increment() {
    count += 1;
  }
</script>

<button on:click={increment}>
  Count: {count}
</button>

Burada, count değişkeni her tıklandığında increment fonksiyonu aracılığıyla artar. {count} ifadesi, sayfanın güncellenmesini sağlar.

3. Adım: Reaktif Değişkenler Kullanma

Svelte’in reaktif yapısı sayesinde, değişkenler otomatik olarak reaktif hale gelir. let anahtar kelimesiyle tanımladığınız bir değişkenin değeri değiştiğinde, Svelte otomatik olarak bileşeni yeniden render eder.

<script>
  let name = 'Dünya';

  $: greeting = `Merhaba, ${name}!`;
</script>

<input bind:value={name} placeholder="Adınızı girin" />
<h1>{greeting}</h1>

Bu örnekte, name değişkeni input alanında güncellendiğinde greeting değişkeni de otomatik olarak güncellenir.


Svelte’in Diğer Framework’lere Göre Avantajları

  • Performans: Derleme aşamasında optimize edilmiş JavaScript oluşturduğundan, React veya Vue'ya göre daha hızlı çalışır.
  • Kolay Öğrenim Eğrisi: Basit ve sezgisel bir yapıya sahip olması sayesinde öğrenilmesi daha kolaydır.
  • Ekosistem: Svelte’in bir eklenti veya büyük bir kütüphaneye ihtiyaç duymadan çalışabilmesi, daha küçük ve bağımsız projeler için avantaj sağlar.

Svelte ile Proje Geliştirmenin Zorlukları

  • Küçük Ekosistem: React ve Vue gibi daha büyük topluluklara kıyasla daha az üçüncü parti kütüphane desteği vardır.
  • Öğrenme Desteği: Daha az kaynak bulunduğundan, bazı ileri düzey projelerde zorluklarla karşılaşılabilir.

Svelte.js, modern ve hızlı bir web geliştirme deneyimi sunar. Özellikle derleme aşamasında çalışan bir framework arayan, performansa önem veren ve sade bir yapı isteyen geliştiriciler için idealdir. Svelte, karmaşık yapılar yerine basit ve hafif bir çözüm sunarak geliştiricilerin hızlı ve etkili bir şekilde uygulama geliştirmesini sağlar. Bu nedenle, Svelte ile projelere başlamak ve dinamik web uygulamaları geliştirmek isteyenler için güçlü bir araçtır.

Aykhan Gasimzade Aykhan Gasimzade verified icon
Full Stack Developer

Merhaba! Ben Aykhan, 1999 doğumlu bir Azerbaycanlıyım ve 2017 yılından bu yana programlamayla ilgileniyorum. Teknolojinin büyülü dünyası beni her zaman etkilemiştir ve bu merakımı kendi blogumda paylaşarak daha geniş bir kitleyle buluşturmayı amaçlıyorum.