Asp.Net Core JavaScript Hizmetleri

Asp.Net Core ekibi üyeleri bir süredir sessiz sedasız bir projeye devam etmekte; ASP.Net JavaScriptServices. Asp.Net JavaScriptServices; Asp.Net Core geliştiricileri için  .Net uygulamaları ile JavaScript uygulamaları arasındaki geçişi transparan yapmayı hedefleyen bir dizi teknoloji olarak özetlenebilir. Bu makalemle ilk adımlarımızı atacağımız Asp.Net Javascript Services, bize aşağıdaki yetenekleri sunmaktadır;

  • Çalışma zamanında .Net uygulamalarınızdan NPM paketlerini çağırabilme,
  • Tek-Sayfa Uygulama (Single-Page Application, SPA) bileşenlerinin sunucu üzerinde önceden yorumlanması,
  • Webpack geliştirici ara-katmanı,
  • Canlı modül değişimi (Hot Module Replacement, HRM),
  • Sunucu ve istemci tarafı yönlendirme entegrasyonu,
  • Sunucu ve istemci tarafı doğrulama entegrasyonu,
  • Knockout uygulamaları için geç yükleme (Lazy Loading),
  • Angular 2 uygulamaları için “Cache Priming

Sıfırdan başladığınız bir projede bu hizmetleri hızlıca kullanmaya başlayabilmeniz için ekip aynı zamanda bir de Yeoman şablonu geliştirmiş durumda. Örneklerimizi sıfırdan bir proje üzerinde göreceğimiz için Yeoman Generator’ünü kurmakta fayda var;

npm install -g yo generator-aspnetcore-spa

generator-aspnetcore-spa

Örnek projemizi koyacağımız bir klasör oluşturalım;

mkdir enterprisecoding-sample

Daha sonra bu klasör içerisinde kurulumunu az önce yaptığımız aspnetcore-spa generator’ünü çalıştıralım;

cd enterprisecoding-sample

yo aspnetcore-spa

yo-aspnetcore-spa

Örnek olarak bir Angular 2 uygulaması oluşturalım. Framework seçimi ve proje adını verdikten sonra Yeoman generator bizim için gerekli modülleri hazırlayacaktır.

enterprisecoding-sample-folder

Yeoman’ın işini bitirmesi ardından aşağıdaki komutla örnek uygulamamızı çalıştırarak herşeyin yolunda gittiğini teyit edebilirsiniz;

dotnet run

dotnet-run

Uygulamamız çalışmaya başlayacaktır. http://localhost:5000 adresinden ziyaret edebilirsiniz.

uygulama-ana-sayfasi

Şimdi sıra Asp.Net Javascript Services’i deneyimlemeye.

Öncelikle Yeoman şablonunun bizim için oluşturduğu kod içerisinde biraz gezinelim;

Visual-Studio-Code-Projemiz

Oluşturulan proje hiyerarşisine dikkat edecek olursanız, alışık olduğumuz asp.net projelerinden farklı olarak node_modules klasörünün de olduğunu göreceksiniz.

controller-ve-view

Uygulama kodları arasında HomeController.cs ve Index.cshtml’i inceleyecek olursanız, uygulamanın standard bir Angular 2 uygulaması olduğunu göreceksiniz. SampleDataController sınıfını inceleyecek olursanız rastgele şekilde hava durumu verisi üreten bir rest servisi olduğunu görebilirsiniz;

SampleDataController-sinifi

Yukarıdaki bilgiler ışığında, şablondan oluşturulan uygulamanın tam anlamıyla javascript üzerinde çalıştığına ikna olduğunuzu umuyorum.

Şimdi, sıra işleri biraz ilginç hale getirmekte. Bu uygulamanın standart bir uygulama olduğunu varsayalım. Bu durumda tarayıcıdan javascript’i kapattığınızda ne olmasını beklersiniz?

disable-javascript

Normal şartlarda, olması gereken Angular 2 üzerinde geliştirilen uygulamanın javascript’ler disable olduğu için hiç bir şekilde çalışmaması gerekir. Öte yandan, tarayıcınızı tazeleyerek uygulamada gezinmeye devam ettiğinizde sayfaların sorunsuz şekilde açıldığını, hatta Fetch data linki ile açılan hava durumu sayfasının her defasında rastgele veriler üretmeye devam ettiğini göreceksiniz…

Yeoman Angular 2 şablonu varsayılan olarak, yukarıda sıraladığım özelliklerden tek-sayfa uygulama (Single-Page Application, SPA) bileşenlerinin sunucu üzerinde önceden yorumlanması aktif olarak proje oluşturması sırada açılacaktır. Dolayısıyla tarayıcı tarafında son kullanıcı javascript’leri kapattığında bu durum Asp.Net JavascriptServices tarafından tespit edilecek ve javascriptleri yorumlama işi istemci yerine sunucuda gerçekleştirilecektir.

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir