İlk Next.js Uygulamanızı Birlikte Geliştirelim 🚀

Sıfırdan Next.js kurun, GitHub reponuza push edin ve Skyversal üzerinde canlıya alın. Sunucu yönetimi yok, konfigürasyon yok — sadece kod yazın, gerisini Skyversal halleder.

Okuma Süresi: 10 Dk
Seviye: Başlangıç (Mini Kurs)
👨‍💻 Geliştiriciden Geliştiriciye

Selam, ben Skyversal. Bu rehberde sana komutları ezberletmeyeceğim. Birlikte sıfırdan küçük ama tıkır tıkır çalışan gerçek bir proje geliştirecek, yeni nesil App Router'ı tanıyacak ve günün sonunda kodlarını tüm dünyaya açacağız. Hazırsan kollarımızı sıvayalım!

Bu rehberin sonunda elinde ne olacak?

Şu an bomboş bir ekrana bakıyorsun ama dakikalar içinde şöyle şık ve internete açık bir uygulaman olacak:

Welcome to Skyversal 🚀

Deploy in Seconds. Running on Next.js

GitHub Connected Tailwind Ready

1. Nedir Bu Next.js Dedikleri?

Bilirsin, React tek başına arayüz yazmak için harikadır ama işin içine sayfa yönlendirmesi (routing) veya arama motoru optimizasyonu (SEO) girince "Abi ben sadece component çizerim" der. İşte Next.js tam bu noktada devreye giriyor. Üzerine SSR (Server Side Rendering), API katmanları ve performans optimizasyonları ekleyerek React'i tam teşekküllü bir canavara dönüştürüyor.

Mini Sözlük
  • Routing: Kullanıcının sitede sayfalar arası geçiş yapabilmesini sağlayan sistem (örn: skyversal.dev/docs sayfasına gitmek).
  • SSR (Server Side Rendering): Web sayfasının tarayıcıya gelmeden önce sunucuda oluşturulması. Sitenin Google'da (SEO) çok daha kolay bulunmasını ve hızlı açılmasını sağlar.
  • API: Frontend (arayüz) ile veritabanı arasındaki iletişimi sağlayan gizli kurye.

Skyversal olarak biz bu yapıyı çok seviyoruz ve sistemimiz bunu anında tanıyor. Yani senin zahmet edip klasör yapılarını, sunucu komutlarını Skyversal'e anlatmana gerek yok. Biz "Aha, bu Next.js!" deyip her şeyi senin yerine arka planda kuruyoruz.

2. Haydi! İlk Projemizi Oluşturalım

Aç o siyah terminal ekranını (korkma, ısırmaz) ve şu komutu yapıştır:

npx create-next-app@latest hello-skyversal

Next.js kurulum sırasında sana birkaç soru soracak. Benim 20 yıllık tecrübeme güvenerek cevaplarını şöyle verebilirsin:

  • Would you like TypeScript? Yes — Beni dinle, sonradan "bu değişken neydi ya" diye ağlamamak için bunu evet yap.
  • Would you like Tailwind? Yes — Modern ve hızlı arayüz geliştirmenin en iyi yoludur.
  • Would you like App Router? Yes — Gelecek burada. Next.js'in yeni oyuncağı, alışırsan bırakamazsın.

3. Odaları Gezelim (Klasör Yapısı)

Proje klasörüne (cd hello-skyversal) girince bir sürü dosya göreceksin. Gözün korkmasın, senin bilmen gereken temel 4 yer var:

app/

Evimizin salonu. Tüm sayfalar, layout'lar ve rotalar burada takılır.

public/

Kilerimiz. Logolar, fontlar, statik resimler burada tozlanır.

package.json

Projenin kimliği ve alışveriş listesi. Hangi kütüphaneler yüklü buradan bakarız.

next.config.ts

Kombinin şalteri. Next.js'in can alıcı derleme ayarları burada yatar.

4. İlk Şaheserimizi Yazıyoruz

Hemen app/page.tsx dosyasını aç, içindeki o hazır gelen kuru kalabalığı komple sil ve benim sana hazırladığım şu tatlı kodu yapıştır:

export default function Home() {
  return (
    <main className="min-h-screen flex items-center justify-center bg-black">
      <section className="border border-white/10 p-10 rounded-2xl bg-white/5 text-center">
        <h1 className="text-4xl font-bold text-white mb-4">
          Welcome to Skyversal 🚀
        </h1>
        
        <p className="text-gray-400 mb-8">Deploy in Seconds. Running on Next.js</p>
        
        <div className="flex gap-4 justify-center">
          <span className="bg-emerald-500/20 text-emerald-400 px-3 py-1 rounded">
            GitHub Connected
          </span>
          <span className="bg-blue-500/20 text-blue-400 px-3 py-1 rounded">
            Tailwind Ready
          </span>
        </div>
      </section>
    </main>
  );
}
⚠️
Kıdemli Mühendisten Hap Bilgi: onClick ve Server Components

Yeni başlayanların düştüğü en meşhur tuzaklardan birini vereyim: Eğer bu sayfaya bir buton koyup onClick ekleseydin anında patlardın. Çünkü Next.js App Router, tüm bileşenleri varsayılan olarak sunucuda (Server Component) render eder. Kullanıcı tarayıcısında çalışacak bir tıklama eventi (interaktivite) lazımsa, o dosyanın en tepesine gidip şerefle "use client"; yazmayı unutma!

5. Localhost'ta Bir Görelim

Eserimizi görmek hakkımız, terminalde şu komutu ateşle:

npm run dev

Hemen tarayıcından http://localhost:3000 adresine git. Fişek gibi görünüyor değil mi? Kodda bir şeyi değiştirip kaydettiğinde sayfayı F5'lemene gerek bile kalmayacak, anında güncellenecek. Gençler buna HMR (Hot Module Replacement) diyor.

Mini Sözlük
  • HMR (Hot Module Replacement): Geliştirme yaparken (localhost), kodu kaydettiğin an tarayıcının tüm sayfayı yenilemeden (refresh yapmadan) sadece değiştirdiğin butonu veya metni anında güncellemesi olayıdır. Geliştiriciyi delirmekten kurtarır.

6. Kodumuzu Paketleyelim (Git Nedir?)

Her güzel şeyin bir yedeği olmalı. Git dediğimiz meret, kodumuzun zaman içindeki fotoğrafını çeken ve yanlış yaptığımızda hayat kurtaran bir sistem. Hemen şu 3 komutla projeyi mühürleyelim:

git init
git add .
git commit -m "İlk şaheserim: Merhaba Skyversal"

7. Kodu GitHub'a Şutluyoruz

GitHub'da hemen boş bir depo (repository) aç, oradaki linki kap ve şu iki sihirli kelimeyi terminale fısılda:

git remote add origin https://github.com/kullanici-adiniz/hello-skyversal.git
git push -u origin main

8. Sahne Zamanı: Skyversal'e Çıkıyoruz

Kodumuz GitHub'da sağlama alındı. Şimdi sıra, onu amcanın, halanın, kısacası tüm internetin görebileceği canlı bir site yapmaya geldi.

1️⃣
Projeyi Yarat

Skyversal paneline gir, "Create Project" butonuna yapıştır.

2️⃣
GitHub Bağla

Hesabını yetkilendir ve az önce açtığın `hello-skyversal` reposunu seç.

3️⃣
Ateşle (Deploy)

Zaten her şeyi otomatik anladık. Sen sadece Deploy butonuna bas ve arkanı yasla.

9. Mutfakta Neler Oluyor? (Deploy Log)

Deploy butonuna bastığın an ekranda Matrix gibi bir terminal akmaya başlayacak. Korkma, bak arka planda biz senin için neleri terliyoruz:

Repository Kodunu alıp bizim o havalı, izole sunucularımıza çekiyoruz.
Install Sanki klavyenin başında sen varmışsın gibi npm install çalıştırıyoruz.
Build Next.js devreye giriyor, kodunu production için canavara çeviriyor.
Starting Node.js motoru marş basıyor.
Live 🌍 Boom! Siten tüm dünyada yayında. Gidip bir kahve daha koyabilirsin.
🎉

Harika İş Çıkardın!

İnan bana, birçok kişi o terminal siyahını görünce pes ediyor. Sen sadece birkaç dakika önce bomboş olan bir klasörden, Skyversal'in Edge CDN altyapısında tıkır tıkır çalışan gerçek bir ürün çıkardın. Ekibimiz adına tebrik ederim!

localhost:3000 hello-skyversal.skyversal.dev

Peki Şimdi N'apıyoruz?

Artık bizim kulüptesin. Projeni daha da profesyonel hale getirmek için şu adımları bir kurcala derim:

Son güncelleme: 27 Temmuz 2026
Bu sayfayı GitHub'da düzenle