İçeriğe atla

YAZILIM GELİŞTİRME

Web sitesi bitince,iş burada başlar.

Bir web sitesinin çözemediği işler için özel yazılım tasarlar ve kurarım.

Her iş bir web sitesiyle çözülmez. Bazen ihtiyaç, senin iş akışına özel çalışan bir araç; bazen birden çok kullanıcının aynı anda etkileşime girdiği gerçek zamanlı bir sistem; bazen de kimsenin hazır şablonunda olmayan bir kural bütünü. Bu sayfa, web'in ötesindeki o işleri nasıl kurduğumu anlatıyor.

WEB SİTESİ NE ZAMAN YETMEZ

Bir web sitesi çoğu şey için doğru araçtır. Ama bazı işler, bir sayfanın sunabileceğinden daha fazlasını ister:

Ürününü tanıtan bir web sitesi

Stoğu, siparişi, ekibi tek yerden yöneten bir yönetim paneli

Formdan gelen talebi e-postayla almak

O talebi otomatik işleyen, başka sistemlere ileten bir iş akışı

Tek kullanıcı, tek oturum, sayfa yenilenince güncellenen veri

Birden çok kullanıcının aynı veriyi aynı anda gördüğü, gerçek zamanlı bir deneyim

Genel bir CMS'in şablonlarıyla sınırlı içerik yönetimi

Senin işine özel kurallarla çalışan, kimsenin şablonunda olmayan bir mantık

NASIL KURARIM: KATMANLI MİMARİ

Her sistemi aynı disiplinle kurarım: sorumluluklar net katmanlara ayrılır, böylece bir katman değişince diğerleri yıkılmaz.

01

Arayüz

Kullanıcının dokunduğu katman: bir masaüstü uygulaması, bir yönetim paneli ya da bir oyun istemcisi. İşin görünen yüzü ama en kolay değiştirilebilen parçası.

02

Mantık / Kural Motoru

İşin gerçek kurallarının yaşadığı yer: hesaplamalar, doğrulamalar, hangi durumda ne olacağına dair kararlar. Arayüz değişse bile bu katman ayakta kalmalı.

03

Gerçek Zamanlı Katman

Birden çok kullanıcı ya da cihazın aynı durumu aynı anda görmesi gerektiğinde devreye girer: bağlantı yönetimi, durum senkronizasyonu, gecikmeyi hissettirmeyen aktarım.

04

Veri

Kalıcılık katmanı: veritabanı şeması, ilişkiler, yedekleme. Sistem büyüdükçe en pahalıya mal olan hata genelde burada, en baştaki tasarımda yapılır.

NEDEN BU ARAÇLAR

TypeScript

Arayüzden API'ye kadar aynı dilde ilerlemek, iki katman arasındaki veri sözleşmesini derleme anında doğrular. Tip güvenliği bir sistem büyüdükçe asıl değerini gösterir.

C#

.NET ekosistemi; performans gereken arka uç servislerinde ve masaüstü tarafında güçlü, olgun bir temel sunuyor. Ağır iş yükü taşıyan katmanlarda ilk tercihim.

Sistem Tasarımı

Dil bir araçtır, asıl iş değil. Asıl iş; veri modelini doğru kurmak, sorumlulukları katmanlara doğru dağıtmak ve sistem büyüyünce de anlaşılır kalmasını sağlamak.

GERÇEK BİR ÖRNEK

Okey Neşesi

Kural motorundan sunucu mimarisine, arayüzden yönetim paneline kadar her katmanı tek elden kurguluyorum. Oyun tasarımı dokümantasyonu, veritabanı ve API tasarımı, Unity istemcisi ve operasyon araçları aynı masada ilerliyor.

Yukarıdaki katmanların hepsi bu projede gerçek: oyunun kurallarını yöneten bir kural motoru, oyuncular arasında durumu senkronize eden gerçek zamanlı bir sunucu, ve operasyonu yönetmek için ayrı bir yönetim paneli.

Unity · Gerçek Zamanlı Sunucu · Yönetim Paneli

GELİŞTİRİLİYOR

Projeyi incele →

ÖZEL YAZILIM

Bir web sitesinin sınırlarını mı zorluyorsun?

İş akışını, kurallarını ve neyin gerçek zamanlı olması gerektiğini anlat; birlikte doğru mimariyi kuralım.

Yazılım Geliştirme — Eren Kal