Gündeme dön

.NET 11 RC1: C# 15 Union'lar, Agentic Blazor ve Takım Hızında Gözle Görülür Sıçrama

Üç günlük tatilin ardından duyurulan .NET 11 RC1; C# 15 union sözdizimi, zaman uyumsuz Blazor doğrulama, AGUI tabanlı yardımcı bileşenler, MAUI tarafında CoreCLR birleşmesi ve kalıcı MSBuild sunucusuyla geliyor.

Nodesdaily’e aktarım: (UTC+03:00)
YouTube'da izle — 5fvi7m1QxIY
Okuma seçenekleri

Bu tarayıcıda cihazdan sesli okuma kullanılamıyor.

Kavram merceği

Bu görünümde geçen teknik kavramlardan birini seç. Genel tanımı, öğretici örneği ve haberdeki kullanımını birlikte oku.

Bu görünümde sözlüğümüzdeki kavramlardan biri bulunmadı. Sözlük henüz tüm terimleri kapsamıyor.

Üç günlük tatilin bitimindeki Salı günü .NET 11'in ilk sürüm adayı duyuruldu; sürüm yazısı ve ayrıntılı notlar aynı gün yayına alındı. Canlı tanıtım kutlama havasında açıldı, sohbette paylaşılan eğlenceli bir animasyon gösterildi ve RC2 için daha iddialı bir açılışın hazırlandığı söylendi. Bana göre sürüm adayı aşaması deneylerin kapandığı, üretim provasını yaptığı yerdir ve bu yayın tam o ciddiyetle sunuldu.

C# 15 tarafında günün manşeti union tipleriydi. Sunumdaki örnek, birbiriyle akraba olmayan ama birlikte kullanılmak istenen birkaç evcil hayvan tipini object olarak taşımak zorunda kalan tanıdık ve sorunlu bir kodla başladı. Bu yaklaşımda derleyici hiçbir şeyi denetleyemez; listeye evcil olmayan bir tip sessizce sızabilir ve hata ancak çalışırken patlar. Union sözdizimi bu dağınıklığı birinci sınıf bir dil kavramına dönüştürüyor.

Yeni derleyici union değerleri için örtülü dönüşümleri anlıyor ve switch ifadelerinde bütün dallar ele alındığında bunu doğruluyor. Eksik kalan bir dal artık çalışma anında sürpriz olarak değil, derleme anında hata olarak karşıma çıkıyor. Union gibi davranan mevcut tipler için de bir öznitelik kapağı var; derleyicinin aradığı üyeleri sağlayan tipler yeni sözdizimini kullanmadan union muamelesi görüyor. Kapalı hiyerarşilerle ilgili yazının aynı gün blogda yayımlandığını da not ettim.

ASP.NET Core tarafı altı ana temayla çerçevelendi: temelleri güçlendirme, güvenlik, performans ve gözlemlenebilirlik. Ekip yıllardır gelen geri bildirimlerdeki ağrı noktalarına odaklandığını, minimal API'ler ve Blazor ile modern servisler kurulmasını hedeflediğini söyledi. Dağıtık kurulumların Aspire ekibiyle birlikte kolaylaştırılması da bu temaların parçasıydı.

Doğrulama tarafındaki en somut yenilik zaman uyumsuz kurallar oldu. Klasik veri notları tamamen eşzamanlıydı; veritabanına bakmak veya bir servisi çağırmak gereken kontrollerin dilde karşılığı yoktu. Artık kayıt ve rezervasyon uçlarındaki gibi modellerde benzersiz e-posta ve benzersiz kullanıcı adı kuralları tanımlanabiliyor. Tanıtımdaki minimal API örneği bu kuralları istek nesnelerinin üzerinde gösteriyordu.

Kullanıcı deneyimi tarafı da düşünülmüş: form, denetimlerin beklemede mi, başarısız mı yoksa geçerli mi olduğunu düzenleme bağlamı üzerinden okuyor. Tanıtımda bu durumları gösteren küçük özel bileşenler vardı; çerçevenin parçası değillerdi ama yazımları basitti. Kullanıcı yazdıkça kullanılabilirlik denetimi çalışıyor ve arayüzde durum anlık yansıyordu. Bence bu detay, zaman uyumsuz doğrulamayı demo süsü olmaktan çıkarıp gerçek ürüne taşıyor.

Aynı bölümde yerelleştirme sürprizi vardı: form İspanyolcaya çevrildiğinde özel zaman uyumsuz kurallar dahil her şey düzgün çevriliyordu. Yerleşik zorunluluk ve e-posta biçimi iletileri de özniteliklere ek özellikler doldurmadan yerelleşiyordu. Bu sadeleşmenin RC1 ile geldiği özellikle vurgulandı. Çok dilli form yazan herkesin nefes alacağı bir iyileştirme bu.

Modern uygulamaların neredeyse tamamı dağıtık: bir ön yüz, birkaç arka uç servis, veritabanı, önbellek ve yapay zekâ servisleri. Bunların yerel makinede birlikte çalıştırılması, birbirini bulması, izlenebilirliğin uçtan uca kurulması ve yayına alınması başlı başına bir iş. Tanıtımın Aspire bölümü tam bu acıyı hedefliyordu. Geliştirme ile üretim arasında aynı topolojiyi korumak fikri, bana en çok zaman kazandıracak vaat gibi göründü.

Blazor WebAssembly tarafında istemciye özel varsayılanlar paketi tanıtıldı; tarayıcıda çalışmanın getirdiği yapılandırma ihtiyaçları ayrı bir projede toplanıyor. Yeni proje şablonuyla bu iskelet tek aramada kurulabiliyor. Böylece ön yüz, arka yüz ve orkestrasyon üçlüsü aynı çözümde yan yana duruyor. Şablonun varlığı kurulum belgelerini ezberleme devrini kapatıyor.

Uygulama barındırma projesinde Blazor'a özel tümleştirme paketiyle modelleme yapılıyor: arka uç servis her zamanki gibi eklenirken WebAssembly projesi orkestrasyona birinci sınıf katılımcı olarak katılıyor ve API bağımlılığı bildiriliyor. Bu modelleme sayesinde orkestrasyoncu hangi parçanın tarayıcı uygulaması olduğunu biliyor ve ona göre davranıyor. Kod tarafındaki birkaç satırlık bildirim, çalışma anında ciddi kolaylığa dönüşüyor.

Yeni Blazor ağ geçidi, vekillik yapan üretime hazır bir barındırma bileşeni olarak sunuldu. Eski geliştirme sunucusunun yerini alıyor; geliştirme ile üretimde aynı barındırma çözümü kullanılıyor. Köken paylaşımı sorunlarıyla uğraşmadan servis bulma kuralları istemciden arka uca akıyor. Yapılandırmanın arka uçtan ön yüze taşınması da ağ geçidinin işi.

Canlı demoda hava durumu sayfası üzerinden uçtan uca akış gösterildi: tarayıcı uygulaması ağ geçidine, ağ geçidi arka uç servisine istek taşıdı ve servis bulma kendiliğinden çözüldü. Pano tarafında izler ve ölçümler uygulamanın, ağ geçidinin ve servisin tamamından akarak tek görünümde birleşti. İsteğin tarayıcıdan başlayıp arka uçta biten yolculuğu iz görünümünde adım adım izlenebiliyordu. Dağıtık sistemlerde bu görünürlük lüks değil zorunluluk.

Agentic web bölümünde Blazor yapay zekâ bileşenleri deneysel bir kütüphane olarak tanıtıldı. Fikir basit: kullanıcı menülerde kaybolup kılavuz okumak yerine uygulamanın içindeki yardımcıyla konuşarak işini yapsın. Bileşenler bu tür yardımcı deneyimlerini kurmayı kolaylaştırıyor. Ben bunu ön yüzün komut satırı gibi davranması olarak okudum.

Altta yatan protokol, aracı ile insan arayüzünü konuşturan AGUI olarak anlatıldı; aracıdan aracıya ve araç gereç protokollerinden farkı, odağının insanla etkileşim olması. Tanıtımdaki tarif uygulaması, yardımcının tarif durumunu gerçek zamanlı düzenlediğini gösteriyordu. Üç ayrı demoda aynı örüntü tekrarlandı; demek ki ekip bu akışı kalıp haline getirmiş.

Arka uç araç çağrılarının görselleştirilmesi için hava durumu örneği kullanıldı: kullanıcı Seattle havasını sorunca yardımcı ilgili aracı çağırdı ve sohbet geçmişindeki ilgili blok yakalanarak özel bir hava kartı çizildi. Kartın yirmi derece ve güneşli göstermesi salonda gülüşmelere yol açtı. Gerçekleştirim, uzantı paketiyle kurulu bir yardımcı ve istemide blok eşleştiren bir çiziciye dayanıyordu. Desen net: her araç çağrısı karşılığında özel bir arayüz parçasına dönüşebiliyor.

Ön yüz araç çağrıları da aynı protokolle çalışıyor: istemcideki bir yetenek, örneğin arayüz vurgu rengini değiştirme, sunucudaki yardımcıya duyuruluyor. Tanıtımda renk yeşile çevrildi ve ön yüz anında güncellendi. Kurulum tarafında kullanıcı arayüzü eylemini kaydetmek ve gelen blokları izlemek yeterli oluyor. Böylece sunucudaki akıl istemcideki ele uzanabiliyor.

MAUI tarafının en büyük ama en sessiz haberi çalışma ortamı değişimiydi: eski tek parça ortamdan vazgeçilip ekosistemin geri kalanıyla aynı çekirdek ortama geçiliyor. Bu, kullanıcının gözle göreceği bir düğme değil; aksine fark edilmemesi başarı sayılan bir birleşme. Karşılığında standart profilleme ve izleme araçları kutudan çalışır hale geliyor. Gelecekteki her araç yatırımının bu zeminde yapılması planlanıyor.

Görünür tarafta ekip yıllardır biriken küçük pürüzlere odaklanmış ve işi yardımcı pilotla kotarmış. Tanıtımdaki oturum programı uygulaması baştan sona yardımcı pilotla üretilmişti; roket temalı görev panosu, karanlık kip ve sevimli bot simgesi bile aracın fikriydi. Sunucu arada unuttuğu bir detayı göstermek için düzenleyiciyi açtı ve tek satır yazmadan ilerledi. Uzun süredir MAUI'yi zor sananlara verilen mesaj açıktı: şimdi denemenin tam zamanı.

Harita tarafında kümeleme ve özel simgeler artık kutudan geliyor; eskiden özel işleyici yazmayı gerektiren işler tek özellikle çözülüyor. Açılış ekranlarında aydınlık ve karanlık kip desteği benzer şekilde basitleşmiş. Kaynaktan üretilen örnek C ifadelerinin .NET 11 ile varsayılan açılması da duyuruldu; yirmi yıl sonra biçimlendirme dilinde sevilen yenilikler olarak sunuldu. Biçimlendirme dilinden çekinenlere yardımcı pilotun yazımı üstlenmesi önerildi.

Ajanlı geliştirme araçlarından DevFlow, imleci ele geçiren klasik otomatik kullanım acısına yanıt olarak doğmuş: ekran görüntüsü alıp tıklanacak koordinatı tahmin eden ve bu sırada kullanıcının faresini kilitleyen yaklaşım yerine uygulama içi görüş ve etkileşim vaat ediyor. Gerçekleştirimin RC2 tanıtımına saklandığı söylendi ve ilk kez burada duyurulduğu vurgulandı. MAUI laboratuvarlarındaki yapay zekâ araçlarıyla birlikte anılması yönün net olduğunu gösteriyor.

SDK ve MSBuild tarafında performansın neden şimdi öncelik olduğu açıklandı: her zamankinden çok sürekli tümleştirme hattı, paralel çalışan yardımcı döngüleri ve tekrar tekrar çağrılan küçük komut satırı araçları. Her çağrıda uygulamayı başlatma, çekirdek çalışma ortamını yükleme ve komutu yorumlama vergisi ödeniyor. Başlangıç maliyetini düşürmek için önceden derleme tekniğinden yararlanılıyor. Geliştirici ile araç ilişkisinin değiştiği, aynı makinede birden çok iş ağacı ve yardımcının yan yana koştuğu anlatıldı.

MSBuild tarafında kalıcı sunucu süreci geliyor: tek isteklik toplu işlem modeli yerine derlemeler arası durumu tutan bir yapı; benzetme, modern derleyici öncesi dönemde her komutta evrenin yeniden kurulmasına dayandı. Üç projeli örnek çözümde değişikliksiz derleme süresi üçte bir oranında kısalmış. Çok iş parçacıklı derlemede her projenin ayrı süreçte koşması yerine süreç içi paylaşım hedefleniyor. Katkıcı iyileştirmeleriyle kapsayıcı imgeleri de belirlenimci hale gelip kayıt defterine gönderim hızlanmış; komut satırı kapsayıcılaştırma belirgin hız kazanmış.

Kütüphane tarafında sunucu, JIT mikro kodundan sayısal çözümleyicilere uzanan yelpazede iki yeniliği anlattı: ayraçları iki kez gezmeden tek geçişte ayrıştıran yeni ayrıştırma API'si ve ondalık ile kayan nokta işlemlerde hızlandırılmış toplam gibi yüzlerce işlev. Onaltılık kayan biçimler, ikili yazımlar ve genel matematik desteği on dakikalık demoya sığmayacak kadar geniş bir alan. Kapanışta C# geliştirme setinin tek sürece inmesi duyuruldu: 243 MB ile bellekte yüzde seksen beş dolayında azalma, aynı alanda dört beş örnek, önbellek dosyasıyla hızlanan çözüm açılışı ve yerel derlenmiş ikiliyle hızlı başlangıç. Yıllık performans yazısının yaklaştığı ve serinin RC2 tanıtımıyla süreceği de söylendi.

Görsel: nodesdaily AI

AI yorumu

"Bu yayında beni en çok etkileyen şey şu oldu: ekip tek bir öne çıkan özelliğe değil, günlük sürtünmeyi azaltan onlarca küçük kazanca oynamış."

AI değerlendirmesi

En güçlü itirazı kendime şöyle kurdum: sürüm adayı heyecanı gerçek yükseltme maliyetini gizleyebilir. Kırıcı değişiklik listesi, terk edilen API'ler ve MAUI'nin geçmiş sürüm karnesi temkinli olmayı gerektiriyor. Özellikle uzun vadeli destek dalında kalan kurumsal ekipler için RC'yi üretime almak değil, ayrı dalda denemek doğru davranış. Bu itirazı ciddiye alıyorum çünkü geçmişte benzer iyimserlikler bana pahalıya patladı.

Videoda test edilmeyen noktalar da var: çok iş parçacıklı derleme henüz olgun değil, tam verim şimdilik yalnızca C konsol projelerinde gösterildi. Ondalık ve kayan nokta hızlandırmalarının gerçek iş yüklerindeki karşılığı bağımsız ölçümlerle doğrulanmadı. Deneysel Blazor yapay zekâ bileşenleri üretim garantisi taşımıyor; AGUI protokolü de olgunlaşma yolunda. Bu yüzden her iddiayı kendi çözümümde ölçmeden rapora yazmam.

Rakamların kaynağı satıcının sahnesi: üçte bir kısalan derleme, yüzde otuz hızlanma, yüzde seksen beş bellek düşüşü hep laboratuvar ölçümleri. Hangi donanımda, hangi çözüm büyüklüğünde alındıkları belirtilmeden genelleme yapmak yanıltıcı olur. Karar anında kendi depomda kendi senaryomla tekrar ölçerim; uymuyorsa beklentiyi düşürürüm. Bağımsız tekrarlanabilirlik bu işin namusudur.

Pratik hükmüm şu: yeşil alan projeler, MAUI'yi yeniden denemek isteyenler ve CI faturası kabaran ekipler RC1'i ayrı dalda hemen denemeli. Union sözdizimi ve zaman uyumsuz doğrulama gibi dil ve çerçeve yenilikleri kodu bugünden sadeleştirir. Uzun vadeli destekte kilitli kurumsal hatlar ve dondurulmuş derleme zincirleri ise RC2 ile birlikte gelen göç kılavuzunu beklemeli. Ben kendi tarafımda RC'yi izole ortamda kurup derleme sürelerini ölçeceğim.

Kaynaklar

12 bağlantı; bunları kullanan başka yayımlanmış haber yok. Aynı bağlantıyı paylaşan haberler birbirini doğrulamış sayılmaz; kaynağın kökeni bağlantı sayısından çıkarılmaz.

.net 11 · c# 15 · blazor · maui · msbuild · aspire · rc1

Konuyu takip et

Bu haberden önce

Aynı olayla editör tarafından ilişkilendirilmiş önceki haberlerden kısa bir okuma sırası.

Kanıt ve kaynaklar

İzinli kaynak metnini, sürümünü ve köken bilgisini incele.

KAYNAKLARLA OKU

Bu haberi açalım.

Hesap kontrol ediliyor…

.NET 11 RC1: C# 15 Union'lar, Agentic Blazor ve Takım…