Blazor ile Sunucusuz Uygulamalar Geliştirme: Başlangıçtan Yayına

Hakan Güzel
2 min readAug 20, 2024

--

Blazor, Microsoft tarafından sunulan ve .NET Core üzerine inşa edilen modern bir web framework’üdür. Geliştiricilere, C# dili ve .NET kütüphaneleri kullanarak interaktif ve zengin web uygulamaları geliştirme imkanı sunar. Bu yazıda, Blazor framework kullanarak nasıl tam özellikli web uygulamaları geliştirileceğini, Blazor Server ve Blazor WebAssembly arasındaki farkları ve her bir modelin kullanım senaryolarını kapsamlı bir şekilde ele alacağız.

1. Blazor Nedir?

Blazor, web uygulamalarını geliştirmek için kullanılan bir .NET framework’üdür. JavaScript yerine C# kullanarak web front-end’i geliştirmenize olanak tanır. Blazor, hem sunucu tarafında (Blazor Server) hem de istemci tarafında (Blazor WebAssembly) çalışabilen bileşen tabanlı bir yapı sunar.

2. Blazor Server ve Blazor WebAssembly Arasındaki Farklar

Blazor iki farklı yürütme modeli sunar: Blazor Server ve Blazor WebAssembly. Her bir modelin avantajları ve kullanım senaryoları farklıdır:

  • Blazor Server: Bu modelde, uygulamanın tüm mantığı sunucu tarafında yürütülür. Kullanıcı arayüzü ile sunucu arasındaki etkileşimler SignalR üzerinden gerçekleşir. Bu yaklaşım, uygulamanın sunucu kaynaklarını kullanmasını ve tarayıcı üzerindeki yükü azaltmasını sağlar.
  • Blazor WebAssembly: Bu model, tarayıcıda .NET runtime’ın çalıştırılmasını sağlar ve uygulamanın tamamı kullanıcının tarayıcısında çalışır. Bu sayede sunucu tarafındaki yük azalır ve uygulama, internet bağlantısı olmadan bile çalışabilir.

3. Blazor ile Uygulama Geliştirme Süreci

Blazor uygulaması geliştirmek için aşağıdaki adımları takip edebilirsiniz:

  • Proje Kurulumu: Visual Studio veya .NET CLI kullanarak yeni bir Blazor projesi başlatın. Blazor Server veya WebAssembly projesi seçebilirsiniz.
dotnet new blazorserver -o MyBlazorApp
dotnet new blazorwasm -o MyBlazorApp
  • Bileşenler Oluşturma: Blazor, bileşen tabanlı bir mimari kullanır. Razor dosyaları (.razor), HTML mark-up’ı ve C# kodlarını bir arada barındırır.
  • Data Binding ve Event Handling: Blazor, güçlü data binding özellikleri sunar. Bileşenlerinizde kullanıcı girdilerini ve etkileşimleri yönetmek için data binding ve event handler’ları kullanabilirsiniz.
<input @bind="name" />
<button @onclick="Submit">Submit</button>

@code {
private string name;

private void Submit()
{
Console.WriteLine($"Name: {name}");
}
}

4. Blazor Uygulamalarını Yayınlama

Blazor uygulamalarını yayınlamak için:

  • Blazor Server: Uygulamanızı herhangi bir ASP.NET Core uyumlu hosting servisine dağıtabilirsiniz.
  • Blazor WebAssembly: Statik dosya olarak sunulabilir, bu nedenle GitHub Pages, Azure Static Web Apps gibi hizmetler üzerinde kolayca barındırılabilir.

5. Güvenlik ve Performans İyileştirmeleri

  • Güvenlik: Blazor uygulamalarında, güvenlik önlemleri almak kritik öneme sahiptir. HTTPS kullanımı, kullanıcı giriş doğrulamaları ve güvenli API çağrıları yapılmalıdır.
  • Performans: Blazor WebAssembly için uygulama boyutunu azaltmak ve yükleme sürelerini iyileştirmek önemlidir. Gereksiz kütüphane bağımlılıklarını kaldırmak ve lazy loading tekniklerini kullanmak performansı artırabilir.

Sonuç

Blazor, modern web uygulamaları geliştirmek için güçlü ve esnek bir platform sunmaktadır. Blazor Server ve Blazor WebAssembly modelleri, farklı senaryolar ve ihtiyaçlar için çeşitli seçenekler sunar. Uygulamanızın gereksinimlerine en uygun modeli seçmek, başarılı bir uygulama geliştirme sürecinin anahtarıdır.

--

--