Yazılım

Vue JS Nedir? Ne İşe Yarar, Ne Zaman Seçilir?

Talha Aslan 15 dakikalık okuma 6 görüntülenme

Vue JS nedir?

Vue.js, kullanıcı arayüzü geliştirmek için tasarlanmış açık kaynaklı bir JavaScript çatısıdır. Standart HTML, CSS ve JavaScript üzerine kurulu, bildirimsel ve bileşen tabanlı bir programlama modeli sunar. Veri değiştiğinde ekranı sizin yerinize günceller; bu yüzden etkileşimli sayfalarda sık görürsünüz.

Resmî dokümantasyon Vue'yu "ilerlemeli çatı" (progressive framework) diye tanımlar. Yani küçük bir sayfa parçasına eklersiniz, ihtiyaç büyüdükçe yönlendirme, durum yönetimi ve derleme araçlarını katarsınız. Kaynak: Vue resmî giriş sayfası.

Bu yazıda Vue JS nedir sorusunu pratik tarafıyla ele alıyoruz. Teknik bilgisi olmayan bir işletme sahibi de, kod yazan bir geliştirici de kendi kararını buradan çıkarabilir.

Ayrıca teknik iddiaları resmî kaynağa bağlıyoruz; böylece okuduğunuz bilgiyi kendiniz doğrulayabilirsiniz. Sürüm numarası ve komut gibi hızla değişen ayrıntılar için de aynı kuralı uyguluyoruz: güncel hâli her zaman resmî sayfada arayın.

Vue.js ne işe yarar?

Vue.js, tarayıcıda çalışan ve kullanıcı etkileşimine yanıt veren arayüzleri düzenli biçimde kurmanızı sağlar. Form doğrulama, filtrelenebilir ürün listesi, yönetim paneli, canlı arama kutusu ve çok adımlı sipariş ekranı tipik örneklerdir.

Kullanım alanını üç başlıkta toplayabilirsiniz:

  • Mevcut bir sayfaya küçük etkileşimler eklemek, örneğin sekme, sayaç ya da hesaplama formu.
  • Tarayıcıda çalışan tam bir tek sayfalı uygulama (SPA) kurmak, örneğin müşteri paneli.
  • Sunucuda önceden render ettiğiniz bir web sitesi üretmek, örneğin kurumsal site ya da blog.

Ancak Vue bir içerik yönetim sistemi değildir. Sayfa yapısını, veriyi ve yayın akışını yine sizin kurmanız gerekir. Dolayısıyla Vue'yu bir "site kurma aracı" gibi değil, arayüz katmanı olarak düşünün.

Örneğin bir e-ticaret sitesinde ürün listesini filtreleyen kutuyu Vue ile yazarsınız, ürün verisini ise başka bir sistemden çekersiniz. Yani Vue vitrindeki etkileşimi yönetir; stok, fiyat ve sipariş mantığı arka uçta kalır.

Vue JS nedir ve şablon mantığı reaktiviteyle nasıl çalışır?

Vue'nun iki temel fikri vardır: bildirimsel render ve reaktivite. Bildirimsel render, ekranın nasıl görüneceğini JavaScript durumuna bağlı olarak şablonda tarif etmenizdir. Reaktivite ise durum değiştiğinde Vue'nun DOM'u verimli biçimde güncellemesidir. İki ifade de resmî dokümantasyondan gelir.

Somut bir örnek verelim. Sepetteki ürün sayısını bir değişkende tutarsınız ve şablonda bu değişkeni yazdırırsınız. Kullanıcı ürün eklediğinde değişkeni artırırsınız; ekrandaki rakamı elle değiştirmeniz gerekmez.

Bu yaklaşımın kazancı bakım kolaylığıdır. Çünkü hangi verinin hangi ekran parçasını etkilediğini şablona bakarak okursunuz. Öte yandan reaktivitenin nasıl izleme yaptığını anlamak, ileri seviye hata ayıklarken işinize yarar.

Kısacası şablon görünümü, JavaScript ise davranışı taşır; ikisini Vue birbirine bağlar. Eski usul yöntemde her değişiklik için DOM'a elle dokunmanız gerekirdi, bu da hataya açık bir yoldu.

Bileşen yapısını Vue'da nasıl kurarsınız?

Vue'da arayüzü bileşenlere bölersiniz. Bileşen, kendi görünümü, mantığı ve stiliyle yeniden kullanabileceğiniz bir parçadır: düğme, ürün kartı, arama kutusu ya da bütün bir sayfa olabilir.

Derleme aracı kullanan projelerde bileşenleri tek dosyalı bileşen (Single-File Component, .vue) biçiminde yazarsınız. Resmî doküman, mantığı, şablonu ve stili tek dosyada toplayan bu yapıyı, derleme kurulumu gerektiren işlerde önerilen yol olarak anlatır.

Bir bileşenin üç parçası vardır:

  1. Şablon: HTML'e benzeyen ve ekranı tarif eden bölüm.
  2. Betik: Durumu ve fonksiyonları tutan JavaScript ya da TypeScript bölümü.
  3. Stil: Genellikle yalnız o bileşene uygulanan CSS bölümü.

Örneğin bir ürün kartını bir kez yazarsınız, sonra listede yüz kez kullanırsınız. Böylece tasarım tutarlı kalır ve bir değişikliği tek yerden yaparsınız.

Ayrıca bileşenler, ekip çalışmasını da kolaylaştırır. Bir geliştirici kartı, diğeri sepeti yazarken birbirinin dosyasına dokunmaz. Bu ayrım, hata aradığınız zaman da süreyi kısaltır, çünkü sorunun hangi parçada olduğunu hızla daraltırsınız.

Şablon sözdizimi nasıl çalışır: v-if, v-for ve v-model nedir?

Vue şablonu, HTML'e yönerge adı verilen özel nitelikler ekler. Üç tanesi günlük işlerin çoğunu karşılar. v-if bir parçayı koşula bağlı olarak gösterir. v-for bir diziyi listeye çevirir. v-model ise form alanı ile veriyi çift yönlü bağlar.

<template>
  <input v-model="arama" placeholder="Ürün ara">
  <p v-if="arama">Aradığınız: {{ arama }}</p>
  <ul>
    <li v-for="urun in urunler" :key="urun.id">{{ urun.ad }}</li>
  </ul>
</template>

Bu küçük örnekte kullanıcı yazdıkça arama değeri güncellenir, paragraf kendiliğinden belirir ve liste verideki ürün sayısı kadar satır üretir. Üstelik tek satır DOM kodu yazmazsınız.

Listelerde :key niteliği, Vue'nun hangi satırın hangi veriye ait olduğunu izlemesini sağlar. Bu yüzden her satıra benzersiz bir kimlik verin.

Örneğin bir ürün filtresinde arama kutusu, liste ve "sonuç bulunamadı" mesajı aynı veriden beslenir. Dolayısıyla ekran ile veri hiçbir zaman birbirinden kopmaz.

Options API ile Composition API arasında nasıl seçim yaparsınız?

Vue iki yazım stili sunar. Options API'de mantığı data, methods ve mounted gibi seçeneklerle bir nesne içinde tanımlarsınız. Composition API'de ise reaktif durumu doğrudan fonksiyon kapsamında oluşturursunuz.

Resmî dokümantasyon öğrenirken size daha kolay gelen stili seçmenizi söyler. Üretimde ise derleme aracı olmayan, düşük karmaşıklıklı işlerde Options API'yi, derleme araçlı tam uygulamalarda Composition API ile tek dosyalı bileşenleri önerir. SSS sayfası yeni projeler için Composition API'yi tavsiye eder.

ÖlçütOptions APIComposition API
Öğrenme eğrisiBaşlangıç için rahatReaktiviteyi bilmeyi gerektirir
Mantık yeniden kullanımıSınırlı kalabilirDaha esnek
TypeScript desteğiMümkünBirinci sınıf destek
Uygun senaryoKüçük ve derleme gerektirmeyen işlerOrta ve büyük uygulamalar

Pratikte yeni bir projeye başlıyorsanız Composition API ile ilerlemek mantıklıdır. Ancak elinizde Options API ile yazılmış çalışan bir proje varsa, yalnızca stil değiştirmek için onu baştan yazmayın. İki stili aynı projede birlikte kullanabileceğinizi de bilin; yeni bileşenleri Composition API ile yazıp eskilere dokunmamak makul bir yoldur.

Composition API ile küçük bir sepet sayacını nasıl yazarsınız?

Aşağıdaki örnek, tek dosyalı bir bileşenin en yalın hâlini gösterir. Bir sayı tutar ve düğmeye bastığınızda artırır. Dokümantasyondaki sayaç örneğinin sadeleştirilmiş uyarlamasıdır.

<script setup>
import { ref } from 'vue'
const adet = ref(0)
</script>

<template>
  <button @click="adet++">Sepetteki ürün: {{ adet }}</button>
</template>

Örnekte ref reaktif bir değer oluşturur. Şablondaki çift süslü parantez bu değeri yazdırır. Düğmenin @click olayı değeri artırdığında ekran kendiliğinden güncellenir.

Gerçek bir projede bu sayı büyük olasılıkla bir sunucudan ya da ortak bir durum deposundan gelir. Yine de mantık aynıdır: durumu değiştirirsiniz, Vue ekranı yeniler.

Bu örneği deneyecekseniz önce bir Vue projesi kurmanız gerekir; sonraki bölüm tam olarak bunu anlatıyor. Ayrıca kod örneklerini kendi alan adınızda değil, yerel bilgisayarınızda deneyin.

Vue projesini nasıl başlatırsınız?

Vue JS nedir sorusunu cevapladıktan sonra sıra denemeye gelir. Resmî hızlı başlangıç sayfası, proje iskeletini create-vue aracıyla kurmanızı önerir. Önce bilgisayarınıza Node.js'in güncel kararlı sürümünü kurarsınız; gereken asgari sürüm dokümantasyonda yazar ve zamanla değişir.

npm create vue@latest
cd proje-adiniz
npm install
npm run dev

Kurulum sırasında araç size seçenekler sorar: TypeScript, Vue Router, Pinia, Vitest, uçtan uca test çözümü, ESLint ve Prettier gibi. Emin değilseniz gerekmeyenleri atlayın, çünkü bunları sonradan da ekleyebilirsiniz.

Canlıya almak için npm run build komutunu çalıştırırsınız. Bu komut, optimize edilmiş dosyaları dist klasörüne yazar. Kaynak: Vue hızlı başlangıç rehberi.

Derleme adımı istemiyorsanız Vue'yu CDN üzerinden tek bir betik dosyası olarak da sayfaya ekleyebilirsiniz. Küçük etkileşimler için bu yol yeterli olur; ancak büyüyen projede derleme aracına geçmeniz gerekir.

Vue ekosisteminde hangi araçlar işinizi kolaylaştırır?

Vue yalnızca çekirdek kütüphaneden ibaret değildir; kurulum sihirbazı geliştirme akışını tamamlayan araçları da önerir. Bunlar zorunlu değildir, ancak proje büyüdükçe işinize yarar.

  • Vue DevTools: Bileşenleri ve durumu tarayıcıda canlı inceler.
  • Vitest: Bileşen ve fonksiyonlar için birim testi çalıştırır.
  • Cypress, Nightwatch ya da Playwright: Kullanıcı akışını uçtan uca dener.
  • ESLint ve Prettier: Kod stilini ve olası hataları denetler.
  • VitePress: Vue ekibinin sürdürdüğü statik site üreticisidir ve Vue'nun kendi dokümantasyonunu üretir.

Bu liste, kurulum sihirbazındaki seçeneklere ve kullanım biçimleri sayfasına dayanır. Sürüm numaralarını burada yazmıyoruz, çünkü paketler hızla güncellenir; güncel kararlı sürümü her zaman resmî sayfadan kontrol edin.

Ancak araç sayısı, kaliteyle aynı şey değildir. Küçük bir projede test ve lint kurmak sizi yavaşlatabilir. Bu nedenle önce işin riskini düşünün, sonra araç ekleyin.

Vue Router ve Pinia ne işe yarar?

Vue çekirdeği yalnız arayüz katmanını verir. Çok sayfalı bir uygulama kurarken iki tamamlayıcı pakete ihtiyaç duyarsınız. Kurulum sihirbazı ikisini de seçenek olarak sunar.

  • Vue Router: Adres çubuğundaki yola göre hangi bileşenin görüneceğini belirler.
  • Pinia: Birden çok bileşenin paylaştığı durumu, örneğin oturum bilgisini ya da sepeti, tek yerde tutar.

İkisini de ilk günden eklemek zorunda değilsiniz. Örneğin tek ekranlı bir hesaplama aracı için Router gereksizdir. Buna karşılık bir müşteri paneli gibi çok sayfalı işlerde Router hemen hemen şarttır.

Bir kural olarak, paylaşılan durum yalnızca iki üç bileşende dolaşıyorsa bileşenler arası veri geçişi yeterlidir. Durum ekranlar arasında yayılmaya başlayınca Pinia karmaşayı azaltır.

Geliştirici olmayan okurlar için özet: bu iki paket, uygulama büyüdükçe dağılmasın diye eklediğiniz yapı taşlarıdır. Ekibinizden bu paketlerin neden gerektiğini mutlaka sorun. Ayrıca her ek paketin bakım yükü getirdiğini unutmayın; gereksiz bağımlılık, ileride güncelleme maliyeti olarak size döner.

Vue hangi kullanım biçimlerini destekler?

Vue'nun "ilerlemeli" olması, aynı bilginin farklı mimarilerde işe yaraması demektir. Resmî doküman altı kullanım biçimi sayar. Özet tabloya bakın:

Kullanım biçimiNe zaman mantıklı?
Bağımsız betikHTML'in çoğunu bir arka uç üretiyorsa ve ön yüz mantığı basitse
Gömülü web bileşeniEski ya da farklı çatılı sayfalara parça eklenecekse
Tek sayfalı uygulama (SPA)Zengin etkileşim ve oturum gerektiren panellerde
Tam yığın / SSRİlk içeriğin sunucudan hazır gelmesi gerektiğinde
Jamstack / SSGİçerik derleme anında belliyse, örneğin dokümantasyon
Web dışı hedeflerMasaüstü, mobil ya da WebGL gibi özel hedeflerde

Kaynak: Vue'yu kullanma biçimleri. Bu esneklik, aynı ekibin bir projede SPA, başka projede statik site kurabilmesini sağlar. Üstelik temel bilgi hepsinde ortaktır. Resmî doküman da aynı noktayı vurgular: Vue'nun nasıl çalıştığına dair çekirdek bilgi, bütün bu kullanım biçimlerinde geçerlidir. Dolayısıyla küçük bir etkileşimle başlayıp sonradan tam uygulamaya geçmek mümkündür.

Vue JS nedir, ne zaman tercih etmelisiniz? Kurumsal site, panel ve SPA senaryoları

Vue JS nedir sorusunun işe dönük cevabı, hangi işte avantaj verdiğidir. Aşağıdaki liste genel bir başlangıç değerlendirmesidir; garanti değildir.

  • Yönetim paneli ve müşteri portalı: Çok form, tablo ve filtre varsa Vue iyi uyar.
  • Ürün filtreleme ve canlı arama: Arayüz sık değişiyor ve sayfa yenilenmeden yanıt veriyorsa Vue işinizi görür.
  • Kurumsal tanıtım sitesi: İçerik ağırlıklıysa Vue tek başına şart değildir; SSR ya da SSG ile birlikte düşünün.
  • Hızlı prototip: Derleme gerektirmeyen kullanım, fikri hızlı denemenizi sağlar.

Örneğin beş sayfalık bir tanıtım sitesi için SPA kurmak çoğu zaman gereğinden fazla iştir. Aynı ekip bir bayi paneli yaparsa Vue'nun bileşen yapısı gerçek bir zaman kazancı sağlar.

Sitenize hangi mimarinin uyacağına karar vermekte zorlanıyorsanız web tasarım hizmetimizde ya da özel yazılım geliştirme hizmetimizde önce ihtiyacı netleştiririz.

Vue ile bir ürün filtresi neden kısa sürede yazılır?

Ürün filtresi, Vue'nun en çok parladığı örneklerden biridir. Çünkü ekranda sık değişen birkaç parça vardır: seçili filtreler, ürün listesi, sonuç sayısı ve sıralama. Hepsi aynı veriden türer.

Vue'da bu parçaları şöyle ayırırsınız:

  1. Filtre kutusu bir bileşen olur ve seçimi yukarıya bildirir.
  2. Ürün listesi başka bir bileşen olur ve filtrelenmiş diziyi gösterir.
  3. Filtrelenmiş dizi, ham veriden hesaplanan bir değer olarak tanımlanır.

Bu yapı sayesinde yeni bir filtre eklemek, tek bir bileşeni değiştirmek demektir. Dikkat edeceğiniz nokta şudur: filtre mantığını hem sunucuda hem tarayıcıda ayrı ayrı yazarsanız, iki taraf zamanla birbirinden ayrışabilir. Bu yüzden önce hangi verinin nerede süzüleceğine karar verin.

Ürün sayfalarının arama motorlarında görünmesi önemliyse, filtre sonuçlarının adreslerini de planlayın. E-ticaret tarafındaki hız etkisi için e-ticarette sayfa hızı ve satışlar yazısını okuyabilirsiniz.

Vue, React ve Angular'dan kısaca nasıl ayrılır?

Üç çatı da bileşen tabanlıdır ve her biri olgun bir ekosisteme sahiptir. Ayrım daha çok yaklaşım ve takım alışkanlığındadır. Vue, şablonu HTML'e yakın tutar ve kademeli benimsemeyi öne çıkarır.

React ile Angular arasındaki ayrıntılı karşılaştırmayı React ve Angular karşılaştırma yazımızda anlattık; burada tekrar etmiyoruz.

Vue için kısa bir karar notu yeterlidir:

  • Ekibiniz HTML ve CSS'e yakınsa şablon yapısı öğrenmeyi kolaylaştırır.
  • Mevcut bir sayfaya adım adım modern arayüz katmak istiyorsanız kademeli yapı avantaj sağlar.
  • Kurumsal bir standartla Angular ya da mevcut bir React kod tabanı zaten belirliyse, çatı değiştirmek için güçlü bir gerekçe arayın.

Sonuç olarak en iyi çatı, ekibin iyi bildiği ve işin gerektirdiği çatıdır. Çatı savaşı yerine bakım maliyetine odaklanmanızı öneririz. Çünkü bir çatıyı seçmek kolaydır, yıllarca bakımını sürdürmek ise asıl maliyettir.

Vue JS nedir sorusunun SEO yüzü: Google Vue sitelerini dizine ekler mi?

Evet, Google JavaScript ile çalışan sayfaları işler. Google Search Central, süreci tarama, render etme ve dizine ekleme olarak üç aşamada anlatır. Render adımı, tarama sonrasında eşzamansız biçimde gerçekleşir.

Aynı doküman şunu da vurgular: Sunucu tarafı ya da önceden render etme hâlâ iyi bir fikirdir, çünkü hem kullanıcılar hem tarayıcılar için siteyi hızlandırır ve her bot JavaScript çalıştıramaz. Kaynak: Google JavaScript SEO temelleri.

Bu nedenle Vue ile kurduğunuz bir sitede şu noktaları kontrol edin:

  • Bağlantıları href özelliği olan gerçek a etiketleriyle verin.
  • Yönlendirmeyi #/urunler gibi parça (fragment) adresleriyle değil, History API ile gerçek adreslere yapın.
  • Bulunamayan sayfalarda sunucudan 404 yanıtı döndürün ya da hata sayfasına noindex ekleyin.

Meta etiketlerinizi hazırlamak için meta tag oluşturucumuzu kullanabilirsiniz.

SSR ne zaman gerekir, Nuxt buraya nasıl girer?

SSR'de bileşenleri sunucuda HTML metnine dönüştürür, tarayıcıya gönderir ve orada "hydration" ile etkileşimli hâle getirirsiniz. Vue dokümantasyonu bunun üç kazancını sayar: içeriğe daha hızlı ulaşma, tek bir zihinsel model ve daha iyi SEO.

Bedelleri de vardır. Tarayıcıya özgü kod yalnız belirli yaşam döngüsü kancalarında çalışabilir. Dağıtım için statik barındırma yerine Node.js sunucusu gerekir. Üstelik her istekte render yapmak, statik dosya sunmaktan daha fazla işlemci yükler ve önbellek stratejisi ister.

SeçenekGüçlü yanıDikkat edilecek nokta
SPABasit dağıtım, zengin etkileşimİlk içerik tarayıcıda oluşur
SSGUcuz ve kolay yayınYalnız derleme anında bilinen veri
SSRDinamik veri, hazır HTMLSunucu işletimi ve önbellek

Resmî doküman, üretim uygulamalarında SSR'yi sıfırdan kurmak yerine Nuxt gibi üst seviye çatıları önerir. Nuxt'ı ayrı bir yazıda ele alıyoruz. Kaynak: Vue SSR rehberi.

Vue sitenizin hızını nasıl etkiler?

Vue tek başına siteyi hızlandırmaz ya da yavaşlatmaz; sonucu mimari seçim ve kod kalitesi belirler. SPA'da tarayıcı önce JavaScript'i indirir ve çalıştırır, sonra içeriği oluşturur. Bu da ilk açılışta gecikme yaratabilir.

Vue'nun kullanım biçimleri sayfası, sunucudan hazır HTML gelmesinin Largest Contentful Paint (LCP) gibi Core Web Vitals ölçümlerini iyileştirdiğini belirtir. Dolayısıyla içerik odaklı sayfalarda SSR ya da SSG işinizi görür.

Hız tarafında şu adımlar sırayla işe yarar:

  1. Gereksiz bağımlılıkları ayıklayın ve paketi küçük tutun.
  2. Ağır bileşenleri ihtiyaç anında yükleyin.
  3. Görselleri uygun boyut ve biçimde sunun.
  4. Sonucu ölçün, tahmin etmeyin. Ölçümü hem telefonda hem masaüstünde yapın.

Ölçüm için Lighthouse ile performans testi yazımıza bakın. Genel çerçeve için JavaScript'in site hızına etkisi ve site hızı ile SEO ilişkisi yazılarımız da yardımcı olur.

Vue uygulamasını nereye yayınlarsınız, hosting nasıl seçersiniz?

Yayın şekli mimarinize bağlıdır. SPA ya da SSG ile ürettiğiniz proje, dist klasöründeki statik dosyalardan oluşur; bunları klasik bir hostinge ya da statik barındırmaya koyabilirsiniz. SSR kullanıyorsanız çalışan bir Node.js süreci gerekir.

Seçim yaparken şu soruları sorun: Sunucuda Node.js çalıştırabiliyor muyum? Adres yönlendirme kuralı ekleyebiliyor muyum? SSL ve yedekleme kim yönetiyor?

Hosting kararında web sitesi için hosting seçimi rehberimiz ölçütleri toplar. Sertifika tarafı için SSL sertifikası ve HTTPS yazısına bakabilirsiniz. Yayına aldıktan sonra DNS sorgulama ve SSL sorgulama araçlarıyla ayarları doğrulayın.

Dürüst bir not: Sunucu kurulumu, güvenlik yamaları ve yedekleme sizin uzmanlık alanınız değilse bunları hosting sağlayıcınıza bırakın. Biz dijital pazarlama ve web ekibiyiz, hosting firması değiliz.

Hangi durumlarda Vue kullanmamalısınız?

Her iş için Vue gerekmez. Aşağıdaki durumlarda daha sade bir çözüm çoğu zaman daha iyidir.

  • Sayfada neredeyse hiç etkileşim yoksa, düz HTML ve CSS yeterlidir.
  • İçerik yönetimini yöneticiler üstlenecekse, hazır bir içerik yönetim sistemi bakım yükünü azaltır.
  • Ekipte JavaScript bilen kimse yoksa, bakım yükü işin kazancını aşabilir.
  • Çok eski tarayıcıları desteklemeniz gerekiyorsa, Vue 3 buna uygun değildir.

Son madde için dokümantasyon nettir: Vue 3, yerel ES2016 desteği olan tarayıcıları hedefler ve IE11'i dışarıda bırakır. Kaynak: Vue SSS sayfası.

Bunun yanında SEO'nun kritik olduğu içerik sitelerinde, yalnız istemci tarafında render eden bir SPA tek başına zayıf bir tercih olabilir. Böyle durumlarda SSR ya da SSG ile birlikte kurmanız gerekir.

Kararsızsanız küçük bir deneme sayfasıyla başlayın; yatırımı o sonuca göre büyütürsünüz. Böylece yanlış bir mimariye aylarca bağlanmadan fikrinizi sınarsınız.

Vue 2'den Vue 3'e geçmek gerekli mi?

Yeni bir proje için soru yok: Vue 3 ile başlarsınız. Eski bir projeniz varsa durum farklıdır. Resmî SSS'ye göre Vue 2, 31 Aralık 2023 tarihinde yaşam sonuna (EOL) ulaştı. Ek destek isteyen ekipler için uzatılmış LTS seçeneği bulunur.

Bunun pratik anlamı, Vue 2 projelerine yeni özellik gelmemesi ve güvenlik yamalarının sınırlı olmasıdır. Dolayısıyla yaşayan bir ürününüz varsa geçişi planlamak akıllıca olur.

Geçişi küçültmek için şu sırayı izleyin:

  1. Bağımlılıkları ve eklentileri listeleyin; Vue 3 sürümü olmayanları belirleyin.
  2. Önce test kapsamını artırın, çünkü geçişte güvenlik ağınız testlerdir.
  3. Resmî geçiş rehberini izleyerek adım adım ilerleyin.
  4. Canlıya almadan önce kritik akışları elle de deneyin.

Geçiş kararında maliyeti tahmin ederken ekibin deneyimini hesaba katın. Yazılım ekibiniz yoksa bu işi planlı bir proje olarak dışarıdan almak daha ucuza gelebilir. Üstelik geçişi küçük parçalara bölmek, riski ve sürprizleri azaltır.

Vue öğrenmek için hangi yolu izlersiniz?

Vue'yu öğrenmek için önce HTML, CSS ve temel JavaScript bilmeniz gerekir. Dokümantasyon bu üçlüyü Vue'nun dayandığı zemin olarak tarif eder. Zemin zayıfsa çatıyı öğrenmek yavaşlar.

Önerdiğimiz sıra şöyle:

  1. Temel JavaScript: değişken, fonksiyon, dizi ve olaylar.
  2. Git ile sürüm kontrolü; Git ve GitHub rehberimiz temel komutları anlatır.
  3. Vue'nun resmî eğitimi ve küçük bir proje.
  4. İkinci aşamada TypeScript; TypeScript ve JavaScript karşılaştırmamız karar vermenize yardım eder.

Hangi dilden başlayacağınızdan emin değilseniz hangi yazılım dilini öğrenmeliyim yazısını okuyun.

Küçük bir hesaplayıcı ya da filtreli liste gibi gerçek bir mini proje, video izlemekten çok daha hızlı öğretir. Ayrıca bitirdiğiniz her mini proje, bir sonraki iş görüşmesinde ya da müşteri sunumunda gösterebileceğiniz somut bir örnek olur.

Vue projesine başlamadan önce hangi kararları almalısınız?

Kod yazmadan önce alacağınız birkaç karar, ileride pahalı düzeltmeleri önler. İş sahibi ile geliştirici bu listeyi birlikte gözden geçirmelidir.

  • Sayfaların aranabilir olması gerekiyor mu? Gerekiyorsa SSR ya da SSG planlayın.
  • İçeriği kim, hangi araçla güncelleyecek?
  • Kimlik doğrulama ve yetki ihtiyacı var mı?
  • Yayın ortamı Node.js destekliyor mu?
  • Bakımı kim yapacak ve ne sıklıkla?

Bu soruların cevapları mimariyi neredeyse tek başına belirler. Örneğin arama motoru trafiği hedefleyen bir kategori sayfası ile giriş yapmış kullanıcıya özel bir panel, birbirinden çok farklı çözümler ister.

SEO tarafında emin değilseniz SEO danışmanlığı hizmetimiz teknik kontrol listesi çıkarır. Böylece geliştirme başlamadan önce hatalı mimariyi eleyebilirsiniz.

Son olarak, yedekleme ve geri dönüş planını da erkenden yazın; bunun için web sitesi yedekleme stratejisi yazısı iyi bir başlangıçtır.

Vue ve Nuxt arasındaki ilişki nedir?

Nuxt, Vue üzerine kurulu bir üst katman çatıdır. Vue arayüz katmanını verir; Nuxt ise yönlendirme, sunucu tarafı render ve proje yapısı gibi kararları hazır sunar. Vue dokümantasyonu da SSR gereken üretim işlerinde bu tür çatıları önerir.

Karar kuralı basittir. Panel ya da hesaplama aracı gibi aranabilirlik gerektirmeyen işlerde Vue yeterlidir. Arama motorundan ziyaretçi bekleyen içerik siteleri ve e-ticaret vitrinlerinde ise Nuxt gibi bir çatıyı değerlendirin.

Nuxt'ın ayrıntılarını bu yazıda tekrar etmiyoruz; kardeş yazımızda dosya tabanlı yönlendirme ve render modlarıyla birlikte ele alıyoruz.

E-ticaret sitesi yapıyorsanız teknik mimariyi iş hedefleriyle birlikte düşünmek gerekir. E-ticaret danışmanlığı hizmetimiz bu karar sürecinde ekibinize destek olur.

Sıkça Sorulan Sorular

Vue.js ücretsiz mi?
Evet, Vue.js MIT lisansıyla yayımlanan açık kaynaklı bir projedir. Kullanmak için lisans ücreti ödemezsiniz. Yine de proje geliştirme, bakım, alan adı ve barındırma maliyetleri ayrıca doğar. Resmî SSS sayfası Vue'yu bağımsız ve topluluk destekli bir proje olarak tanıtır; asıl bütçe kalemi yazılım geliştirme işçiliğidir.
Vue.js öğrenmek zor mu?
HTML, CSS ve temel JavaScript biliyorsanız Vue'yu öğrenmek genellikle kolaydır, çünkü şablon yapısı HTML'e yakındır. Resmî doküman başlangıç için Options API'yi, yeni projeler için Composition API'yi uygun görür. Önce küçük bir sayaç ya da liste uygulaması yazın, sonra yönlendirme ve durum yönetimine geçin; her adımda resmî öğreticiyi yanınızda tutun.
Vue.js SEO için uygun mu?
Uygundur, ancak mimariye bağlıdır. Google JavaScript sayfalarını işleyebilir; yine de sunucu tarafı ya da önceden render etmenin kullanıcıları ve tarayıcıları hızlandırdığını söyler. Aranabilirlik önemliyse SSR ya da SSG kullanın, gerçek a bağlantıları ve History API ile adres yönetin. Böylece botlar sayfalarınızı sorunsuz keşfeder.
Vue.js mi React mi tercih etmeliyim?
İkisi de güçlü çatılardır. Vue şablonu HTML'e yakın tutar ve kademeli benimsemeyi kolaylaştırır; React ise geniş bir ekosisteme sahiptir. En doğru seçim, ekibin bildiği çatı ve işin gerektirdiği mimaridir; bakım yapacak kişilerin deneyimi de belirleyicidir. Ayrıntılı karşılaştırma için React ve Angular yazımıza göz atabilirsiniz.
Vue.js ile mobil uygulama yapılır mı?
Evet, doğrudan değil ama ek araçlarla mümkündür. Vue dokümantasyonu mobil için Ionic Vue, çapraz platform için Quasar ve Tauri gibi seçenekleri anar. Yine de uygulama mağazası, performans ve cihaz özellikleri gibi konuları ayrıca değerlendirmeniz gerekir; ihtiyaç ağırlıklı olarak mobilse karar vermeden önce uzman görüşü alın.
Vue.js sunucuda mı çalışır, tarayıcıda mı?
Varsayılan olarak tarayıcıda çalışır. İsterseniz sunucuda HTML üretip tarayıcıda etkileşimli hâle getirebilirsiniz; buna SSR denir. Statik dosya olarak derleyip yayınlamak da mümkündür. Hangisini seçeceğiniz, içeriğin ne kadar dinamik olduğuna ve arama motoru görünürlüğünün sizin için ne kadar önemli olduğuna bağlıdır.
  • vue.js
  • javascript
  • frontend
  • composition api
  • ssr
  • nuxt
  • web geliştirme
Paylaş:
Talha Aslan

Google Partner dijital pazarlama uzmanı. 2012’den beri SEO, Google Ads, web tasarım ve e-ticaret projelerinde sahada; bu blogda gördüğünüz her yazı o deneyimden çıkar.

Sıradaki proje

Projenizi konuşalım.

Talebiniz doğrudan Talha Aslan ve ekibine ulaşır: stratejiyi Talha kurar, uygulamayı deneyimli ekip yürütür. İlk istişare ücretsizdir; hedefinizi dinler, net bir yol haritasıyla döneriz.