[email protected] Hafta içi 09:00 - 18:00 Türkiye merkezli, uzaktan hizmet
VodiSoft

Blog

Yazılım projelerinde karşılaşılan konular üzerine ekibimizin notları.

Yapay Zekâ Ajanları Neden Kütüphanenizi Yanlış Kullanıyor? FmgLib.MauiMarkup AI Skills

Bir AI ajanından "MAUI ekranını C# markup ile yaz" isteyin; makul görünen ama derlenmeyen kod alırsınız — uydurulmuş metot adları, XAML alışkanlıklarının birebir çevirisi, hot reload'da sıfırlanan durum. Sorun modelde değil: kuralların basit ama tahmin edilemez olmasında. On adet kurulabilir skill paketiyle bunun nasıl çözüldüğünü, kurulumu ve pratikte hangi hataların ortadan kalktığını anlatıyoruz.

  • #FmgLib.MauiMarkup
  • #.NET MAUI
  • #C# Markup
Mustafa Gönültaş Yazıyı oku

FmgLib.MauiMarkup mu, CommunityToolkit.Maui.Markup mı? Dürüst Bir Karşılaştırma

.NET MAUI arayüzünü XAML yerine C# ile yazmanın iki yolu var ve ikisi de akıcı (fluent) metotlar kullanıyor. Aradaki farkların neredeyse tamamı tek bir mimari tercihten doğuyor: elle seçilmiş uzantılar mı, yoksa kaynak üreteci mi? Bu yazıda farkları, her birinin hangi durumda daha iyi seçim olduğunu ve ikisinin aynı projede yan yana yaşayıp yaşayamayacağını ölçtüğümüz sonuçlarla ele alıyoruz.

Mustafa Gönültaş Yazıyı oku

Uygulamanın Tamamı Aynı Dili Konuşsun: .NET MAUI'de Üçüncü Parti Kontroller ve Kendi Fluent Metotlarınız

C# markup'ın gerçek projelerdeki en büyük sorusu: Syncfusion, UraniumUI, SkiaSharp gibi kütüphanelerin kontrolleri için fluent API kaybolur mu? Kaybolmuyor — aynı kaynak üreteci onlar için de çalışıyor. Tek satırlık opt-in'den otomatik taramaya, attached property'lerden yeniden tanımlanan property kurallarına, oradan kendi tasarım sistemi metotlarınızı yazmaya kadar tüm yolu ele alıyoruz.

Mustafa Gönültaş Yazıyı oku

.NET MAUI'de Data Binding ve MultiBinding: Adım Adım Kargo Hesaplama Uygulaması

Tek bir kargo hesaplama ekranı üzerinden .NET MAUI'de data binding, two-way binding ve multibinding'i sıfırdan kuruyoruz. Ağırlık, mesafe ve ekspres seçeneğini tek bir fiyat etiketinde birleştiriyor, formu converter sınıfı yazmadan doğruluyoruz. Tüm kod C# markup ile, XAML yok.

Mustafa Gönültaş Yazıyı oku

XAML'siz Hot Reload: .NET MAUI'de C# Markup ile Anında Geri Bildirim Döngüsü

"XAML'i bırakırsam hot reload'u kaybederim" itirazının cevabı: .NET Hot Reload kod seviyesinde çalıştığı için C# markup da bu döngünün içinde. Kurulumun üç adımını, kaydettiğinizde arka planda ne olduğunu, ve asıl önemlisi Build() metodunun defalarca çalışacağını varsayarak kod yazmayı — durum nerede yaşamalı, abonelik nereye konmalı — adım adım ele alıyoruz.

Mustafa Gönültaş Yazıyı oku

.NET MAUI CollectionView Rehberi: DataTemplate İçinden Binding, Komutlar ve Sonsuz Kaydırma

CollectionView'da en çok takılınan konu şablon içindeki binding'dir: satırdaki buton neden ViewModel'in komutunu bulamaz? Bir ürün kataloğu ekranı üzerinden DataTemplate binding context'ini, RelativeSource ile atadan bağlamayı, template selector'ı, pull-to-refresh ve sonsuz kaydırmayı C# markup ile adım adım kuruyoruz.

Mustafa Gönültaş Yazıyı oku

TickerQ: Modern .NET Uygulamaları İçin Yeni Nesil Background Job Scheduler

TickerQ, .NET uygulamaları için geliştirilen yüksek performanslı, Source Generator destekli modern bir background job scheduler'dır. Cron görevleri, zamanlanmış işler, gerçek zamanlı dashboard, EF Core entegrasyonu ve daha fazlasını keşfedin.

Mustafa Gönültaş Yazıyı oku

.NET MAUI vs Flutter: 2026'da Kurumsal Projeler İçin Hangisi Seçilmeli?

Cross-platform uygulama geliştirmede iki büyük güç karşı karşıya: .NET MAUI ve Flutter. VodiSoft olarak, projelerinizin mimari ihtiyaçlarına, performans beklentilerine ve ekibinizin yetkinliklerine göre en doğru teknoloji seçimini yapmanızı sağlayacak profesyonel bir rehber hazırladık.

Mustafa Gönültaş Yazıyı oku

C# Union Types Nedir? Modern .NET Uygulamalarında Type-Safe State Yönetimi

Bu yazıda C# dünyasına gelen Union Types yapısını en ince ayrıntısına kadar inceliyoruz. Union Type nedir, hangi problemleri çözer, class ve record yapılarından farkı nedir, API response modellerinde nasıl kullanılır, Result Pattern ile ilişkisi nedir, ne zaman kullanılmalı ve hangi durumlarda tercih edilmemelidir gibi konuları gerçek proje örnekleriyle detaylı şekilde ele alıyoruz. Ayrıca payment, login, validation, CQRS, domain-driven design ve state management gibi modern .NET senaryolarında Union Types kullanımını profesyonel mimari bakış açısıyla açıklıyoruz.

Emre Paksoy Yazıyı oku

.NET MAUI vs Avalonia UI: 2026 İtibarıyla Hangisini Seçmelisiniz?

.NET ekosisteminde masaüstü ve mobil uygulama geliştirmek isteyenler için iki dev seçenek öne çıkıyor: .NET MAUI ve Avalonia UI. VodiSoft olarak, 2026'nın güncel mimari trendleri ışığında projeleriniz için en doğru kararı vermenizi sağlayacak derinlemesine bir karşılaştırma hazırladık.

Mustafa Gönültaş Yazıyı oku

C# Class vs Record: Farkları, Kullanım Senaryoları ve Gerçek Proje Örnekleri

C# dünyasında class ve record, farklı amaçlar için kullanılan iki önemli veri modelleme yaklaşımıdır. Bu yazıda class ve record yapılarının çalışma mantığını, referans ve değer bazlı eşitlik farklarını, immutable yapı kullanımını, DTO ve Entity senaryolarını, gerçek proje örneklerini ve profesyonel kullanım stratejilerini detaylı şekilde inceleyeceğiz. Özellikle modern .NET projelerinde hangi durumda class, hangi durumda record tercih edilmesi gerektiğini pratik örneklerle açıklayacağız.

Emre Paksoy Yazıyı oku

EF Core vs Dapper: Hangisini Ne Zaman Kullanmalısınız? Kapsamlı Karşılaştırma ve Performans Analizi

Entity Framework Core (EF Core) ve Dapper, .NET ekosisteminde en çok kullanılan veri erişim teknolojileridir. Ancak hangisinin daha hızlı olduğu, hangi senaryolarda tercih edilmesi gerektiği ve performans açısından aralarındaki farklar sıklıkla tartışılır. Bu yazıda EF Core ve Dapper'ın mimarilerini, performans özelliklerini, kullanım kolaylıklarını, bakım maliyetlerini ve gerçek dünya senaryolarındaki avantajlarını detaylı olarak inceliyoruz.

Mustafa Gönültaş Yazıyı oku

.NET SignalR: Gerçek Zamanlı Uygulamalar İçin Köprü

Bu blog yazısı, modern web uygulamalarına gerçek zamanlı işlevsellik katmak için tasarlanmış güçlü bir kütüphane olan .NET SignalR'ı tanıtıyor. SignalR, sunucu ve istemciler arasında kalıcı, iki yönlü bağlantıları basitleştirerek canlı sohbet, bildirim ve oyun gibi etkileşimli deneyimler sağlıyor. Yazı, Minimal API'lerle entegrasyonu ve temel kullanım örneğini sunarak, geliştiricilere hızlı ve hafif gerçek zamanlı servisler oluşturma olanağı tanıdığını vurguluyor.

Mustafa Gönültaş Yazıyı oku

.NET ile Cache (Hybrid Cache)

Bu blog yazısı, ".NET'te Cache Kullanımı" serisinin dördüncü bölümü olup, hem bellek içi (in-memory) hem de dağıtılmış (distributed) önbelleklemenin avantajlarını birleştiren Hibrit Önbellek (Hybrid Cache) stratejisini açıklamaktadır. Amaç, performansı maksimize ederken dağıtılmış ortamda veri tutarlılığını sağlamaktır. Makalede, ASP.NET Core Web API'de özel bir HybridCacheService oluşturarak bu yöntemin nasıl uygulanacağına dair basit bir örnek sunulmaktadır.

Mustafa Gönültaş Yazıyı oku

.NET 9 Minimal API

Bu blog yazısı, .NET 9 ile Minimal API'lere gelen önemli performans artışlarını detaylandırmaktadır. Kestrel optimizasyonları, HTTP/3 desteği, daha az bellek tüketimi ve Native AOT iyileştirmeleri sayesinde Minimal API'ler, basitlikten ödün vermeden inanılmaz derecede hızlanmıştır. Bu yenilikler, geliştiricilere bulut yerel uygulamalar ve mikroservisler için ideal, daha verimli ve hızlı bir geliştirme deneyimi sunuyor.

Mustafa Gönültaş Yazıyı oku

.NET ile Cache (Couchbase)

Bu blog yazısı, .NET uygulamalarında performans ve ölçeklenebilirliği artırmak için Couchbase Server'ın hem bir önbellek hem de esnek bir NoSQL veri deposu olarak kullanımını inceliyor. Couchbase, veritabanı yükünü azaltma, dağıtılmış ortamlarda tutarlılık sağlama ve yatay ölçeklenebilirlik gibi güçlü faydalar sunar. Makale, ASP.NET Core Web API ile Couchbase entegrasyonuna dair basit bir örnekle, bu hibrit çözümün nasıl yapılandırılacağını ve kullanılacağını göstermektedir.

Mustafa Gönültaş Yazıyı oku

.NET ile Cache (Redis)

Bu blog yazısı, dağıtılmış ortamlarda uygulama performansını ve ölçeklenebilirliğini artırmak için Redis Cache kullanımını ele almaktadır. Redis, veritabanı yükünü azaltarak ve hızlı veri erişimi sağlayarak, web API'leri gibi yüksek performans gerektiren uygulamalar için kritik öneme sahiptir. Yazıda, ASP.NET Core Web API ile Redis entegrasyonuna dair basit bir örnekle, bu güçlü önbellekleme çözümünün nasıl yapılandırılacağı ve kullanılacağı gösterilmektedir.

Emre Paksoy Yazıyı oku

.NET ile Cache (In-Memory)

Bu blog yazısı, ".NET'te Cache Kullanımı" serisinin ilk bölümüdür ve küçük-orta ölçekli uygulamalar için ideal olan bellek içi (in-memory) önbelleklemenin temellerini anlatır. Önbellekleme, veritabanı sorguları ve API çağrıları gibi pahalı işlemlerden kaynaklanan performans darboğazlarını gidererek uygulama hızını artırır ve kaynak tüketimini azaltır. Yazı, ASP.NET Core'da IMemoryCache kullanımı ve temel önbellek operasyonlarını örneklerle açıklıyor, ancak uygulamanın ölçeklenmesi durumunda dağıtılmış önbelleğe geçişin gerekliliğine vurgu yapıyor.

Mustafa Gönültaş Yazıyı oku

.NET ile BackgroundJob (Hangfire)

Bu blog yazısı, .NET uygulamalarında arka plan görevlerini yönetmek için kullanılan güçlü ve güvenilir bir kütüphane olan Hangfire'ı tanıtmaktadır. Hangfire, e-posta gönderme, rapor oluşturma veya veri senkronizasyonu gibi uzun süreli veya periyodik işlemleri ana uygulama iş parçacığını engellemeden gerçekleştirmeye olanak tanır.

Emre Paksoy Yazıyı oku

Ücretsiz ön görüşme

Aklınızdaki projeyi birlikte planlayalım

Kısa bir görüşmede ihtiyacınızı dinleyelim; kapsamı ve gerçekçi bir takvimi birlikte çıkaralım. Görüşme ücretsizdir ve sizi hiçbir şeye bağlamaz.