Vue js ile çalışmaya başladığım ilk zamanlarda henüz bir SSR tabanlı projeye ihtiyacım olmamıştı. Server tarafında bir Vue uygulamasına ihtiyaç duyduğumda ufak bir araştırmaya girişmiştim. Bir süre araştırdıktan sonra iki adet alternatifle karşılaştım. Birincisi Next.js'in Vue tarafındaki karşılığı olan Nuxt.js'ti. Nuxt.js'in gelişmiş router yapısıyla server tarafında Vue tabanlı bir uygulamayı web side için yayına alabilmesi benim için yeterliydi.

Framework, Vue kullanıyor olsa da bu tarz işlemler için mutlaka bazı sinir bozucu değişiklikler ile karşılaşabiliyorsunuz. Mesela link yapısı üzerinde ve router tarafında Nuxt içerisinde farklı varyasyonların olması ve daha bir çok farklı yapıların oluşturulması gerekliliği ufak ta olsa geliştirme yaparken insanın tadını kaçırıyor. Genel olarak yapı anlaşılabilir ve zaten doğrudan alternatifi de bulunmuyor. Ancak yakın zamanda bir e-ticaret altyapısı üzerinde çalıştığımdan dolayı web tarafı ile beraber, gerektiğinde mobil için de bir uygulama derleyebileceğim yapıya da ihtiyacım vardı.


Quasar JS

Tam bu noktada Quasar ile tanıştım. Quasar benim için hem front-end tarafında hem de henüz deep diving yapmadığım mobil platform üzerinde devrim oldu diyebilirim. Quasar'ın sunduğu özelliklere değinelim.


Temel Faydalar


  • Tek Seferde Tüm Platformlar

    • Gerçekten te tüm platformlar için derlenebilir bir uygulamanız oluyor. İstediğiniz platformu hedefleyip bir uygulama çıkarabilirsiniz. SSR, PWA, Native Web Apps, Electron tabanlı masaüstü uygulaması vd.

  • Web components altyapısı

    • Bir çok platformu destekliyor olması ile beraber güçlü bir web component yapısı ve daha bir çok utils ile beraber geliyor ve hiç azımsanacak bir altyapı değil. Çok fazla bileşen barındırması uygulamanın bir çok yerinde önceden öngörülebilir ve kolay ölçeklenebilir bir geliştirme süreci sunuyor.

  • Varsayılan olarak entegre edilen en iyi uygulamala altyapısı

    • Buradaki özelliği de açmak gerekirse, framework bir çok yönden iyi düşünülmüş olduğundan dolayı neredeyse tüm senaryolara bir çözüm üretmeden önce zaten uygulamanın sağlamış olduğu teknik altyapı ve konfigüre edilebilir özellikleri kesin sonuç üretmenize doğrudan olanak tanıyor. Aynı zamanda güçlü bir dökümantasyonun olması ve bir çok detayı içerisinde barındırması da artı özelliklerinden birisi.


Buraya kadar benim için önemli olan temel özelliklere değindim. Diğer detaylara aşağıdaki bağlantıdan ulaşabilirsiniz.

https://quasar.dev/introduction-to-quasar#best-practices-integrated-by-default


Cross-platform Özellikleri


Masaüstü Uygulaması

Masaüstü tarafında Electron ile derleme yapabiliyorsunuz. Bir uygulama geliştirdiğinizde ve bunu electron haricinde mobil ve web tarafı için de aynı anda geliştirebilirsiniz. Ancak Vue tarafında Electron tarafından yorumlanması gereken alanları iyi belirlemeniz ve client tabanlı kısımları izolet etmeniz gerekecektir.


Web Uygulaması

Masaüstü tarafında SSG ve SSR olarak iki farklı render modu arasında geçiş yapabiliyorsunuz. SSR tarafı için yük altında ağır çalışan uygulamarınız varsa şahsen çok tavsiye etmiyorum. Yine de Single Page Application vb. gibi bir projeniz varsa kullanışlı olabilir.


Mobil Uygulama

Daha önce Cordova kullanarak Android için bir deneme yapmıştım ve başarılı bir sonuç almıştım. Native Application render yaptığı web tabanlı geliştirmede başarılı olduğunu söyleyebilirim.


Sonuç

React.js ile uzun zamanlı çalışmadım ve mobil için native tarafında böyle bir alternatif var mı bilmiyorum ama Quasar gerçekten sadece Vue olarak değerlendirilmemeli diye düşünüyorum. Okuduğunuz için teşekkürler.