![]() | |
ASP.NET 3.5 ile Gelen Yenilikler | 11.12.2007 09:07:00 |
| Kategori : ASP.NET Özet : Bu yazımızda ASP.NET 3.5 ile gelen yeniliklere hızlı şekilde göz atıyoruz. Yine geçtiğimiz günlerde resmen duyurulan ASP.NET 3.5 Extensions paketiyle gelen önemli yenilikleri de inceliyor olacağız. | |
.NET Framework 3.5 sürümünün resmen duyurulmasıyla ASP.NET'te 3.5 sürümüne ulaşmış oldu. Bildiğimiz gibi .NET Framework 3.0 ile önceki mimaride değişiklik olmamıştı ama Windows Presentation Foundation, Windows Communication Foundation, Workflow Foundation ve Cardspace gibi yeni teknolojiler mimariye eklenmişti. 3.5 sürümüyle birlikte ise önceki mimaride bazı değişiklikler, yeni eklentiler ve yeni tipler getirildi. Özellikle Linq (Language Integrated Query) adındaki Dil ile Bütünleşik Sorgulama modeli bu sürümdeki en göze çarpan yenilik oldu. Bu yazımızda Framework'ün ASP.NET kısmında bizi ne gibi yeniliklerin beklediğini incelemeye çalışacağız. Aslında ASP.NET'i .NET Framework'ün 1.0 sürümünden beri takip edenler 1.1 sürümünden 2.0 sürümüne geçişteki köklü ve önemli yenilikleri hatırlayacaktır. Yazımıza giriş yaparken hemen şunu belirtelim ki 2.0 sürümünden 3.5 sürümüne geçişte bu denli büyük ve köklü yeniliklerimiz olmayacak. Fakat AJAX ve Linq temelli olarak ta iki köklü yeniliğin geldiğini de belirtmekte fayda var. Bir diğer konu da ASP.NET 3.5'in ardından yakında resmen duyurulması beklenen ASP.NET 3.5 Extension paketi. (Belki de yazıyı okuduğunuzda bu paket resmen duyrulmuş olacaktır) ASP.NET MVC (Model View Controller) Framework, yeni AJAX ve veri kontrolleri ile SilverLight kontrollerinin ekleneceği bu paketinde mimariye dahil olmasıyla birlikte aslında daha da önemli yeniliklerin bizi beklediğini söyleyebiliriz. Makalemizin son kısmında bu paket ile ilgili de önemli bilgileri sizlerle paylaşmaya çalışacağım. ASP.NET 3.5 ile gelen en önemli ve köklü iki yenilik AJAX Extension entegrasyonu ve Linq desteğidir. Aslında Linq C# 3.0 ile birlikte gelen bir yenilik ve platformdaki tüm uygulamalarda kullanabileceğimiz gibi ASP.NET uygulamalarında da kullanabileceğiz. Aşağıdaki başlıklarda gelen yenilikleri inceliyoruz. 1. ASP.NET AJAX Entegrasyonu ASP.NET AJAX, ASP.NET ortamında hızlı ve kolay bir şekilde AJAX uygulamaları geliştirmemizi sağlayan ücretsiz bir AJAX framework'üdür. ASP.NET 2.0'ın ardından duyurulan ve bu yılın (2007) başında resmi sürümü çıkarılan AJAX Extension'ları ASP.NET 3.5 ile mimariyle bütünleşik şekilde geliyor. Artık temel sınıf kütüphanelerimiz içerisinde AJAX kontrolleri ve tipleri de bulunmaktadır. Bir başka deyişle AJAX web uygulamaları geliştirmek için ASP.NET'in sitesinden ASP.NET AJAX paketini indirmeye ve kurulum yapmaya gerek kalmayacak. .NET Framework 3.5 ile birlikte duyurulan yeni uygulama geliştirme ortamımız Visual Studio 2008'de açılan her ASP.NET 3.5 artık AJAX destekli olarak oluşturuluyor. Yani AJAX Extension kontrollerini kullanarak hızlı şekilde AJAX uygulamaları geliştirebiliyoruz. Yapılacak tek işlem sayfaya gerekli AJAX Extension kontrollerini eklemek ve gerekli işlemleri yapmak. Kurulum yapmaya, kontrolleri ToolBox'a eklemeye ve proje oluştururken ayrı bir proje şablonu seçmeye gerek yok. Bu sürümü ile birlikte bazı eksiklikler ve sorunlar giderilerek artık ASP.NET AJAX'ın sunucu kontrolleriyle tam uyumlu şekilde çalışması da sağlanıyor. Visual Studio 2008 ile birlikte Control Toolkit'te yer alan kontrollerin varolan sunucu kontrollerine çok kolay şekilde entegre edilebilmesi de işimizi kolaylaştıracak bir yenilik olarak göze çarpıyor. Önceki sürümde olduğu gibi AJAX kontrollerimiz System.Web.UI isim alanına eklenmiş durumda. Aşağıda Microsoft'un sunduğu .NET Framework 3.5 isim alanları ve sınıfları posterinden System.Web.UI kesiti bulunmaktadır. (ScriptManagerProxy ve Timer kontrolleri nedendir bilinmez bu postere eklenmemiş ama aşağıda güncellediğim posterin ilgili kesitini görebilirsiniz.)
.NET Framewrok 3.5 ile birlikte artık web uygulamalarında da
Linq hayatımıza girecek. Linq C# 3.0 ile birlikte geliyor ve dil ile bütünleşik olarak sorgulamalar
yapılabilmesini sağlıyor. Veritabanında SQL query'leri
kullanarak nasıl tablolar üzerinde sorgulamalar yapıyor ve sorgu sonucunu elde edebiliyorsak,
artık C# veya VB.NET gibi bir dil ile de uygulama içerisindeki bir nesnenin
içeriği ile ilgili SQL sorgu cümlelerine benzer şekilde sorgulamalar
gerçekleştirebileceğiz. Bir dizi, bir koleksiyon nesnesi, XML dosyadan alınan
veriler veya DataTable gibi veri taşıyan bir nesne üzerinde Select, Where, Order
By, Join... gibi tanıdığımız ifadeleri kullanarak sorgulamalar
gerçekleştirebiliyoruz. Aslında Linq böyle 3-4 cümle ile anlatılacak kadar da
basit bir yenilik değil. Aksine arka planda sadece Linq'i desteklemek için
bile birçok önemli yenilik C# diline kazandırılıyor. Linq ile birlikte gelen var tipi, nesne ve
koleksiyonlara ilk değer atıcılar, extension metotları ile varolan bir sınıfa ek
metotlar eklemek gibi birçok yeniliği de C# veya VB.NET gibi bir dil ile
dolayısıyla ASP.NET ile bütünleşik şekilde kullanabiliyoruz.. Linq ve gelen
diğer yeniliklerle ilgili olarak aşağıdaki blog yazılarını ve makaleleri okumanızı tavsiye ederim. 3. YENİ VERİ KONTROLLERİ
ASP.NET 3.5 ile gelen AJAX kontrolleri dışında kontrol kütüphanemizde üç yeni
kontrol daha ekleniyor: ListView, DataPager ve LinqDataSource. ListView ve
DataPager kontrolleri ile artık daha esnek veri görüntüleme işlemleri
yapabiliyorken, LinqDataSource kontrolü ile de tüm veri kontrollerini Linq
sorgularının sonucuna bağlayabiliyoruz.
Aslında yukarıdaki resimde ilk ilgimizi çekecek durumlardan birisi verileri artık yan yana da dizebildiğimiz olabilir. ListView tıpkı DataList kontrolü gibi arka planda HTML kodları ile özelleştirilebildiği için artık görüntülenecek verileri esnek şekilde kullanıcılara görüntületebiliriz. Bu şekilde yine görsel kısımdan yapacağımız işlemlerle veriye çok kolay erişebiliriz. ListView ile ilgili olarak kullanabileceğimiz bazı önemli özellikler (property) ve açıklamalarını aşağıda bulabilirsiniz.
DataSourceID: Bağlanacak DataSource kontrolünün ID bilgisi
LayoutTemplate, ItemTemplate, AlternatingItemTemplate, SelectedItemTemplate, InsertItemTemplate, EmptyDataTemplate, EditItemTemplate, GroupTemplate gibi görünüm şablonları içerisine yazılacak uygun HTML elementleri ile verinin her türlü görünümünü belirleyebiliriz. Aşağıda ListView ile oluşturulmuş bir sayfanın çıktısını görebilirsiniz.
ASP.NET 3.5 ile birlite gelen temel yenilikler bunlar. Gözümüze biraz az gelmiş olabilir ama Microsoft geçtiğimiz günlerde çıkardığı ASP.NET 3.5 Extensions paketi ile artık ASP.NET 3.5'i daha da güçlü hale getirdi. Bu yeni paket ile gelen yeni kontroller ve MVC Framework ile artık daha güçlü ve zengin web uygulamaları geliştirebiliyor olacağız. Aşağıdaki kısa yazıda ASP.NET 3.5 Extensions paketini tanımaya çalışıyoruz.
ASP.NET 3.5 EXTENSIONS Aslında Microsoft bunun bir benzerini ASP.NET 2.0'ın ardından ASP.NET AJAX Extension'ı duyurarak yapmıştı. Şimdi de benzeri bir strateji ile geliyorlar. AJAX ancak 3.5 sürümünde mimariyle bütünleşti, belki 3.5 Extensions ile gelen yenilikler de ASP.NET 4.0 (böyle bir sürüm olur mu bilinmez) ile bütünleşik gelecektir. Aslında ASP.NET 3.5 Extensions içerisinde daha önceden duyurulan ASP.NET Futures paketindeki kontroller ile ASP.NET MVC Framework'ün olduğunu söylesek pek te yanlış olmaz. Aşağıda bizleri bekleyen yenilikleri hakkında kısa bilgileri bulabilirsiniz.
1. ASP.NET MVC Framework: MVC yani Model View Controller.
MVC mimarisi aslında daha önceden de duyulan bir tasarım deseniydi (design
pattern) programlama dünyasında. Bu yaklaşımdaki temel mantık bir web projesini
üç temel parçaya bölmek ve yapılacak işleri bu parçalar üzerinden yürütmektir.
Hazırladığımız projelerde sıklıkla kullandığımız uygulamayı iş katmanı ile veri
katmanı olarak ayrı parçalara bölmeyi buradaki yaklaşım ile benzeştirebiliriz.
Aslında temel amaç uygulamayı işe yarar belirli amaçları olan parçalara bölmek
ve bir parçanın değişiminden diğer parçaların etkilenmesini engellemektir. MVC
uygulamanın Model, View ve Controller olarak üçe
ayrılmasını benimseyen bir tasarım desenidir.
2. ASP.NET AJAX Tarafındaki Geliştirmeler: Futures paketinden tanıdığımız History kontrolü bu paketin içerisinde olacak. AJAX sayfalarında tarayıcıdaki ileri-geri gitme problemini çözecek olan bu kontrol asenkron postbackler esnasında sayfanın URL kısmını değiştirerek tarayıcının değişen sayfa içeriklerini geçmişine kaydetmesini sağlıyor. Dinamik Veri (Dynamic Data) Desteği: Yine Futures paketinden tanıdığımız bir özellik. DynamicAutoData, DynamicList, DynamicNavigator, DynamicRssLink gibi bazı veri kontrolleri ile bir veritabanında yapacağımız Select, Insert, Update, Delete gibi işlemleri neredeyse kod yazmadan gerçekleştirebilmemizi sağlıyor. .NET Framework 3.5 ile gelen Database Markup Language (dbml) dosyaları ile dinamik veri kontrollerini birlikte düşününce ve üstüne MVC Framework'ü de katınca bu yeniliklerin MVC'nin Model katmanını oluşturacağını söyleyebiliriz. SilverLight Desteği: SilverLight artık ASP.NET ile giderek bütünleşiyor. Tahminen yine Futures paketindeki Media ve XAML kontrollerinin ekleneceği bu pakette ASP.NET ile SilverLight'ın entegrasyonunun daha da kolaylaşacak. Yani daha interaktif daha zengin içerikli sayfalar geliyor. ADO.NET Veri Servisleri (Data Services): ADO.NET Entity Framework adı verilen bu pakette ASP.NET 3.5 Extensions ile birlikte duyurulacak. Object Relation Mapping (ORM) desteği ile daha da güçlenen .NET Framework 3.5'teki veri işlemleri aslında bu framework altında toplanıyor gibi. Artık veri ile ilgili her türlü işlemi oluşturacağımız veya SqlMetal.exe aracı ile oluşturulacak class'lar ile gerçekleştireceğiz gibi. ASP.NET 3.5 Futures paketiyle ilgili daha detaylı bilgi edinmek, bilgisayarınıza yüklemek ve kullanmak için http://asp.net/downloads/3.5-extensions/ adresine göz atabilirsiniz. Bir başka yazıda görüşmek dileğiyle.
| |
Yazgelistir.com | |