İçeriğe geç
Losyef
TREN
Teklif isteyin

Tüm yazılar

Teknoloji seçimi

Astro mu, Next.js mi? Araç projeye göre nasıl seçiliyor

· Yusuf Irmalı

Losyef Yazılım'da "her projede şunu kullanırım" diye bir liste yok. Araç projeye göre seçiliyor: içerik ağırlıklı bir tanıtım sitesi için Astro, uygulama mantığı gereken işler için React ve Next.js. Bu yazı, o ayrımın hangi sorularla yapıldığını anlatıyor.

Önce beş soru

Seçim bir teknoloji tercihiyle değil, işin kendisiyle başlıyor:

  1. Kaç sayfa olacak? Birkaç sayfalık bir site ile düzenli büyüyen bir site aynı şekilde kurulmaz.
  2. İçeriği kim güncelleyecek? Siz mi, yoksa isteğinizi iletip değişikliği başkası mı yapacak?
  3. Dinamik bir şey var mı? Form, arama, filtreleme, kullanıcı girişi.
  4. Bir yıl sonra büyümüş olacak mı?
  5. Sunucuda çalışması gereken bir işlem var mı?

Cevaplar çoğu zaman aracı kendiliğinden gösteriyor.

Astro ne zaman

Sayfaları önceden bir kez üretilen, ziyaretçiye göre değişmeyen siteler için. Tanıtım sitesi, hizmet sayfaları, proje galerisi, blog. Ortaya sunucuda bir şey çalıştırmayan düz sayfalar çıkıyor; bunlar hızlı açılıyor ve barındırması basit.

MT Mobilya'nın 21 sayfalık sitesi bu yüzden Astro ile kuruldu: içerik ağırlıklı, ziyaretçiye göre değişen bir ekran yok, güncellemeyi atölye değil Yusuf yapıyor.

Bu site için yapılan seçim

Okuduğunuz site de Astro ile kuruldu, ama bu kendiliğinden olmadı. Yusuf, Astro dışında bir seçenek de görmek istedi; Eleventy ve Next.js karşılaştırıldı. Çok sayfalı bir site olduğu için düz HTML elendi: tekrar eden parçaları (üst menü, alt bilgi, kartlar) her sayfada elle yönetmek gerekirdi. Karşılaştırmanın sonunda Astro'da karar kılındı.

React ve Next.js ne zaman

Ekranın kullanıcıya göre değiştiği, çok adımlı formların ya da uygulama mantığının olduğu işlerde. Bileşen tekrarı iyi çözülüyor ve büyümeye elverişli.

Karşılığı da var: kurulum ve bakım yükü daha fazla, bağımlılıklar zamanla güncelleme istiyor. Basit bir tanıtım sitesi için ağır kalıyor. Yayın tarafında da proje başında verilmesi gereken bir karar çıkıyor: statik barındırmada çalışması için ya statik çıktı alınıyor ya da barındırıcıya özel bir uyarlayıcı kullanılıyor. Sonradan değiştirmek maliyetli.

Peki içeriği siz güncelleyecekseniz?

Bu durumda soru değişiyor. Site sahibinin kendi içeriğini düzenlemesi gerekiyorsa WordPress gibi bir içerik yönetim sistemi akla gelir. Ama bu, ayrı barındırma ve sürekli güvenlik güncellemesi demek; GitHub'dan otomatik yayın akışıyla da çalışmıyor. Bu yüzden ilk sorulardan biri hep "içeriği kim güncelleyecek?".

Sunucu gerekince bütün site uygulama olmak zorunda değil

Sayfaları önceden üretilen bir sitede de gerektiğinde sunucuda çalışan küçük parçalar olabilir: bir form ya da gizli bir anahtarla yapılan bir istek, sitenin içindeki küçük bir fonksiyonla çözülebilir. Bütün siteyi uygulama gibi kurmak gerekmiyor. Önce, ayrı bir sunucunun gerçekten gerekip gerekmediği soruluyor.

Kısacası

Araç, sorulara verilen cevaplardan çıkıyor. İçerik ağırlıklıysa ve ziyaretçiye göre değişmiyorsa Astro; uygulama mantığı varsa React ve Next.js. Bir işiniz varsa, iletişim sayfasındaki e-posta taslağında bu beş sorunun cevabını yazmanız seçimi hızlandırır.

Benzer bir işiniz mi var? İletişim sayfasından yazın.