Furkan KapukayaYazılım geliştirme
Dijital Temeller3 dk okuma

Frontend, Backend ve Full Stack Nedir? Bir Uygulamanın Katmanları

Frontend ve backend'in ne olduğu, aralarındaki iletişim, kullanılan teknolojiler, full stack kavramı ve bir yazılım projesinde iş bölümünün nasıl yapıldığı.

Bir yazılım projesi konuşulurken "frontend tarafı hazır, backend biraz sürecek" gibi cümleler sıkça duyulur. Bu iki kavram, bir uygulamanın kullanıcının gördüğü yüzü ile arka planda çalışan motorunu ayırır. Ayrımı bilmek, hem teklif değerlendirirken hem de proje ilerlemesini takip ederken işinizi kolaylaştırır.

Frontend: görünen yüz

Frontend, kullanıcının tarayıcıda veya uygulamada doğrudan gördüğü ve etkileşime girdiği kısımdır: menüler, formlar, düğmeler, tablolar ve grafikler.

  • Temel teknolojiler: HTML (iskelet), CSS (görünüm), JavaScript (davranış)
  • Yaygın araçlar: React, Vue, Angular, Svelte; .NET dünyasında Blazor
  • Sorumlulukları: Kullanılabilirlik, erişilebilirlik, mobil uyum, hızlı açılış

Backend: arka plandaki motor

Backend, kullanıcının görmediği ama her şeyin döndüğü katmandır. Verileri saklar, iş kurallarını uygular, yetkileri kontrol eder ve diğer sistemlerle konuşur.

  • Yaygın teknolojiler: C# ve ASP.NET Core, Java, Python, Node.js, Go, PHP
  • Veri katmanı: SQL Server, PostgreSQL gibi veritabanları
  • Sorumlulukları: Güvenlik, veri bütünlüğü, performans, entegrasyonlar

İkisi nasıl konuşur?

Frontend, backend'e genellikle bir API üzerinden istek gönderir: "Şu müşterinin siparişlerini getir." Backend veriyi veritabanından okur, kurallardan geçirir ve genellikle JSON formatında geri döndürür. Bu sözleşmenin net olması, iki tarafın birbirinden bağımsız geliştirilebilmesini sağlar. Kavramın sade anlatımı için API nedir yazısına bakabilirsiniz.

Kural nerede çalışmalı?

Önemli bir ilke: güvenlik ve iş kuralları her zaman backend'de doğrulanmalıdır. Frontend'deki kontroller kullanıcı deneyimi içindir; tarayıcıdaki kod değiştirilebilir. Örneğin indirim oranı sınırı yalnızca arayüzde kontrol edilirse, meraklı bir kullanıcı bu sınırı kolayca aşabilir.

Full stack ne demek?

Full stack geliştirici, hem frontend hem backend tarafında çalışabilen kişidir. Küçük ve orta ölçekli projelerde tek bir full stack geliştiricinin bütün uygulamayı yürütmesi hız ve tutarlılık sağlar. Büyük projelerde ise uzmanlaşmış ekipler tercih edilir.

Masaüstü uygulamalarda durum

Windows masaüstü uygulamalarında da benzer bir ayrım vardır: arayüz (WPF, WinForms) ve iş mantığı ile veri erişimi. Tek kişinin kullandığı bir programda hepsi aynı uygulamada olabilir; birden çok şube veya kullanıcı varsa merkezi bir backend gerekir. Bkz. WinForms, WPF ve MAUI karşılaştırması.

Sık sorulan sorular

Hangisi daha zordur?

İkisinin zorlukları farklıdır. Frontend'de farklı ekran boyutları ve kullanıcı davranışları, backend'de veri tutarlılığı, güvenlik ve ölçeklenme öne çıkar.

Projemde ikisini ayrı firmalara yaptırabilir miyim?

Mümkündür; ancak API sözleşmesinin baştan net yazılması ve sorumluluk sınırlarının belirlenmesi gerekir.

Sonuç

Frontend kullanıcıyı, backend ise veriyi ve kuralları korur. İyi bir uygulama, bu iki katmanın net bir sözleşmeyle uyum içinde çalışmasıyla ortaya çıkar. Projenizin hangi katmanlara ihtiyaç duyduğunu birlikte değerlendirmek için iletişime geçebilirsiniz.