Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

WinForms ve Blazor ile Bir Test API'si Kullanma

Tim Corey
39m 54s

Masaüstü ve web uygulamaları oluşturmak karmaşık olabilir, ancak karşı test edilebilecek güvenilir bir örnek API'ye sahip olmak süreci basitleştirir. Tim Corey, "Using a Test API with WinForms and Blazor" video eğitiminde, hem bir Blazor WebAssembly projesinde hem de bir Windows Forms Uygulamasında Visual Studio'nun nasıl kullanılacağını kapsamlı bir şekilde anlatıyor. Bu yaklaşım, geliştiricilere güncel bilgiler sağlamakla kalmaz, aynı zamanda UI işlevselliği oluşturma ve test etme için gerçek dünya senaryolarını da gösterir.

Örnek API ve Visual Studio'ya Giriş

Tim, web geliştirme veya Windows Forms programlamayı öğrenirken bir örnek API'nin önemini vurgulayarak başlar. Güvenilir bir API, farklı kullanıcı arayüzü ortamlarında özellikleri test etmek için kararlı bir backend görevi görür. Visual Studio IDE kullanarak, Tim yeni projeler oluşturma aşamasına geçer, hem Blazor hem de Windows Forms platformlarını gösterir.

Blazor Web Uygulamasıyla Başlamak

Tim, Visual Studio'nun "Yeni Proje" iletişim kutusunu kullanarak bir Blazor WebAssembly uygulaması seçer. Projeyi "BlazorDemo" olarak adlandırır ve "DemoApps" başlıklı bir çözüm içinde yer alır. Bu kurulum, hem sunucu tarafı hem de WebAssembly renderlemeyi desteklemek için "oto" modunu kullanır.

API'den Model Ekleme

Tim, istemci tarafı projede CourseModel.cs adında yeni bir dosya oluşturur. API'nin /courses endpoint'inden bir JSON yükü kopyalayarak, Visual Studio'nun "JSON'u Sınıf Olarak Yapıştır" aracını kullanarak sınıf yapısını otomatik olarak oluşturur. Araç mükemmel olmasa da, Tim sınıfı, C# standartlarına uyum sağlamak için Pascal case kullanarak ve nullable stringler ekleyerek düzenler.

Veri Türlerini ve JSON Eşlemesini Ayarlama

Tim, oluşturulan özellikleri elle inceleyerek priceUSD gibi değerleri doğruluk açısından decimal türüne dönüştürür. Ayrıca JSON anahtarlarının C# özelliklerine doğru şekilde eşleşmesini sağlamak için JsonSerializerOptions nesnesini yapılandırır.

Bir Razor Sayfası Oluşturma ve Bağlama

Sonraki adımda, Tim, URL /courses üzerinden erişilebilir bir sayfa haline getirerek Courses.razor adında bir Razor bileşeni ekler. Bir Listbaşlatır ve örnek API'yi çağırmak için bir HttpClient enjekte eder. Bileşenin mantığı, veri kullanılabilirliğine dayalı koşullu UI renderlemeyle ve hata yönetimiyle try-catch içerir.

Kurs Bilgilerini Görüntüleme

Temel HTML ve Razor söz dizimini kullanarak Tim, kurslar listesinden döngü yapar ve her kurs görüntüsünü tıklanabilir bağlantı olarak görüntüler. Yerleşimi kontrol etmek için inline stiller uygular ve erişilebilirlik için alt attribute'lar atar.

Program.cs'de HTTP İstemcisi Kaydetme

Tim, Blazor uygulamasının Program.cs'sinde HTTP istemcisini yapılandırır, builder.Services.AddScoped(...) kullanarak kaydeder ve base adresi https://thesampleapi.com olarak atar. Bu kaydın hem istemci hem de sunucu yapılandırmalarında Blazor'un hybid rendering modelini desteklemek için gerçekleşmesi gerektiğini açıklar.

Çift API Çağrı Sorunu Çözme

Blazor'un varsayılan ön-oluşturma davranışı nedeniyle sayfa yüklenirken iki API çağrısı yapılır. Tim, @rendermode InteractiveAuto ve pre-render=false ayarlarını yapılandırarak ön-oluşturma özelliğini devre dışı bırakmış, yinelenen API isteklerini önlemiş ve uzak verilerle çalışırken performansı artırmıştır.

Vites Değiştirme: Windows Forms Uygulaması Oluşturma

Visual Studio ortamını kullanarak, Tim, .NET Framework'ü hedefleyen WinFormDemo adında yeni bir Windows Forms Uygulaması oluşturur. Varsayılan form adını Courses olarak değiştirir ve UI'yi daha okunaklı hale getirmek için Özellikler Penceresinden yazı tipi boyutunu değiştirir.

Proje'nin Çözüm Gezgini ile Düzenlenmesi

Tim, iki klasör ekler: Modeller ve Servisler. Servisler'de bir HttpClient örneği içeren statik bir sınıf HttpService oluşturur. Bu istemci aynı API base URL'sini hedef alacak şekilde yapılandırılmıştır. Tim, basitlik amacıyla statik bir yaklaşım kullanmasına karşın, üretim düzeyindeki geliştirme için bağımlılık enjeksiyonunu önermektedir.

Araç Kutusu Kontrolleriyle Form UI Tasarlama

Windows Forms Tasarımcısı'nda, Tim bir PictureBox ve iki Button kontrolü ("Önceki" ve "Sonraki") form üzerine sürükler. Resim çerçevesinin SizeMode özelliğini Zoom olarak ayarlar, bu da kurs görsellerinin kontrol içinde düzenli bir şekilde oturmasını sağlar. Ayrıca form başlığını şirket markası olan "DevForge Courses" olarak yeniden adlandırır.

Arka Plan Kodu Mantığını Uygulama

Form_Load olayı kullanılarak (Özellikler Penceresi'nde çift tıklama ile tetiklenir), Tim API'den veri çekmek için async mantığını yazar. Ayrıca, görüntü görüntüleme ve sınır doğrulaması ile ilgilenen yardımcı LoadCourse(int index) metodunu tanımlar. Metod, null listeleri ve aralık dışı dizinleri becerikle ele alır.

Düğmelerle Kurslar arasında Gezinme

Tim, "Önceki" ve "Sonraki" düğmelerini çift tıklama yoluyla event handler'larını (object sender, EventArgs e) üreterek bağlar. Her düğme, currentCourse indexini ayarlar ve LoadCourse() çağırarak görüntülenen resmi günceller. Bu, slayt gösterisi benzeri yumuşak bir kullanıcı deneyimi sağlar.

Docker Kullanarak Yerel Geliştirme Geçişi

Tim, uzak API yerine yerel bir Docker container kullanmanın nasıl yapılacağını gösterir. En son imajı çeker, rastgele bir portta çalıştırır ve HttpService.cs'deki base URI'yi günceller. Fonksiyonelliği doğruladıktan sonra, Docker container'ı durdurup hata işleme testini gerçekleştirir ve kurtarma doğrulamak için container'ı yeniden başlatır.

Son Düşünceler ve Pratik Uygulamalar

Tim, Windows masaüstü uygulamaları veya Blazor ön uçları oluşturmayı öğrenirken örnek bir API'nin ne kadar faydalı olabileceğini vurgulayarak sonlandırır. Güvenilir bir veri kaynağı ile, geliştiriciler backend kurulumu tarafından yavaşlamadan grafiksel kullanıcı arabirimi tasarımını, form kontrollerini, olayları ve yerleşim araçlarını öğrenmeye odaklanabilirler.

Sonuç

Tim Corey'nin detaylı video eğitimini izleyerek, geliştiriciler Blazor ve Windows Forms programlamasında deneyim kazanabilirler. Visual Studio ve bir test API kullanarak, modern kullanıcı arayüzleri oluşturmayı ve bunları canlı veri kaynaklarına bağlamayı öğrenebilirler, bu da .NET ekosistemini keşfeden geliştiriciler için bu eğitimi değerli bir kaynak yapar.

Form programlamasına yeni başlayanlar veya Windows uygulamaları oluşturma becerilerini geliştirmek isteyenler için, bu kılavuz pratik, güncel bilgi ve en iyi uygulamaları sunar, geliştirme yolculuğunuzda sizi destekler.

Hero Worlddot related to WinForms ve Blazor ile Bir Test API'si Kullanma
Hero Affiliate related to WinForms ve Blazor ile Bir Test API'si Kullanma

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara