Vue.js Nedir?

Vue.js, kullanıcı arayüzleri (UI’ler) ve tek sayfalı uygulamalar (SPA’lar) oluşturmak için bir geliştirilmiş bir JavaScript frameworküdür. Diğer rakipleri gibi, Vue.js de açık kaynaklıdır. Bir model-görünüm-görünüm modeli (MVVM) mimari deseni kullanır.

Evan You tarafından tasarlanan ve 2014’te yayınlanan framework, Angular.JS‘den iyi ve dezavantajlı yanlarını eleyerek tamamen yeni ama oldukça hafif bir framework oluşturmak için kullanmasıyla ortaya çıktı.

MVVM mimarisi, iş mantığının veya modelinin grafik kullanıcı arayüzünden (GUI) veya görünümden ayırt edilmesini sağlar.

Aslında, ayrım, front-end ve back-end geliştiricilerin birlikte çalışması için kasıtlı olarak sezgisel bir model sağlar. Görünüm modeli, bu tür endişeleri ayrı tutan ve bir bağlantı görevi gören yapıdır.

Ayrıca Vue.js, yalnızca görünüm katmanına odaklanan bir çekirdek kütüphanesine sahiptir. Herhangi bir ek işlevsellik Vue.js’nin destekleyici kütüphaneleri kullanılarak elde edilmelidir. Fakat bu kütüphaneler yerleşik değildir.

Ancak Vue.js’nin en göze çarpan özelliği direktifleridir. Yönergeler, geliştiricilerin web sayfası içeriğinin yapısını belirleyen web sayfalarının temel bir teknolojisi olan  HTML’yi genişletmesine izin veren HTML nitelikleridir.

UI tarafında kendine özgü bir syntaxı vardır. Açık kaynak olarak sunulan bu kütüphane hızla yayılmaktadır. Bu hızlı yükselişin tabi ki birden çok nedeni var. Bu nedenlerden bazıları kolay ve hızlı öğrenme, lightweight yapısı, projelere kolay entegre olması ve en önemlisi çok hızlı olması. Tarayıcının DOM’u ( Document Object Model) üzerinde değişiklik yapmak çok maliyetlidir. Bu nedenle Vue js virtual DOM kullanmaktadır.


Peki nedir bu virtual DOM?

Vue js yapısı gereği direk tarayıcı DOM’u üzerinde değişiklik yapmak yerinde virtual DOM üzerinde değişiklik yapar. Değişikliğin ardından virtual DOM ve tarayıcının DOM’u karşılaştırılarak sadece değişen kısımlar kullanıcıya gösterilir. Böylece daha performanslı bir sonuç üretilir.

Vue.js’nin 5 Avantajı

  • Başlamak için Basit

Vue.js ‘kademeli olarak benimsenebilir’ olarak da adlandırılır. Bu, Vue.js ve onu kullanan uygulamaların sıfırdan tasarlandığı anlamına gelir. Buradaki avantaj, başlamanın kolay olmasıdır ve ihtiyaç duyduğunuzda daha ileri seviye uygulamalara geçiş yapabilirsiniz.

  • Büyük Resmi Kütüphaneler

Vue.js’de ek işlevsellik için isteyeceğiniz özellikler, framework’ün resmi kütüphaneleri tarafından zamanla kapsanmaktadır. Temelleri ayarladıktan sonra, muhtemelen yönlendirme ve durum yönetimi en büyük endişeleriniz olacaktır.

  • Hızlı Renderizasyon

Vue.js’nin hafif yapısı ( sadece 21 KB’lık paket boyutu) onu rakiplerinden daha hızlı kılıyor. Özellikle sanal DOM, oluşturmayı hızlandırır.

  • Kolay Öğrenme Eğrisi

Kütüphaneler ve JavaScript varyasyonları söz konusu olduğunda, Vue.js’yi öğrenmek çok fazla yazılım geçmişi ve bilgisi gerektirmez. Klasik CSS, HTML ve JavaScript Vue öğrenirken yeterli olacaktı.

  • Topluluk Avantajı

Çoğu açık kaynaklı dil ve framework gibi, Vue.js de destekleyici ve bu alana yoğunlaşmış bir topluluğa sahiptir.

Vue.js’nin Eksileri Nelerdir?

Çok Esnek

Garip bir şekilde, Vue.js ile ilgili en yaygın şikayet, fazla esnek olması veya en azından gerekenden daha esnek olmasıdır.

Çok Sınırlı

Vue.js ekosistemi, resmi kütüphaneleri ve toplulukları dahil olmak üzere oldukça geniş olsa da, örneğin Vue.js ile React veya Angular.JS’yi karşılaştırdığınızda bazı belirgin farklılıklar göreceksiniz.

Nispeten Çok Yeni

Birçok nedenden dolayı Vue.js’nin modernliği göründüğü kadar avantajlı değildir. Öncelikle topluluğu hâlâ küçük ve kaynak anlamında gelişmeye devam ediyor.

Vue.js Ne İçin Kullanılır?

  • Prototipler

Web geliştirmedeki bir prototip, web tasarımınızın, web sitesini gerçekten oluşturup başlatmadan önce nasıl çalışacağını gösterebilen bir maketi gibidir.

  • Kullanıcı Arayüzü Projeleri

Vue.js yalnızca standart HTML, CSS ve JavaScript ile kullanılabildiğinden, Vue.js’de bir UI projesi oluşturmak oldukça kolaydır. Vue.js’nin küçük öğrenme eğrisi ve hızlı oluşturma gibi diğer özellikleri de büyük bir avantaj sağlar.

  • Mevcut Uygulamalar

Vue.js, mevcut uygulamalara işlevsellik eklemek için harika bir varlık olabilir. Küçük boyutlu ve temeli JavaScript’e dayanır, bu nedenle onu önceden var olan herhangi bir JavaScript projesine entegre etmek oldukça kolaydır.

  • Mobil Uygulama Geliştirme

Vue.js’te mobil uygulama geliştirme için yerel destek yoktur. Ancak ne olursa olsun kullanımını kolaylaştıracak birkaç proje var.

  • Tek Sayfa Uygulamaları (SPA)

Tek sayfalık uygulamaları açıklamanın en kolay yolu, onları yenilenmeye ihtiyaç duymayan web sayfaları olarak tasavvur etmektir. Bu nedenle, mobil uygulamalara çok benziyorlar. 

Kısaca tanım yapmak gerekirse Vue js client tarafında kullanıcı ara yüzü oluşturmayı sağlayan bir javascript kütüphanesidir.