Blazor .NET 8 (Geliştirici Eğitimi)
Blazor, tam yığın web UI çerçevesi, .NET 8.0 sürümü ile önemli ölçüde gelişti. Bu güncelleme, geliştiricilerin C# ve .NET kullanarak etkileşimli ve modern web uygulamaları oluşturmalarını güçlendiren çeşitli özellikler ve iyileştirmeler içerir.
Bu makalede, Blazor .NET 8.0'ın anahtar yönlerini inceleyeceğiz, yeni render modlarını, proje şablonlarını, araç geliştirmelerini ve daha fazlasını keşfedeceğiz.

Blazor Render Modlarını Anlamak
Blazor, .NET 8.0'da üç render modu sunar:
- Statik sunucu render'i: Optimal performans için statik HTML üretir.
- Etkileşimli Sunucu render'i: İlk render ve etkileşim için sunucu tarafı ASP.NET Core çalışma zamanını kullanır.
- Etkileşimli WebAssembly render'i: Takip eden render ve etkileşim için istemci üzerinde .NET WebAssembly çalışma zamanını kullanır.
Çok Yönlü Etkileşimli Otomatik Rendering
Öne çıkanlardan biri, içerik için sunucu tarafı rendering ve sonrasında istemci üzerinde .NET WebAssembly çalışma zamanı kullanarak etkileşim sağlayan Etkileşimli Otomatik rendering modudur. Bu durum, uygulama başlangıç deneyimini hızlandırır ve geliştiriciler için çekici bir seçenek haline getirir.
Blazor Web Uygulama Şablonunun Tanıtımı
.NET 8.0, Blazor Sunucu ve Blazor WebAssembly barındırma modellerinin gücünü birleştiren birleşik bir başlangıç noktası olan Blazor Web Uygulama şablonunu tanıtır.
Bu şablon, statik sunucu render'i, akışlı render, geliştirilmiş navigasyon ve form işleme gibi yeni özellikleri içerir. Proje şablonlarının birleştirilmesi, geliştirme sürecini basitleştirir.
Blazor Web Uygulamaları İçin Basitleştirilmiş JS Başlatıcılar
Geleneksel JS başlatıcılar, Blazor Web Uygulamaları için yeni bir set ile değiştirildi ve yükleme süreci özelleştirme, günlük seviyeleri ve diğer seçenekler gibi görevler üzerinde daha iyi kontrol sağlar. Bu değişiklik, geliştirme deneyimini iyileştirir ve .NET 8.0'da barındırma modellerini birleştirme hedefine uyum sağlar.
Önyüklemeyi ve Entegrasyon Rehberini Bölmek
Önyükleme ve entegrasyon rehberi üzerindeki kapsamı daha odaklı hale getirmek amacıyla ayrı makaleler şeklinde bölündü. Bu değişiklik, en iyi uygulamaların takip edilmesini kolaylaştırarak anlamayı ve uygulamayı basitleştirmeyi amaçlar.
Blazor Web Uygulamalarında Kolay Durum Sürekliliği
Blazor Web Uygulamaları artık, önyükleme sırasında oluşturulan herhangi bir kayıtlı uygulama düzeyi durumunu otomatik olarak sürekli hale getiriyor. Bu, Bileşen Durumu Süreklilik Etiketi Yardımcısına gerek kalmaz. Bileşen durumunu sürekli hale getirme ve okuma sürecini basitleştirir.
Geliştirilmiş Form İşleme ve Model Bağlama
.NET 8.0, Blazor bileşenlerine model bağlama ve veri doğrulama dahil olmak üzere geliştirilmiş form işleme yetenekleri getiriyor. Çerçeve, veri sözleşme özniteliklerine saygı gösterir ve bu, geliştiricilere form verilerinin modele nasıl bağlanacağı konusunda daha fazla kontrol sağlar. Anti-aldatmacalık desteğinin eklenmiş olması, form gönderimlerine ek bir güvenlik katmanı ekler.
Gelişmiş Gezinme ve Form İşleme
Blazor .NET 8.0'da statik sunucu render'i, sayfa gezinmesinde ve form işlemede önemli bir iyileştirme sunar. Geleneksel olarak, gezinirken veya bir form gönderildiğinde tam sayfa yenilemeleri meydana gelirdi.
Gelişmiş gezinme özelliği sayesinde, Blazor isteği keser ve bir al fetch isteği yapar, render edilmiş yanıt içeriğini sorunsuz bir şekilde tarayıcı DOM'una ekler. Bu, tam sayfa yenilemelerini önleyerek daha hızlı ve daha sorunsuz sayfa yüklemeleri sağlar ve sayfa durumunun daha fazlasını korur.
Gelişmiş gezinme, Blazor betiği (blazor.web.js) yüklendiğinde varsayılan olarak aktif hale gelir ve belirli formlar için isteğe bağlı olarak etkinleştirilebilir. Yeni gelişmiş gezinme API'si, geliştiricilere kullanıcı deneyimi üzerinde daha fazla kontrol sağlamak için mevcut sayfayı programlı olarak yenileme imkanı tanır.
Akışlı Render
Blazor .NET 8.0, uzun süreli asenkron görevler yürüten sayfalar için kullanıcı deneyimini geliştiren güçlü bir özellik olan akışlı render'i tanıtır. Akışlı render ile, sayfalar asenkron işlemler devam ederken placeholder içeriği render edebilir.
Tamamlandığında, güncellenmiş içerik aynı yanıt bağlantısında istemciye akış olarak gönderilir ve DOM'a sorunsuz bir şekilde ekleştirilir. Bu yaklaşım, uygulamanın ana düzeninin hızla render edilmesini ve içerik mevcut olduğunda sayfanın hemen güncellenmesini sağlar.
Anahtarlı Servis Enjeksiyonu
Blazor şimdi Inject özelliğini kullanarak anahtar hizmetlerin enjekte edilmesini destekliyor. Anahtarlar, bağımlılık enjeksiyonu senaryolarında servis kaydı ve tüketimini sınırlar.
Yeni InjectAttribute.Key özelliği, geliştiricilere enjekte edilecek hizmet için anahtarı belirtme olanağı tanır ve hizmet kapsamı için yeni olanaklar açar.
HttpContext'i Geçişli Bir Parametre Olarak Erişme
Blazor .NET 8.0, statik bir sunucu bileşeninden geçişli bir parametre olarak mevcut HttpContext erişme yeteneğini tanıttı. Bu gelişme, başlıklar veya HTTP bağlamı ile ilgili diğer özellikleri incelemek ve değiştirmek için özellikle yararlıdır.
ASP.NET Core Dışında Razor Bileşenleri Render Etme
Blazor .NET 8.0, HTTP isteği bağlamı dışında Razor bileşenlerini render etme olasılığını açar. Bu esneklik, geliştiricilerin Razor bileşenlerini ASP.NET Core barındırma ortamından bağımsız olarak doğrudan bir dizeye veya akışa render etmesine olanak tanır.
Bu özellik, e-postalar veya statik site içeriği gibi HTML parçaları oluşturmanın gerekli olduğu senaryolar için özellikle kullanışlıdır.
Bölüm Desteği
Blazor .NET 8.0'da, SectionOutlet ve SectionContent bileşenlerinin tanıtılması, içerik yönetimini devrimleştiriyor. Bu bileşenler, özel sayfalar tarafından doldurulacak şekilde düzenlerde yer tutucular tanımlamaya olanak tanır.
Bölümler, dinamik web düzenleri oluşturma sırasında esneklik ve yeniden kullanılabilirlik sağlayarak benzersiz isimler veya nesne kimlikleri kullanılarak referanslanabilir.
Hata Sayfası Desteği
Blazor Web Uygulamaları .NET 8.0'daki API ile artık ASP.NET Core hata işleme middleware ile kullanılmak üzere özel hata sayfaları tanımlama yeteneğine sahiptir.
Varsayılan hata sayfası (Components/Pages/Error.razor), tutarlı bir kullanıcı deneyimi sunar. Etkinlik olsa bile, hata sayfası statik bir sunucu bileşeni olarak render edilir ve hata senaryoları sırasında istikrar sağlar.
QuickGrid Deneyselden Temel Hale
QuickGrid, yüksek performanslı ızgara bileşeni, deneysel statüden çıkıp .NET 8'de Blazor çerçevesinin ayrılmaz bir parçası haline geldi.
Bu bileşen, sıralama, filtreleme, sayfalama ve sanallaştırma gibi güçlü özellikler sunarken, tablolarda veri görüntülemeyi basitleştirir. ASP.NET Core Blazor QuickGrid dokümantasyonunda QuickGrid hakkında daha fazla bilgi edinin.
Adlandırılmış Öğelere Yönlendirme
Blazor .NET 8.0, sayfa üzerinde belirli HTML öğelerine standart URL parçaları kullanarak doğrudan geçiş yapmak için müşteri tarafı yönlendirme desteğini tanıtır. Bir HTML öğesi için standart id özniteliği ile bir tanımlayıcı belirterek, Blazor, URL parçası öğe kimliği ile eşleştiğinde o öğeye sorunsuz bir şekilde kaydırır.
Kök Düzeyde Yayınsal Değerler
Blazor .NET 8.0, tüm bileşen hiyerarşisi için kayıt edilebilecek kök düzeyde yayınsal değerler sunarak yayınsal değerleri geliştirir. Adlandırılmış yayınsal değerler ve güncelleme bildirimleri için abonelikler artık desteklenmekte olup, daha fazla esneklik ve kontrol sağlar.
Boş İçeriği Sanallaştırma
Virtualize bileşenindeki yeni EmptyContent parametresi, bileşen yüklendiğinde içeriğin sağlanmasına olanak tanıyarak hem öğe boş olduğunda hem de ItemsProviderResult<t>.TotalItemCount sıfır olduğunda içerik sağlar.
Bu, geliştiricilere daha sezgisel ve kullanıcı dostu arayüzler oluşturma gücü verir.
Devre Yönetimi ve SignalR İzleme
Blazor .NET 8.0, kalan etkileşimli sunucu bileşenleri olmadığında devreleri kapatma yeteneği tanıtır. Bu optimizasyon, sunucu kaynaklarını serbest bırakır ve genel performansı artırır.
Ayrıca, geliştiriciler artık sunucu tarafı uygulamalarda gelen devre etkinliğini CircuitHandler üzerindeki CreateInboundActivityHandler yöntemiyle izleyebilir.
Jiterpreter ile Daha Hızlı Çalışma Zamanı Performansı
Jiterpreter, .NET 8'deki yeni bir zamanında oyun (JIT) derleme desteği olan bir çalışma zamanı özelliği olarak WebAssembly üzerinde çalışırken kısmi JIT derleme desteği sunar. Bu, Blazor WebAssembly uygulamaları ile etkileşimde bulunan kullanıcılar için daha akıcı bir deneyim sunarak, geliştirilmiş bir çalışma zamanı performansı sağlar.
Önceden Derleme (AOT) SIMD ve İstisna Yönetimi
Blazor WebAssembly'nin AOT derlemesi artık varsayılan olarak WebAssembly Sabit Genişlikli SIMD ve WebAssembly İstisna yönetimini kullanır. Bu stratejik seçim, daha verimli ve tepki veren bir kullanıcı deneyimi sunarak çalışma zamanı performansını önemli ölçüde artırır.
Web Dostu Dağıtım İçin Webcil Paketleme
Blazor WebAssembly artık .NET bileşenlerinin web dostu bir paketlemesi olan Webcil'i kullanır. Bu, .dll dosyalarının indirilmesini veya kullanılmasını engelleyen ortamlarda uyumluluğu sağlar ve dağıtım zorluklarını ele alır. Webcil, Blazor WebAssembly uygulamaları için varsayılan olarak etkindir.
Blazor WebAssembly Hata Ayıklama İyileştirmeleri
Blazor WebAssembly uygulamalarının hata ayıklaması, .NET 8'de daha düzenli hale geldi. Hata ayıklayıcı artık NuGet paketleri kullanan uygulamalar için hata ayıklama deneyimini geliştiren Visual Studio tercihlerinde yapılandırılmış konumlarından sembol bilgilerini indirir.
Ek olarak, hata ayıklama artık uzak hata ayıklamayı yapılandırmayı ve .NET WebAssembly hata ayıklama proxy'si aracılığıyla bağlanmayı gerektiren Firefox'ta destekleniyor.
İçerik Güvenlik Politikası (CSP) Uyumluluğu
Blazor WebAssembly, .NET 8.0'da bir İçerik Güvenlik Politikası (CSP) belirlerken güvensiz değerlendirme betik kaynağını etkinleştirme ihtiyaçını ortadan kaldırır. Bu iyileştirme, Blazor WebAssembly uygulamaları için güçlü bir CSP'yi uygulamayı kolaylaştırarak güvenlik yapılandırmalarını basitleştirir.
Bileşen Yaşam Döngüsünün Dışında İstisnaları Yönetme
ComponentBase.DispatchExceptionAsync'nın tanıtılması, geliştiricilere bir Razor bileşeninin yaşam döngüsü çağrı yığınının dışında atılan istisnaları işleme imkanı sağlar.
Bu özellik, bileşenin kodunun istisnaları yaşam döngüsü metodu istisnası olarak ele almasına izin vererek daha tutarlı ve kontrol edilen bir hata yönetim mekanizması sağlar.
Iron Suite'i Tanıtıyoruz
Iron Suite, Iron Software tarafından geliştirilen, geliştiricilerin güçlü Blazor uygulamaları oluşturmasını sağlayan birkaç yararlı kütüphaneden oluşur. PDF işlevselliği, Excel veya CSV dosya işlevselliği ekleme, görüntüden metne tanıma, barkod ve QR kodları oluşturma ve okuma, dosyaları sıkıştırma veya açma yeteneği sunar.
Iron Suite, Blazor WebAssembly barındırma modelini veya Blazor WebAssembly uygulaması, Blazor sunucu uygulaması, ASP.NET Core MVC UYGULAMASI, ASP.NET core WEB API'leri veya herhangi bir .NET çalışma zamanında oluşturulan uygulama da dahil olmak üzere, Microsoft teknolojilerini kullanarak web geliştirmeleri için düşünülmesi gereken mükemmel bir seçimdir.
Iron Suite Kitaplıkları
-
PDF dosyalarından kolayca veri oluşturma, manipüle etme ve çıkarma için IronPDF.
IronPDF'nin öne çıkan işlevi, tam düzeni ve stil korunumu ile HTML'den PDF'ye dönüştürmedir. Web içeriğinden PDF oluşturmak, raporlar, faturalar ve dokümantasyon dahil, için mükemmeldir. HTML dosyalarını, URL'lerini veya HTML dizelerini PDF dosyalarına dönüştürebilirsiniz.
using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } }using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } }Imports IronPdf Friend Class Program Shared Sub Main(ByVal args() As String) Dim renderer = New ChromePdfRenderer() ' 1. Convert HTML String to PDF Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>" Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent) pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf") ' 2. Convert HTML File to PDF Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath) pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf") ' 3. Convert URL to PDF Dim url = "http://ironpdf.com" ' Specify the URL Dim pdfFromUrl = renderer.RenderUrlAsPdf(url) pdfFromUrl.SaveAs("URLToPDF.pdf") End Sub End Class$vbLabelText $csharpLabel - Taranmış görüntülerden veya PDF'lerden metin çıkarmak, veri erişilebilirliğini artırmak için IronOCR (Optik Karakter Tanıma).
- Excel elektronik tablolarını verimli bir şekilde okuma, yazma ve işleme için IronXL.
- Çeşitli formatlarda barkod oluşturma ve okuma, veri kodlama ve geri çekme işlemlerini kolaylaştırmak için IronBarcode.
- Makine Öğrenmesi kullanarak QR kodları oluşturma ve okuma için IronQR
- Web tabanlı uygulamaların yeteneklerini geliştirmek için web sitelerinden değerli veri çıkarma için IronWebScraper.
- Veri depolama ve aktarım süreçlerini kolaylaştırmak için dosyaları sıkıştırma ve açma için IronZIP.

Iron Suite'in Ayrıcalıkları
- Yatırımınızın değerini en üst düzeye çıkararak, tüm pakete yalnızca tek başına iki ürün fiyatına erişin.
- İster Windows, macOS, ister Linux üzerinde çalışıyor olun, Iron Suite (neredeyse) tüm platformlarla uyumluluk sağlar.
- İndirip çalıştırmayı üretime kadar olan süreçte, 5 dakikada çalışabilir duruma gelme imkanı sunarak hızlı bir yolculuk yaşayın.
- Tüm özellikler için kapsamlı belgeler ve örnekler içeren, geliştirme süreci boyunca netlik ve kılavuz sağlama.
- Herhangi bir sorunuza yardımcı olmaya hazır 24/5 hizmet veren özel mühendisler ekibi, sorunsuz bir geliştirme deneyimi sağlar.
- Iron Suite, 30 günlük, hiçbir soru sormadan iade politikası ile gelir, güven ve iç huzur sağlar.
Sonuç
Sonuç olarak, Blazor .NET 8.0'ın piyasaya sürülmesi, C# ve .NET ile tam yığınlı web kullanıcı arayüzü geliştirmesinin evriminde önemli bir kilometre taşıdır.
Yeni render modlarının, Blazor Web App şablonunun, geliştirilmiş gezinme ve birçok diğer özelliğin tanıtılması, modern ve etkileşimli web uygulamaları geliştirmeyi hedefleyen geliştiriciler için cazip bir seçim haline getirir.
Blazor .NET 8.0 ayrıca geliştirilmiş form yönetimi, akışkan render ve anahtar hizmetleri enjekte etme yeteneği gibi etkileyici özellikleri tanıtarak geliştirmeye derinlik ve esneklik ekler.
Iron Software tarafından tanıtılan Iron Suite, .NET ekosisteminde doküman odaklı görevler için kapsamlı bir araç seti sunarak Blazor'un yeteneklerini tamamlar.
Blazor .NET 8.0, Iron Suite'i kullanarak sağlam ve özellik açısından zengin web uygulamaları oluşturma yetkisi verir.
Güçlü özelliklerin, geliştirilmiş performansın ve canlı bir geliştirici topluluğunun desteğinin birleşimi, Blazor'u modern web gelişmeler için çekici bir tercih haline getirir.
Sıkça Sorulan Sorular
Blazor uygulamasında HTML'yi PDF'ye nasıl dönüştürebilirim?
Blazor uygulamasında HTML dizelerini PDF'lere dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Bu yöntem hem Blazor Sunucu hem de Blazor WebAssembly modelleri ile uyumludur.
Blazor .NET 8.0'deki yeni işleme modları nelerdir?
Blazor .NET 8.0, performansı ve etkileşimi optimize etmek için tasarlanmış üç yeni işleme modu sunar: Statik sunucu işleme, Etkileşimli Sunucu işleme ve Etkileşimli WebAssembly işleme.
Iron Suite Blazor uygulamalarını nasıl geliştirir?
Iron Suite, Blazor uygulamalarını PDF işleme, OCR, Excel manipülasyonu ve barkod oluşturma gibi önemli işlevsellikler sunarak geliştirir, bu da güçlü web uygulama geliştirme için gereklidir.
Blazor .NET 8.0'deki Etkileşimli Otomatik işleme modu nedir?
Blazor .NET 8.0'deki Etkileşimli Otomatik işleme modu, daha hızlı uygulama başlatma için sunucu tarafı işleme ile istemci tarafı etkileşimini birleştirir ve .NET WebAssembly çalışma zamanını kullanır.
Blazor .NET 8.0'de form işleme nasıl geliştirilebilir?
Blazor .NET 8.0, geliştiricilere form veri yönetimi üzerinde daha fazla kontrol sağlamak için geliştirilmiş model bağlama, veri doğrulama ve sahtecilik karşıtı destekle form işlemeyi iyileştirir.
Blazor .NET 8.0'de akış işleme ne amacı taşır?
Blazor .NET 8.0'de akış işleme, uzun süren asenkron görevler tamamlanırken yer tutucu içeriğin ilk işlenmesine olanak tanır ve kullanıcı deneyimini sayfanın kesintisiz güncellenmesi ile geliştirir.
Blazor Web Uygulama şablonu geliştirmeyi nasıl kolaylaştırır?
.NET 8.0'deki Blazor Web Uygulama şablonu, Blazor Sunucu ve Blazor WebAssembly modellerini birleştirerek daha iyi gezinme ve form işleme ile geliştirme sürecini basitleştirir.
Iron Software'ın araç seti Blazor .NET 8.0'ı nasıl tamamlar?
Iron Software'ın araç seti, kapsamlı belge ile ilgili işlevsellik sunarak Blazor .NET 8.0'ı belgel işleme görevlerini yönetme yeteneğini artırarak tamamlar.
Blazor web uygulamasında IronPDF kullanmanın faydaları nelerdir?
IronPDF, güçlü PDF oluşturma ve manipülasyon yetenekleri sağlar, bu da güçlü belge işleme özellikleri gerektiren Blazor web uygulamaları geliştiren geliştiriciler için ideal bir seçimdir.
Blazor .NET 8.0'de hata ayıklama ile ilgili hangi gelişmeler yapılmıştır?
Blazor .NET 8.0, hata ayıklama işlemini kolaylaştırarak Firefox için sembol veri indirme ve ek destekle WebAssembly uygulamaları için hata ayıklamayı geliştirir.




