Hello World

Jul 8, 2020

Giriş

Merhaba!

Benim için bilgi hangi alanda olursa olsun değerlidir. Bu yüzden yazılım geliştirmeye ek olarak biyoloji, teorik fizik, matematik, dil bilimi ve astronomi gibi pek çok alandaki gelişmeleri de hobi olarak takip etmekteyim.

Çalıştığım kurumdaki gereksinimler sonucunda daha önce derinlemesine bilgi sahibi olmadığım sunucular ve ağ yönetimi gibi alanlarda da deneyim ve bilgi sahibi oldum.

Boş vakitlerimi yazılım geliştirme alanındaki bilgilerimi güncelleyerek değerlendirmekteyim ve bu alandaki tercihlerimi sektöre yön veren firmaların planlarına ve dünya genelindeki geliştirici topluluğunun yönelimlerine göre yapmaktayım.

Bir süredir kişisel bir web sitesi yapmayı düşünüyorudum. İşte burada. Bu site yaptığım tüm bu araştırmalar sonucu edindiğim bilgileri paylaşacağım bir yer olacak. Ana dilim Türkçe olduğundan makalelerimi çift dilli (Türkçe - İngilizce) olarak yazmayı planlıyorum. Eğer bu süreç benim için zaman alıcı ve zorlayıcı olursa sadece İngilizce ile devam edeceğim.

Bu siteyi nasıl yaptım?

Zamanımı PHP veya ASP.NET ile harcayabilirdim. Özellikle de Unity ile de çalıştığımdan C# bilgim oldukça iyi. Fakat böyle bir site için gerçekten back-end ihtiyacım var mı? Aradığım şey güvenli ve maliyet yönünden verimli bir çözümdü. Bu doğrultuda Jamstack bana bunu sağlama potansiyeline sahipti.

Jamstack spesifik teknolojiler ile ilgili bir kavram değil. Daha iyi performans sunan, yüksek güvenlikli, düşük maliyetle ölçeklenebilen ve daha iyi geliştirici deneyimi sağlayan yeni bir web site ve uygulama geliştirme yöntemi.

Tüm araçları deneyimleyip hangisi ile devam edeceğime karar vermek biraz zaman alıcıydı. Şimdi statik site oluşturucuları ile deneyimlerime kronolojik olarak bir göz atalım.

VuePress

Bir Vue.js hayranı olarak, ilk denemek istediğim VuePress oldu. Başlangıç basitti. Kurulumu npm install -g vuepress ile yapıp bir README.md dosyası oluştur. Sonra vuepress dev ile test edip vuepress build ile yayınlamak için hazır hale getir. Çok basit değil mi?

VuePress iki parçadan oluşuyor: Vue tabanlı tema ve eklenti sistemine sahip minimalist bir statik site oluşturucu ve teknik dökümanlar için optimize edilmiş varsayılan bir tema. Vue ve alt projeler için dökümantasyon ihtiyacını karşılamak için geliştirildi.

Daha derinlere dalıp sitemi özelleştirmeye başladıktan bir süre sonra kendimi VuePress ile savaşırken buldum. Bu araç özellikle dökümantasyon siteleri oluşturmak için geliştirilmişti. Eğer yerleşik gelen bütün özellikleri değiştireceksem VuePress gibi bir aracı kullanmanın amacı ne ki? Bu sebepten tekrar araştırmaya başladım.

Gridsome

Evet, bir başka Vue tabanlı statik site oluşturucu. Kısaca Gatsby fakat Vue için. Hızlı ve hafif bir site istiyordum ve Gridsome'ın sunduğu optimizasyon yetenekleri beni etkiledi.

Gridsome her bir sayfayı ultra performans için PRPL deseni kullanarak oluşturur. Kod-parçalama, asset optimizasyonu ve progresif resimler ve link içeriğinin önceden getirilmesi özelliğini dahili olarak alırsınız.

Nuxt Content

Nuxt Content vs Gridsome

Aslında Gridsome ile ilgili bir sorun yoktu. Fakat projelerimde Nuxtjs ile de çalışıyorum ve geçenlerde Twitter'da @nuxt/content modulünü gördüm. NuxtJS v2.13 ile gelen full statik site oluşturma desteğiyle birlikte bu modül aradığım şeydi.

Biliyorum daha bir sürü seçenek var. Fakat tek ihtiyacım olan Markdown dosyalarını parse edecek bir araç idi. Bu yüzden şimdilik NuxtJS + Content ile devam edeceğim. Bu sayede kişisel sitem için yapmak istediğim her şeyi yapabilme esneklğine sahip olacağım.

İlk makalemi burada sonlandırıyorum. Sitem ile ilgili daha teknik bilgileri içeren bir başka makale daha yayınlayacağım.