Birkaç gün önce Daniel Roth .NET Web Development and Tools Blog blogunda yeni bir deneysel projeyi duyurdu. ASP .NET ekibi bu projeyi Blazor olarak isimlendiriyor.

Blazor Nedir?

Browser + Razor = Blazor!

Bloglarında çok güzel bir ifade ile özetlemişler. Ben de sizlere aynen aktarmak istedim. Blazor, HTML ve CSS gibi mevcut web teknolojilerini temel alıyor. Fakat web kullanıcı arayüzü oluşturmak için JavaScript yerine C# ve Razor söz dizimini kullanıyor.

Blazor’un neye benzediğini görmek isterseniz Steve Sanderson’un geçen yıl ki NDC Oslo’daki prototip demosunu veya ASP.NET Community Standup’ın prototip demosunu izleyebilirsiniz . Sizler ile paylaşacağım son link ise statik bir site olarak çalışan  Blazor uygulamasına ait. Girip deneyebilirsiniz.

Blazor henüz deney aşamasında. Önemle belirtmek isterim ki Microsoft ASP .NET ekibi projenin devamlılığına dair bir garantide vermiyor. Yani proje sonlanabilir.

Fakat ben yine de inceleyeyim ne yapmışlar diyenleri buradan github projesine alalım. ASP. NET ekibi projeyi açık kaynak kodla geliştiriyor. Ve bakın bizi bu projede neler bekliyor.

Blazor ‘ın modern bir web frameworkte olması gereken her şeye sahip olacağını söylemişler. Çevirmeden aynen yazıyorum.

  • A component model for building composable UI
  • Routing
  • Layouts
  • Forms and validation
  • Dependency injection
  • JavaScript interop
  • Live reloading in the browser during development
  • Server-side rendering
  • Full .NET debugging both in browsers and in the IDE
  • Rich IntelliSense and tooling
  • Ability to run on older (non-WebAssembly) browsers via asm.js
  • Publishing and app size trimming

WebAssembly Web’i değiştirir!

WebAssembly, .NET ‘in web browserlar içerisinde çalışmasını mümkün kılıyor. Kulağa çok acayip geliyor değil mi?

WebAssembly (wasm) nedir? 

WebAssembly kısaca wasm, web’e derleme için uygun, taşınabilir, boyut ve yükleme süresi açısından verimli yeni bir biçim. Şu anda, tüm önemli tarayıcıların temsilcilerini içeren bir W3C Topluluk Grubu tarafından bir açık standart olarak tasarlanmakta. bknz. http://webassembly.org/

WebAssembly önemli bir gelişme. Bu arkadaş sayesinde web uygulaması geliştirmek için temelde yeni yollarda geliyor. WebAssembly ‘ye derlenen kodlar  browser üzerinde native hızlar ile çalışabiliyor. Microsoft bu gelişmeler ile hemen deneylere başlamış gördüğünüz gibi. Tek dil ile her şeyi yapabilelim mantalitesine devam. Demişler ki bizde o zaman WebAssembly ile tarayıcıda çalışabilen bir .NET çalışma zamanı (.NET runtime) oluşturalım. Peki tarayıcıda bir .NET Runtime çalışırsa ne olur? Şöyle söyleyim biz .NET geliştiricileri için tadından yenmez olur. Arkadaşlar bu proje devam edip release olabilirse, herhangi bir eklenti ya da dönüştürmeye vs. gerek kalmadan yazdığımız normal .NET assembly lerimizi WebAssembly tabanlı runtime da derler ve çalışırırız.

Single Page Application geliştirmek için JavaScript, jQuery, Knockout, Angular, React vs. kullanmanıza gerek kalmaz. Tek bilmeniz gereken C#, Razor, HTML ve CSS zaten ASP .NET ve C# ‘ı sunucu tarafında kullanıyorduk. 😉

Tabi sevinmek için henüz erken WebAssembly hala tasarlanmakta. Blazer projesi de sadece bir deney şu anda. Umarım başarılı olur.

Sizce Microsoft bunu başarabilir mi? Yorumlayın tartışalım.