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.