← Tüm yazılarRehber · 09 / 10

Frontend, backend ve full stack: Fark nedir, nereden başlanmalı?

Bir web uygulamasının kullanıcıya görünen ve görünmeyen taraflarının ne olduğunu, hangi teknolojilerin nerede kullanıldığını ve başlangıç için neyi seçmek gerektiğini anlatıyorum.

Ömer Çanşalı·5 dk okuma·SİPAHİOĞULLARI YAZILIM
<STACK />

Yazılım dünyasına girdiğinizde frontend, backend ve full stack gibi kelimelerle çok sık karşılaşıyorsunuz. Bu terimler ilk başta karışık gelebilir ama mantığı oldukça basit. Bu yazıda her birinin ne anlama geldiğini, hangi teknolojilerle ilişkili olduğunu ve yeni başlayan biri için nereden başlamanın mantıklı olacağını anlatmaya çalışacağım.

En kolay anlatım yolu bir restoran benzetmesi. Müşterinin oturduğu, menüyü gördüğü ve yemeği aldığı salon frontend'dir. Siparişlerin hazırlandığı mutfak backend'dir. Malzemelerin saklandığı depo ise veritabanıdır. Müşteri mutfağı görmez ama yemeğin güzel ya da kötü olması büyük ölçüde mutfağın çalışmasına bağlıdır.

Frontend, kullanıcının tarayıcıda gördüğü ve etkileşime girdiği kısımdır. Sayfanın düzeni, renkler, butonlar, formlar, animasyonlar ve menüler frontend'in konusudur. Bu alanın temel dilleri HTML, CSS ve JavaScript. Üzerine React, Vue ve Angular gibi kütüphaneler ve Next.js gibi framework'ler eklenir.

Frontend geliştiricisi sadece güzel görünen sayfalar yapmaz. Sayfanın farklı ekran boyutlarında düzgün çalışması (responsive tasarım), hızlı yüklenmesi, erişilebilir olması ve kullanıcının ne yapacağını kolayca anlaması da bu işin parçası. İyi bir arayüz, arka planda ne kadar iyi bir sistem olursa olsun kullanıcının ilk karşılaştığı şeydir.

Backend ise sunucu tarafında çalışan, kullanıcının doğrudan görmediği kısımdır. Kullanıcı girişi ve yetkilendirme, verilerin kaydedilmesi ve okunması, ödeme ve e-posta gibi işlemler, iş kuralları ve diğer sistemlerle iletişim backend'in sorumluluğundadır. Bu alanda PHP, Node.js, Python, C# ve Java gibi birçok dil ve teknoloji kullanılabiliyor.

Backend'in en önemli parçalarından biri veritabanıdır. Kullanıcı bilgileri, ürünler, siparişler, blog yazıları gibi veriler burada saklanır. MySQL ve MariaDB ile PostgreSQL gibi ilişkisel veritabanları SQL dilini kullanır. MongoDB gibi ilişkisel olmayan veritabanları da yaygın olarak tercih edilir.

Frontend ve backend birbirleriyle API üzerinden konuşur. API, bir tarafın diğerinden veri istemesini ve cevap almasını sağlayan bir iletişim arayüzüdür. Örneğin bir sayfa 'ürün listesini ver' diye bir istek gönderir, sunucu da ürünleri çoğunlukla JSON formatında geri döndürür. Frontend bu veriyi alıp ekranda gösterir.

Full stack geliştirici ise hem frontend hem backend tarafında çalışabilen kişidir. Bir uygulamayı arayüzünden veritabanına kadar baştan sona kurabilir. Küçük projelerde ve ekiplerde bu yetkinlik çok işe yarıyor çünkü bütün sistemi anlamak, sorunların nerede çıktığını bulmayı kolaylaştırıyor. Bununla birlikte her konuda çok derin olmak zaman alıyor.

Next.js gibi modern framework'ler frontend ve backend arasındaki çizgiyi biraz bulanıklaştırıyor. Aynı proje içinde hem sayfalarınızı hem de API uçlarınızı yazabiliyorsunuz. Bu da özellikle küçük ve orta ölçekli projeler için full stack geliştirmeyi çok daha erişilebilir hale getiriyor.

Peki yeni başlayan biri nereden başlamalı? Bence çoğu kişi için en mantıklı yol frontend ile başlamak. Çünkü HTML, CSS ve JavaScript ile yaptığınız her şeyi tarayıcıda anında görebiliyorsunuz ve ilerlemeyi hissetmek motivasyonu yüksek tutuyor. Bir süre sonra veriyi nereden alacağınızı ve nasıl saklayacağınızı merak etmeye başladığınızda backend'e geçmek doğal bir adım oluyor.

Eğer sizi verilerle uğraşmak, sistem kurmak ve mantık problemleri çözmek daha çok heyecanlandırıyorsa backend ile başlamak da gayet mantıklı. Python ya da Node.js ile basit bir API yazmak, bir veritabanına bağlanmak ve kullanıcı girişi yapmak iyi bir başlangıç projesi olabilir.

Hangisini seçerseniz seçin, diğer tarafın temelini bilmek çok işe yarıyor. Frontend geliştiricisi backend'in nasıl çalıştığını, backend geliştiricisi de arayüzün neye ihtiyaç duyduğunu anlarsa ekip içinde çok daha verimli çalışabiliyor.

Özetle frontend görünen, backend görünmeyen kısımdır; full stack ise ikisini birlikte yönetebilmektir. Hangisiyle başlarsanız başlayın önemli olan bir yola çıkmak ve küçük projelerle bildiklerinizi pekiştirmek.

ÇIKARIMLAR
  • Frontend kullanıcının gördüğü, backend ise sunucuda çalışan ve görünmeyen kısımdır.
  • Frontend ve backend birbiriyle API üzerinden, çoğunlukla JSON formatında veri alışverişi yapar.
  • Full stack, ikisini birlikte yönetebilmek demektir; Next.js bu geçişi kolaylaştırır.
  • Yeni başlayanlar için çoğu zaman en kolay yol frontend ile başlamaktır.

Bir sorun mu var, konuşmak mı istiyorsun?

Benimle iletişime geç ↗
WhatsApp'tan yaz