Backendci, mobil uygulamaların çalışmasını sağlayan sunucu mantığı, veritabanları ve API'ler konusunda uzmanlaşmış bir backend geliştiricisidir. Backend olmayan bir mobil uygulama, verisiz sadece güzel bir arayüzdür. Stack Overflow Survey (2024) verilerine göre, geliştiricilerin %63'ü backend ile çalışmakta ve %45'i Full Stack'tir. Backendci, verilerin mobil uygulamaya hızlı, güvenli ve güvenilir bir şekilde ulaşmasından sorumludur.
Öne Çıkanlar
Backend geliştirici (backendci), uygulamaların sunucu mantığını oluşturan programcıdır. Mobil uygulama bir binanın cephesiyse, backend içerideki tüm mühendislik sistemleridir: elektrik, su tesisatı, havalandırma. Backend olmadan mobil uygulama yalnızca statik içerik gösterebilir.
Backendci verilerle çalışır: verileri kaydeder, işler, talep üzerine gönderir. Veritabanlarını tasarlar, API uç noktalarını yazar, önbellekleme yapar, güvenliği sağlar. Stack Overflow Survey (2024) verilerine göre, backendcinin ortalama maaşı frontendciden %12 daha yüksektir. Mobil geliştirmede backendin önemi özellikle yüksektir çünkü kullanıcının her eylemi sunucu ile veri alışverişi gerektirir.
İyi bir backendcinin temel özellikleri: performans (yanıt hızı), ölçeklenebilirlik (yük artışını kaldırabilme) ve güvenlik (veri koruma) anlayışıdır. Backend, kullanıcıdan gizli kısımdır ancak uygulamanın istikrarlı çalışıp çalışmayacağını belirleyen odur.
Yığın seçimi programlama diline bağlıdır. Mobil uygulamaların backend'i için popüler seçenekler: Python + Django/FastAPI, Java + Spring Boot, Go + Gin, Node.js + Express, Ruby + Ruby on Rails, C# + ASP.NET'dir. Her yığının geliştirme hızı ve performans açısından avantajları vardır.
Java + Spring Boot — enterprise projeler için klasik seçimdir. Python ile FastAPI, geliştirme hızında liderdir ve startup'lar için popülerdir. Go — performansın kritik olduğu yüksek yük sistemleri için. Node.js — backend ve frontend'de tek dil kullanmak isteyen ekipler için.
| Yığın | Performans | Geliştirme hızı | Mobil projelerde popülerlik |
|---|---|---|---|
| Python + FastAPI | Yüksek | Çok yüksek | Startup'lar, MVP |
| Java + Spring Boot | Yüksek | Orta | Enterprise |
| Go + Gin | Çok yüksek | Orta | Yüksek yük, fintech |
| Node.js + Express | Orta | Yüksek | Full-stack ekipler |
API (Application Programming Interface) — mobil uygulamanın sunucu ile iletişim kurma yoludur. İki ana yaklaşım: REST (Representational State Transfer) ve GraphQL. REST en yaygın olanıdır, kaynaklarla işlemler için HTTP yöntemlerini (GET, POST, PUT, DELETE) kullanır. GraphQL daha esnektir, istemcinin yalnızca ihtiyaç duyduğu verileri talep etmesine olanak tanır.
REST API anlaşılması kolaydır, iyi önbelleklenir, tüm framework'ler ve diller tarafından desteklenir. Dezavantajı — aşırı ve eksik veri çekmedir: istemci ya gereksiz veri alır ya da çok az. GraphQL bu sorunu çözer ancak daha karmaşık sunucu uygulaması gerektirir.
from fastapi import FastAPI
app = FastAPI()
@app.get("/api/users/{user_id}")
async def get_user(user_id: int):
return {
"id": user_id,
"name": "John",
"email": "john@example.com"
}
FastAPI üzerinde REST API uç noktası örneği. async def fonksiyonu asenkrondur, blokaj olmadan aynı anda birçok isteği işlemeye olanak tanır. FastAPI otomatik olarak OpenAPI dokümantasyonu oluşturur.
Mobil uygulamalar için API optimizasyonu kritiktir. Fazladan her kilobayt veri, kullanıcının mobil internette bekleme süresidir. Backendci, sayfalama, yanıt sıkıştırma (gzip), CDN ve sunucu düzeyinde önbellekleme kullanır.
Veritabanı seçimi veri yapısına ve yüke bağlıdır. İlişkisel veritabanları (PostgreSQL, MySQL) — net ilişkilere sahip yapılandırılmış veriler için standarttır. NoSQL veritabanları (MongoDB, Redis) — esnek şemalar ve yüksek yükler için. PostgreSQL, Stack Overflow (2024) verilerine göre backendciler arasında en popüler seçimdir.
Önbellekleme — performansın temel aracıdır. Redis, sık talep edilen verileri RAM'de depolayan bir in-memory veritabanıdır. Tipik mimari: veri talebinde önce Redis kontrol edilir, veri yoksa ana veritabanına sorgu yapılır ve ardından önbelleğe kaydedilir.
Veritabanı şeması — tüm uygulamanın üzerine inşa edildiği temeldir. Backendci, sorguların hızlı çalışması için tabloları, ilişkileri ve indeksleri tasarlar. Temel ilkeler: normalizasyon (tekrarlamadan kaçınma), sık sorgulanan alanların indekslenmesi, doğru veri türlerinin seçimi.
Güvenlik, backendcinin kritik sorumluluğudur. Mobil uygulamanın aksine, backend internete sürekli açıktır ve saldırıların ana hedefidir. Temel tehditler: SQL enjeksiyonu, XSS, CSRF, parola kaba kuvvet saldırıları, hatalı kimlik doğrulama yoluyla veri sızıntıları.
JWT (JSON Web Tokens) — mobil uygulamalar için kimlik doğrulama standardıdır. Giriş yaparken kullanıcı, her istekle gönderilen bir token alır. Token, kullanıcı bilgilerini, son kullanma tarihini ve sunucu imzasını içerir. OAuth 2.0 — üçüncü taraf hizmetler (Google, Apple, VK) üzerinden yetkilendirme protokolüdür.
Ek güvenlik önlemleri: bekleme ve aktarım sırasında veri şifreleme (TLS), kaba kuvvet saldırılarına karşı hız sınırlama, tüm giriş verilerinin doğrulanması, şüpheli etkinliklerin günlüğe kaydedilmesi. Güvenlik bir işlev değil, bir süreçtir ve geliştirmenin her aşamasına entegre edilir.
Backend geliştirme yolculuğu bir programlama dili seçimiyle başlar. Python, basit sözdizimi ve büyük topluluğu sayesinde başlangıç için en iyi seçimdir. İkinci adım — veritabanları ve SQL öğrenmek. Üçüncü — bir web framework'ü (Django, FastAPI, Spring) öğrenmek.
Portföy için pratik projeler: yapılacaklar listesi API'si, basit blog, kimlik doğrulama sistemi, WebSocket üzerinden sohbet. Her proje yeni bir beceriyi kapsamalıdır: VT ile çalışma, kimlik doğrulama, gerçek zamanlı işlemler, önbellekleme, buluta dağıtım. Mobil geliştirme için mobil API'lerin özelliklerini anlamak da faydalıdır: push bildirimleri, çevrimdışı senkronizasyon, medya dosyası yükleme.
Modern backendci ayrıca DevOps konularına da hakimdir: konteynerizasyon için Docker, sunucuya otomatik dağıtım için CI/CD, barındırma ve izleme için bulut hizmetleri (AWS, GCP). T-şekilli uzman — bir yığında derin bilgi ve ilgili alanlarda geniş anlayış — piyasada en çok talep görendir.
Sıkça Sorulan Sorular
Backendci kullanıcının görmediği sunucu, veritabanları ve API'ler ile çalışır. Frontendci — kullanıcının gördüğü ve etkileşim kurduğu arayüzle. Mobil geliştirmede backendci veri ve iş mantığından, mobil geliştirici ise UI ve UX'ten sorumludur.
En iyi dil yoktur — göreve uygun dil vardır. Python — startup'lar ve hızlı prototipleme için, Java — Enterprise için, Go — yüksek yük için, Node.js — Full-stack ekipler için. GitHub (2024) verilerine göre Python backend'de en popüler dil, Java ise enterprise projelerde liderdir.
Rusya'da: Junior — 100.000 rubleden başlar, Middle — 250.000–400.000, Senior — 450.000–700.000 ruble. ABD'de Backend Developer medyan maaşı — $130.000–$170.000 (Glassdoor, 2024). Java ve Go uzmanları aynı seviyedeki Python geliştiricilerinden %15–20 daha fazla kazanmaktadır.
REST API, mobil uygulamanın sunucudan veri talep etme kurallarıdır. Siparişi (istek) mutfağa (sunucu) ileten ve yemeği (yanıt) getiren bir garson (API) düşünün. GET — menüye bakmak, POST — sipariş vermek, DELETE — tabağı kaldırmak. Basit ve anlaşılır.
Modern şirketlerde — tercihen. Cloud Native Computing Foundation (2024) verilerine göre, şirketlerin %74'ü geliştiricilerin en azından kısmen DevOps'a katılmasını beklemektedir. Docker, temel CI/CD ve bulut hizmetleri bilgisi işe alımda rekabet avantajıdır.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun