Microsoft'un Razor ve Blazor'u, En Son .NET Core 3.0 SDK'yı İndirmesi Gereken .Net Geliştiricilerine Kapsamlı Web Geliştirme Araçları Sunuyor
Microsoft'un Razor'u iyi karşılanan bir biçimlendirme dili haline geldikten sonra, Windows işletim sistemi üreticisi, popüler Tek Sayfa Uygulama çerçevelerine güçlü bir alternatif olan Blazor üzerinde çalışıyor. .Net uygulamaları üzerinde çalışan web geliştiricileri artık yalın ve etkili bir ön uç Kullanıcı Arayüzü (UI) çerçevesine sahipler. Platform, WebAssembly aracılığıyla tarayıcıda çalışır ve herhangi bir web tarayıcısında (Microsoft Silverlight'ın aksine) güvenilir bir şekilde çalışacak şekilde özel olarak tasarlanmış ve ayarlanmıştır. Bu, geliştiricilere en geniş uyumluluk ve güvenilirliğe sahip hızlı tek sayfalık uygulamaları hızlı bir şekilde tasarlama, geliştirme ve dağıtma yolu sağlar.
Microsoft, Razor'u birkaç yıl önce geliştirdi ve iyi tasarlanmış bir sunucu tarafı biçimlendirme dili aldıkları için geliştiriciler arasında anında bir hit oldu. Razor, sunucu tarafı kodunu web sayfalarına getirmelerine izin verdi. Ayrıca, Razor'un sözdizimi, okunması ve anlaşılması basit olacak şekilde ince ayarlandı ve bu, öğrenmeyi ve uyarlamayı çok kolay hale getirdi. Söylemeye gerek yok, birkaç yeni geliştirici, Razor'un benimsenmesini ve kullanılmasını önemli ölçüde zorlayan biçimlendirme diline akın etti. Microsoft, Razor'un sürekli olarak kabul gördüğünü rutin olarak belirtti.
Razor'un artan kullanımına rağmen, .Net geliştiricilerinin hala ön uçta Angular, React ve Vue gibi JavaScript çerçevesine doğrudan karşı koyan güçlü bir alternatifi yoktu. Başka bir deyişle, Razor geliştiricilerin .NET kullanarak tüm sunucu tarafı mantığını işlemesine ve verileri istemci tarafına getirmesine izin verdi, ancak geliştiriciler hala sağlam bir ön uçtan yoksundu. Boşluğu doldurmak ve eksiksiz bir arka uç ve ön uç çözümü sunmak için Microsoft mühendisleri Blazor'u geliştirdi. Esasen, web UI çerçevesi, .NET'in gücünü istemci tarafına getirmek için güçlü bir yöntemdir.
Razor, WebAssembly ve Blazor Microsoft .Net Geliştiricileri İçin Neden Önemlidir?
Microsoft mühendisleri .Net'i istemci tarafına getirmenin yollarını geliştirmeye çalışırken, uzun vadeli beklentileri olan en belirgin ve uygulanabilir çözüm WebAssembly idi. WebAssembly veya yaygın olarak WASM olarak anıldığı gibi, tüm modern web tarayıcılarında çalıştırılabilen yeni bir kod türüdür. Verimli ve kompakt ikili biçimiyle WebAssembly, yerel performans ve verimlilikle umut verici bir şekilde çalışabilir.
WASM, C/C++ ve Rust gibi dillere bir derleme hedefi sağlayan, düşük düzeyli, derleme benzeri bir dildir. Bu diller daha sonra web üzerinde sorunsuz bir şekilde çalışabilir. İlginç bir şekilde, WASM JavaScript'e bir alternatif olmasına rağmen, tamamlayıcı olarak kabul edilebilir ve onunla hiçbir şekilde çelişmez. Diğer bir deyişle, WASM ile tasarlanan Web Uygulamaları, JavaScript ile geliştirilenlerle birlikte çalışabilir.
WebAssembly, herhangi bir modern tarayıcıda herhangi bir yerde .Net kodunu çalıştırmayı mümkün kılar. Söylemeye gerek yok, kod .Net geliştiricilerinin düzenli olarak karşılaştığı birçok sorunu ortadan kaldırdı. Geliştiriciler, çoğu büyük web tarayıcısında güvenilir ve optimum performans sağlamaya çalışırken genellikle garip sorunlarla karşılaşırlar. Son zamanlarda, en popüler web tarayıcılarından biri olan Mozilla Firefox, tarayıcıda belirli web sitelerinin optimum performansını sağlamak için özel ince ayarlar içeren bir depo olan about:compat'ı devreye aldı. Razor ve WebAssembly'nin doğru dağıtımıyla, Firefox gibi tarayıcıların ve geliştiricilerin, web sitelerinin çoğu tarayıcıda aksaklık veya hata olmadan çalışmasını sağlamak için özel çözümler bulması gerekmez.
Blazor, Tek Sayfalı Uygulama Çerçevelerine İdeal Bir Alternatif Olarak Razor'dan Evrimleşti:
Microsoft ilk olarak 'Silverlight' ile deney yaptı, ancak bu UI çerçevesi birkaç teknik engelle karşılaştı. Yine de Silverlight, Blazor'un yaratılmasına yönelik önemli bir evrimsel adım olarak kabul edilebilir. .Net'e bağlı yeni UI çerçevesi, popüler Tek Sayfa Uygulama çerçevelerine rekabetçi bir alternatiftir. .Net üzerinde çalışmış olan geliştiriciler, Blazor ile çalışırken oldukça rahat hissetmelidir.
Temel olarak, Blazor, veri bağlama, bağımlılık enjeksiyonu gibi şeylerle tanıdık Razor işaretlemesini eşleştirir. Ayrıca, çerçeve JavaScript birlikte çalışabilirliği aracılığıyla JavaScript'e ve JavaScript'ten yapılan çağrılara bile izin vererek, web geliştiricileri için mevcut araçları, güvenilirliği, çeşitliliği ve işlevsellik setini önemli ölçüde artırır. Araç setinin bir parçası olan Blazor ile geliştiriciler, sunucu tarafında ve istemci tarafında edindikleri ve geliştirdikleri C# bilgilerini hızlı ve verimli bir şekilde kullanabilirler. Blazor, onlara .Net ve kitaplıklarına erişim izni verir.
İlginç bir şekilde, Blazor uygulamaları bileşen tabanlıdır. Bu esneklik ve çok yönlülük, Blazor uygulamalarının iç içe geçmesine ve küçük ince ayarlarla yeniden kullanılmasına olanak tanır. Razor ve Blazor ile geliştirilen bir web uygulamasının sonucu, yüksek güvenilirlik, hız ve verimlilikle çalışan uygulamalardır. Çerçeve, HTML ve CSS olarak oluşturulan zengin kullanıcı arayüzünün geliştirilmesine izin verir.
Blazor'dan önce, Microsoft Silverlight tek uygulanabilir bir çerçeveydi. Ancak, ciddi şekilde platform desteğinden yoksundu. Bu, Silverlight'ın benimsenmesini önemli ölçüde kısıtladı. WebAssembly ise Apple'ın iOS üzerinde çalışan Safari tarayıcısı da dahil olmak üzere tüm büyük tarayıcılarla optimum uyumluluk sağlamak için özel olarak tasarlanmıştır. Bunun basitçe anlamı, WebAssembly'nin artık JavaScript'e ve rakip Tek Sayfa Uygulama çerçevelerine layık bir rakip veya alternatif olmasıdır. JavaScript'e ve çerçevelerine sadık kalmaya devam edecek birçok geliştirici her zaman olacak olsa da, deneyimli .Net geliştiricileri WebAssembly'ı hızla benimseyebilir.
Jilet ve Blazor Sınırlamaları:
Razor kesinlikle güçlü bir biçimlendirme dilidir ve Blazor, .Net'in uzun geçmişinden kazanç sağlar. .Net platformu ile çalışan geliştiricilerin bu platformları tercih edeceğine şüphe yok. Ancak, Blazor hala gelişiyor. Diğer bir deyişle, oldukça kısıtlayıcı sayılabilecek bazı alanlarda hala yetersiz kalmaktadır.
Blazor'daki en göze çarpan sınırlamalardan biri Hata Ayıklama ile ilgilidir. Geliştiricilerin, hataları izlemek için kodlarına kapsamlı günlük kaydı eklemeleri gerekecektir. İkinci en önemli husus, yüksek ilk yük etkisidir. Diğer bir deyişle, Blazor uygulamaları oldukça yüksek bir uygulama boyutunu beraberinde getirmektedir. Temel bir Blazor uygulaması, 2 ila 3 MB arasında herhangi bir yere taşınabilir. Bu, sıradan son kullanıcılar tarafından büyük bir boyut olarak görülmese de, web uygulamaları dünyasında ağır bir yük olarak kabul edilir. İlginç bir şekilde, basit önbelleğe alma, sonraki yeniden yüklemeler sırasında verileri önemli ölçüde azaltır.
Az sayıdaki sınırlamalara rağmen Razor ve Blazor, zengin .Net geçmişiyle en çok tercih edilen araçlardan biri olacağından emin olabilirsiniz. Uzun süredir JavaScript ile çalışan ve çerçeveleriyle mücadele eden web geliştiricileri, istemci tarafı ve sunucu tarafı geliştirme için tek ve kapsamlı bir dilden kesinlikle memnun kalacaklardır. İlgilenen geliştiricilerin en son .NET Core 3.0 SDK'yı yüklemeye başlaması gerekir. Daha sonra Blazor şablonlarını yüklemeleri gerekir. Microsoft, web sitesinde kapsamlı bir talimat seti sunmuştur.