← Blog

Web, Mobil, Masaüstü: İşiniz İçin Doğru Platformu Seçmek

Her uygulamanın web olması gerekmez; her ekibin de mobil uygulamaya ihtiyacı yoktur. Kullanıcı, ortam ve donanım ihtiyacına göre platform seçimi ve hepsini tek bir .NET çekirdeğiyle beslemenin yolu.

"Bir uygulama yaptıralım" kararından sonra gelen ilk soru genellikle şudur: web mi, mobil mi, masaüstü mü? Doğru cevap teknolojiden değil, kullanıcının nerede, hangi cihazla ve hangi koşullarda çalıştığından çıkar.

Bu yazıda üç platformu hangi durumlarda tercih ettiğimizi ve hepsini tek bir altyapıyla nasıl beslediğimizi anlatıyoruz.

Web: erişim ve kolay güncelleme

Web uygulaması, kurulum gerektirmeden her cihazdan erişilebilir olmasıyla öne çıkar. Yeni bir sürüm yayınladığınızda tüm kullanıcılar bir sonraki girişte onu kullanır; dağıtım derdi yoktur.

Web'i tercih ettiğimiz durumlar:

  • Kullanıcılar şirket dışında: bayiler, müşteriler, tedarikçiler
  • Yönetim panelleri, raporlama ekranları, onay akışları
  • Çok sayıda ve farklı cihaz kullanan geniş kullanıcı kitlesi
  • Ürünün kendisinin bir SaaS hizmeti olduğu senaryolar

Teknik tarafta ASP.NET Core ile güvenli bir API katmanı ve ihtiyaca göre Blazor veya React arayüz kullanıyoruz. Doğru tasarlanmış bir web arayüzü telefonda da rahat kullanılır; bu, birçok senaryoda ayrı bir mobil uygulama ihtiyacını ortadan kaldırır.

Mobil: saha, cihaz yetenekleri ve çevrimdışı çalışma

Mobil uygulama, kullanıcının masa başında olmadığı her durumda değer üretir. Telefonun kamerası, konumu, bildirimleri ve dokunmatik ekranı iş süreçlerinin bir parçası haline gelir.

Mobili tercih ettiğimiz durumlar:

  • Saha satış, tahsilat, servis ve teknik ekipler
  • Barkod veya QR ile depo, sayım ve sevkiyat işlemleri
  • Fotoğraf, imza ve konum ile kanıtlanması gereken işler
  • İnternetin kesintili olduğu ortamlar (depo, şantiye, kırsal bölge)

Çevrimdışı çalışma kritik bir tasarım kararıdır: veri cihazda yerel bir veritabanında tutulur, bağlantı geldiğinde merkezle senkronize edilir ve çakışmalar kurallara göre çözülür. Bu, sonradan eklenebilecek bir özellik değildir; mimari baştan buna göre kurulmalıdır.

Masaüstü: yoğun veri girişi ve donanım

Masaüstü yazılımların bittiği sıkça söylenir; sahada ise hâlâ vazgeçilmez oldukları birçok senaryo vardır. Gün boyu yoğun veri girişi yapan bir kullanıcı için klavyeyle saniyeler içinde çalışan bir ekran, en iyi web arayüzünden bile daha verimli olabilir.

Masaüstünü tercih ettiğimiz durumlar:

  • Kasa, POS ve hızlı satış ekranları
  • Üretim hattı terminalleri ve kalite kontrol istasyonları
  • Terazi, barkod yazıcı, para çekmecesi, PLC gibi donanımlarla iletişim
  • Büyük veri setleriyle çalışan, çok pencereli uzman ekranları

Bu senaryolarda WPF veya WinUI ile geliştirme yapıyor, uygulamaları otomatik güncelleme ve merkezi yapılandırmayla dağıtıyoruz. Böylece "her bilgisayarda farklı sürüm" sorunu ortadan kalkıyor.

Karşılaştırma

KriterWebMobilMasaüstü
KurulumGerekmezMağaza / MDMKurulum paketi
GüncellemeAnındaMağaza onayıOtomatik güncelleyici
Çevrimdışı çalışmaSınırlı✓ Güçlü✓ Güçlü
Donanım erişimiSınırlıKamera, konum, NFC✓ Tam erişim
Yoğun veri girişiİyiZayıf✓ Çok iyi
Şirket dışı kullanıcı✓ Çok iyiİyiZayıf

Asıl mesele: tek çekirdek, birden fazla arayüz

Platform seçimi bir "ya o ya bu" kararı olmak zorunda değil. Çoğu projede yöneticiler web panelini, saha ekibi mobil uygulamayı, depo ve üretim ise masaüstü ekranları kullanır. Burada kritik olan, bu uygulamaların aynı iş kurallarını ve aynı veriyi paylaşmasıdır.

Bunun için iş kurallarını arayüzden bağımsız bir çekirdekte topluyoruz:

┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│  Web paneli  │  │ Mobil uyg.   │  │  Masaüstü    │
│ Blazor/React │  │ .NET MAUI    │  │  WPF         │
└──────┬───────┘  └──────┬───────┘  └──────┬───────┘
       └─────────────────┼─────────────────┘
                 ┌───────▼────────┐
                 │ ASP.NET Core   │  kimlik doğrulama, yetki,
                 │ Web API        │  iş kuralları, doğrulama
                 └───────┬────────┘
                 ┌───────▼────────┐
                 │  SQL Server    │
                 └────────────────┘

Ortak sözleşmeler (DTO'lar, doğrulama kuralları) paylaşılan bir kütüphanede tanımlanır ve tüm istemciler aynı tipleri kullanır:

public sealed record SiparisOlustur(int CariId, IReadOnlyList<SiparisSatiri> Satirlar, string? Not);

public sealed record SiparisSatiri(int StokId, decimal Miktar, decimal BirimFiyat);

public interface ISiparisApi
{
    Task<SiparisSonuc> OlusturAsync(SiparisOlustur komut, CancellationToken ct);
}

Bu yaklaşımın faydası büyüktür: bir fiyat kuralı değiştiğinde web, mobil ve masaüstü aynı anda doğru davranır; yeni bir platform eklemek ise sadece yeni bir arayüz yazmak anlamına gelir.

Nasıl karar verelim?

Kısa bir yol haritası:

  1. Kullanıcı gruplarını listeleyin: kim, nerede, hangi cihazla çalışıyor?
  2. Her grup için kritik ihtiyaçları belirleyin: çevrimdışı, donanım, hız, erişim
  3. Ortak iş kurallarını ve veriyi tek bir API çekirdeğinde toplayın
  4. En çok değer üretecek arayüzle başlayın, diğerlerini fazlar halinde ekleyin

DayanSoft olarak web, mobil ve masaüstü uygulamalarını aynı ekip ve aynı .NET altyapısıyla geliştiriyoruz. Hangi platformun sizin için doğru olduğunu birlikte netleştirebiliriz.

Benzer bir projeniz mi var?

İhtiyacınızı anlatın; size özel bir yol haritası ve tahmini bir plan çıkaralım.

Bize Ulaşın →