DevNot Ankara 2018 – Angular ve SignalR ile Gerçek Zamanlı Oyun Geliştirmek

Selamlar,

28 Nisan 2018 Cumartesi günü Ankarada TOBB’da DevNot etkinliğine konuşmacı olarak katıldım. Bu seferki içeriğim tamamen oyundu. Corss Platform .Net Core, Angular 5 ve SignalR teknolojileri ile yazılmış, 3 oyun üzerine, uzun uzun konuştuk. İlk önce SignalR ve socket teknolojilerinde 2 client’ın nasıl birbiri ile konuşabileceği tartışıldı.

Bu aşamada bir cihazdan diğerine erişmek için gerekli olan “connectionID”‘yi bir QrBarcode içine koyup, diğer cihaz tarafından okutulması örneğini gösterildi. Aynı zamanda bunu okuyan diğer mobile cihaz da, “OnConnectedAsync()” methodunda, yani signalR Hub Class’ına bağlandığı zaman, kendi connectionID’sini Web sayfasındaki ilgili client’a göndermektedir. Backend .Net Core tarafında, ilgili WebApi ve signalR’ın kestrel üzerinden yayımlanması için yandaki tanımlama yapılmıştır.UseUrls(“http://0.0.0.0:5000”)

Benzer tanımlama Angular5 üzerinde yanda görüldüğü gibi yapılmaktadır. “ng serve –host 0.0.0.0

 

Daha sonra Angular 5 üzerinde optimizasyon amaçlı dinamik body resminin değişimi için, aşağıda yazılan directive örneği gösterilmiştir.

Yine Angular 5’e örnek amaçlı, sıralanan kartların bir filter ile nasıl 3’erli guruplar halinde listelenebileceği aşağıdaki gibi gösterilmiştir.

Asenkron yapılar ve WebApi servislerine yapılan requestlerin sonuçları, “subscribe” ile beklenip ondan sonra istenen aksiyonların yapılması gerektiği, aşağıdaki örnekler ile gösterilmiştir. Bu örnekte, tüm kartlar Control sayfası için istendikten ve hepsi çekildikten sonra “TriggerMainPage()” methodu tetiklenmiş ve aynı kartların Anasayfa yani Main.cshtml için de alınması sağlanmıştır.

Ekrana getirilen kartların Clone’u yani eşleniği, DeepCopy ile .Net Core server side tarafından nasıl alınabileceği aşağıdaki gibi gösterilmiştir.

Son olarak cep telefonu ile yönetilen bir uçak oyunu detaylıca incelenmiştir. Farklı tipte gelen objelerin işlevi bittiği zaman memoryden nasıl kaldırılabileceği, signalR ile cep telefonunda Web Sayfasındaki Client’a, komutların kesintisiz nasıl gönderilebileceği, yine bu seminer içerisinde anlatılan konulardan bazılarıdır.

 

Başta Uğur Umutluoğlu ve tüm Devnot ekbine böyle güzel bir etkinliği hazırladıkları ve bana da bu fırsatı verdikleri için hepsine çok teşekkür ederim.

Geldik bir seminerin daha sonuna. Yeni bir seminerde görüşmek üzere hepinize hoşçakalın, esen kalın.

Herkes Görsün:

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. Tağı dedi ki:

    Sadece muhteşem.
    Sabırsızlıkla Youtube’da paylaşılacak anı bekliyorum.
    Özellikle sizin seminerleriniz başka oluyor.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.