Backend
- Türkçe karşılığı
- arka uç
- Okunuşu
- bek end
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
Backend, bir uygulamanın sunucu tarafıdır: veriyi saklayan, iş kurallarını uygulayan ve frontend'in isteklerine cevap veren kod, veritabanları ve servisler.
Backend nedir?
Backend, kullanıcının görmediği yerde, sunucularda çalışır. Frontend'den ya da başka programlardan gelen istekleri alır, kimin sorduğunu ve buna izni olup olmadığını denetler, veritabanlarında veri okuyup yazar, uygulamanın kurallarını uygular ve genellikle HTTP üzerinden JSON olarak bir cevap gönderir.
Tipik bir backend; Express, Django, Spring Boot ya da ASP.NET gibi bir web framework'ünden, uygulamanın kendi kodundan, bir ya da daha fazla veritabanından ve önbellek, mesaj kuyruğu, arka plan işleri gibi yardımcı parçalardan oluşur. Yapabildiklerini bir API ile dışarı açar; böylece bir web sitesi, bir mobil uygulama ve iş ortaklarının sistemleri aynı mantığı kullanabilir.
Veriyi tutan ve kuralları uygulayan backend olduğu için güvenlik en çok burada önemlidir: parolalar orada hash'lenir, izinler orada denetlenir ve frontend'in gönderdiği her şey orada doğrulanır, çünkü bir istek her zaman taklit edilebilir. Backend işi ölçeklemeyi, loglamayı ve trafik arttıkça servisi ayakta tutmayı da kapsar.
Önemli noktalar
- Backend sunucu tarafıdır: veri, iş kuralları ve güvenlik.
- Frontend'den ve başka programlardan gelen isteklere bir API üzerinden cevap verir.
- Genellikle uygulama kodunu, veritabanlarını, önbellekleri ve kuyrukları bir araya getirir.
- İzinler ve doğrulama gibi önemli her denetim backend'e aittir.
Örnek
// Node.js + Express: check who is asking, read the data, answer with JSON
import express from "express";
import { db } from "./db.js";
import { authenticate } from "./auth.js";
const app = express();
app.use(authenticate); // sets req.user from the session or token
app.get("/api/orders", async (req, res) => {
if (!req.user) return res.status(401).json({ error: "Sign in first" });
const orders = await db.orders.findMany({ where: { userId: req.user.id } });
res.json(orders);
});
app.listen(3000);Sık sorulan sorular
Backend geliştirmede hangi diller kullanılır?
Neredeyse her genel amaçlı dil: Node.js ile JavaScript ya da TypeScript, Python, Java, C#, Go, PHP ve Ruby yaygındır. Seçim genellikle ekibe, kullanılabilen kütüphanelere ve servisin ne kadar hızlı olması gerektiğine bağlıdır.
Bir uygulamanın hiç backend'i olmayabilir mi?
Tamamen statik bir site ya da her şeyi cihazda tutan bir uygulama kendi backend'i olmadan çalışabilir. Pek çok uygulama ise sunucuları başkasının işletmesi için backend-as-a-service ya da serverless fonksiyonlar gibi yönetilen servislere dayanır.
Sık karşılaştırılanlar
İlgili sayfalar
- FrontendWeb Geliştirme, s. 18Frontend, bir uygulamanın kullanıcının önünde, çoğunlukla tarayıcıda çalışan; arayüzü çizen ve tıklamalara, yazılanlara karşılık veren kısmıdır.
- APIBackend ve API'ler, s. 2API, bir yazılımın başka bir yazılımdan veri ya da işlem talep etmesini sağlayan, belgelenmiş ve öngörülebilir kurallar bütünüdür.
- REST APIBackend ve API'ler, s. 38REST API, verileri URL'lerle tanımlanan kaynaklar olarak sunan ve istemcilerin onları standart HTTP metotlarıyla okuyup değiştirmesini sağlayan web API'sidir.
- Web SunucusuBackend ve API'ler, s. 46Web sunucusu, tarayıcılardan ve diğer istemcilerden gelen HTTP isteklerini alıp sayfa, dosya ya da veriyle yanıt veren yazılım veya onu çalıştıran makinedir.
- VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- MiddlewareBackend ve API'ler, s. 29Middleware, bir sistemin iki katmanı arasında duran yazılımdır; bir web sunucusunda çoğunlukla gelen istek ile son yanıt arasında çalışan koddur.
- Node.jsBackend ve API'ler, s. 31Node.js, JavaScript'i tarayıcı dışında çalıştıran, en çok web sunucuları, API'ler ve komut satırı araçları için kullanılan açık kaynaklı çalışma ortamıdır.
- ServerlessDevOps ve Bulut, s. 46Serverless, sağlayıcının kodu talep üzerine çalıştırıp sunucuları yönettiği, otomatik ölçeklediği ve yalnızca gerçek kullanıma ücret aldığı bulut modelidir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin