Frontend ve Backend Nedir?
Frontend, bir uygulamanın kullanıcının gördüğü ve dokunduğu yüzüdür; backend ise arka planda veriyi saklayan, kuralları işleten ve güvenliği sağlayan kısmıdır. İkisi birbiriyle genellikle API üzerinden konuşur.
Bir restoran düşün. Masalar, menü ve garson müşterinin gördüğü taraftır. Mutfak, depo ve kasa ise müşterinin görmediği ama her şeyin aslında döndüğü yerdir. Yazılımda ilkine frontend (ön yüz), ikincisine backend (arka yüz) denir.
Frontend
- Kullanıcının gördüğü ekranlar, butonlar, formlar ve animasyonlar.
- Web'de HTML (iskelet), CSS (görünüm) ve JavaScript (davranış) ile yazılır; bunların üzerine kurulan çeşitli kütüphaneler sık kullanılır.
- Kullanıcının tarayıcısında ya da telefonunda çalışır.
- Ana dertleri: hız, kolay kullanım, farklı ekran boyutlarında düzgün görünmek.
Backend
- Veritabanı, kullanıcı girişi, ödeme, e-posta gönderme gibi işler.
- Sunucuda çalışır. Kullanıcı bu kodu görmez.
- Ana dertleri: verinin doğru ve güvenli saklanması, aynı anda çok kullanıcıya cevap verebilmek.
İkisi nasıl konuşur
Frontend, backend'e bir istek gönderir: "Bu kullanıcının siparişlerini ver." Backend veritabanından bilgiyi alır ve cevap olarak geri yollar. Bu konuşmanın kurallarına API denir.
Önemli bir kural: Güvenlik backend'de olur
Frontend kullanıcının cihazında çalıştığı için değiştirilebilir. Bir fiyatın, stoğun ya da yetkinin kontrolü yalnızca ekranda yapılırsa kolayca atlatılır. Asıl kontrol her zaman backend'de yapılmalıdır.
Full stack
Hem frontend hem backend yazabilen geliştiriciye full stack geliştirici denir.
Müşteri salonu görür, ama yemeği mutfak pişirir.
İlgili makaleler: API Nedir? · Veritabanı Nedir? · Programlama Dili Nedir?
İlgili Makaleler
Programlama Dili Nedir?
Programlama dili, bilgisayara ne yapması gerektiğini anlatmak için kullanılan, kurallı bir yazma biçimidir.
Algoritma Nedir?
Algoritma, bir problemi çözmek için izlenen, adım adım ve belirli bir sırayla tanımlanmış işlemler bütünüdür.
API Nedir?
API, farklı yazılımların birbiriyle konuşmasını sağlayan, kurallı bir arayüz ve sözleşmedir.