Anasayfa RSS Email
Wednesday, July 07, 2010

WebMatrix paketi

Microsoft WebMatrix adından yeni bir paket duyurdu. Henüz beta olan bu paket ve içerdiği teknolojileri bu adresden indirebilirsiniz.

Tamamen ücretsiz olan bu paketin için WebMatrix adından bir geliştirme aracı, IIS Developer Express, SQL Server CE 4.0 ve Razor ASP.NEt View Engine içeriyor. Aslında yeni bazı teknojileri getirmesi yanında yeni bir vizyonda sunuyor. Bu LAMP adındaki Apache, MySQL, PHP dağıtım paketlerine de benzetebilebilir. ASP.NET ile web sayfaları geliştirebilmek için gerekli olan geliştirme editorü, kopyala-yapıştır ile yüklenecekbilecek veritabanı, tam fonksiyonlu web sunucusu, view katmanından kullanmak için kod odaklı yeni bir teknoloji ve ASP.NET Web Pages API adında web sayfalarından kullanmak için hızlı çözüme gitme odaklı bir nesne modeli içeriyor. Bu yazımda web sunucusu, veritabanı özelliklerinden bahsedip, view engine değineceğiz. Razor ve ASP.NET Web Pages ile ilgili ise daha sonra yazılara devam etmek niyetindeyim.

WebMatrix ismi ASP.NET 1.x sürümlerinde yine Microsoft’un sağladığı ücretsiz bir editörün adıydı, bu WebMatrix’in eski WebMatrix ile bir alakası yok.

IIS Developer Express

Visual Studio 2005 sürümünde ASP.NET uygulamalarının çalıştırılması için ASP.NET Development Server adında küçük bir araç gelmeye başladı. Bir ASP.NET uygulamasını IIS gerekli olmadan çalıştırabilmektedir. Bundan önce ise Cassini adında bir ürün vardı, zaten ASP.NET Development Server bu ürünün daha önce çıkmış olan Cassini alt yapısı üzerine kurulmuştu ve Visual Studio 2005 ve 2008’e entegre edilmişti.

Bir exe dosyasının çalıştırılarak sadece yerel hosting yapan bu web sunucusu (ASP.NET Development Server) bir çok kurum tarafından güvenlik politikaları sebebiyle tercih ediliyor.

Ancak bu web sunucu yazılımı IIS’in tüm özelliklerine sahip olmadığı için sorunlar çıkabiliyordu. Bu sebeple uygulama geliştirme sürecinde ASP.NET Development Server ile geliştirilen bir uygulamanın IIS’de de çalıştığından ya da tam tersi durumdan emin olmak için test etmek gerekiyordu. ASP.NET MVC Framework veya farklı detaylı konular ile çalışanlar, IIS’in bir çok zengin özelliğinin ASP.NET Development Server tarafından desteklemediğini görmüştür.

Özetle ASP.NET Development Server, IIS’e göre daha kısıtlı özelliklere sahip olduğu için geliştirme ortamı ile dağıtım ortamı arasındaki farklılıklar sorunlara sebep olabiliyordu.

Bu iki seçeneğe alternatif olarak yeni bir seçenek var. IIS’in tüm özelliklerine sahip, artı olarak ASP.NET Development Server gibi bir exe dosyası çalıştırılarak çalışan ve işletim sistemi bağımlı olmayan bir seçenek.

IIS Developer Express (beta) adındaki bu ücretsiz araç iisexpress.exe dosyasının çalıştırılması ile belirtilen bir klasörü bir web application olarak host ediyor. Windows XP ve üzeri işletim sistemlerinde çalışabiliyor.

Aşağıdaki iki resimde de gözüktüğü gibi iisexpress.exe çalıştırıldığında iisexpresstray.exe adında bir program daha çalıştırıyor. Bu program çalışan iisexpress.exe programlarını aşağıdaki ilk resimde gözüktüğü gibi system tray üzerinden yönetmek için kullanılıyor.

image

 

image

 

IIS Developer Express ile ilgili daha detaylı bilgiyi ilk ağızdan Scott Guthrie(TheGu)’den okumak için tıklayınız.

 

SQL Server Compact Edition (SQL Server CE)

Microsoft’un mobil cihazlarda kullanılmak üzere geliştirdiği, SQL Server CE artık ASP.NET uygulamlarında kullanılmak için gerekli olan uygulama geliştirme arayüzüne (API) sahip.

Bir çoğunuzun bildiği gibi SQL Server CE ücretsiz ve mobil cihazlarda herhangi bir sunucu yazılımına gerek duymadan, uygulamanız içinden kullanılabilen bir yapıya sahiptir. SDF uzantılı SQL Server CE dosyalarını herhangi bir sunucu yazılımı kurmadan uygulamanıza gömülü şekilde kullanabilirsiniz.

ASP.NET ile de kullanılmak üzere düzenlenen bu sürümü ise SQL Server CE version 4 (beta) .  Mevcut ADO.NET API’si ile erişilebilmektedir. Bu sayede Entity Framework, NHibernate gibi orm araçlarıyla veya herhangi bir ADO.NET merkezli veri erişim senaryosunda aynen kullanmaya devam edebileceksiniz.

Bu yeniliğin pratik getirileri nedir?

Paylaşılmış web hosting senaryolarında herhangi bir SQL Server ücreti ödemeden veya yapılandırma işleri ile uğraşmadan SDF uzantılı SQL Server CE veritabanınız FTP ile upload edip kullanabileceksiniz.

SQL Server lisans maliyetinin karşılanmadığı senaryolarda MS Access veya SQLLite gibi farklı veritabanı yapıları kullanmak durumunda kalıyorduk, bunun yerine SQL Server CE veritabanını kullanabileceğiz. Bu sayede uygulamanın gereksinimleri arttığında uygulamayı ölçeklemek adına SQL Server CE’den SQL Server’e geçmeniz gereken senaryolarda sadece connectionstring değiştirmeniz yeterli olacak. Bahsettiğim veritabanlarından birisini kullanırken SQL Server’a geçmek istediğinizde eğer gerekli soyutlama seviyesi oluşturulmadıysa uygulamanın kodunda düzenlemeler yapmanız gerekmektedir.

SQL Server CE SDF dosyalarını WebMatrix paketi içindeki WebMatrix geliştirme aracı ile aşağıdaki resimde gözüktüğü gibi başka herhangi bir araca gerek kalmadan düzenleyebilirsiniz.

image

 

SQL Server CE 4.0 ile ilgili duyurusu ve detaylı bilgi için TheGu’nun yazısını okuyabilirsiniz.

 

Razor Template Engine – ASP.NET  View Engine

 

ASP.NET ekibinin WebMatrix ile birlikte duyurduğu yeni bir özellik ise aslında ASP.NET MVC Framework ve yeni duyurulan ASP.NET Web Pages API ile akalı.

Razor adında bir ASP.NET MVC View Engine duyuruldu. Aslında Razor, ASP.NET MVC View Engine olmaktan öte bir template engine özelliğine de sahip. Yani ASP.NET ortamında değilken bile Razor’u bir template engine olarak kullanabilirsiniz. Şablon dosyasını ve inputlarını vererek Razor template engine yapısını bir console application içerisinde kullanabilirsiniz. Java teknolojisi ile ilgilenenler için tanıdık bir yaklaşım bu, MVC tasarım kalıbında View katmanı için farklı yapılar kullanabilirsiniz. ASP.NET MVC’nin şuan ki varsayılan view engine yapısı .aspx/.ascx dosyalarını çalıştıran ASP.NET Web Forms teknolojisini kullanmaktadır. Bu varsayılan view engine ASP.NET ortamına bağlıdır. Ancak Razor ise ASP.NET MVC View Engine olavrak çalışabilmesinin yanında, ayrıca bir template engine olarak da çalışabilir. (Java’da ki Velocity, String Template view teknolojileri gibi)

Razor’u ayrıca kullanabilmenin yanında bu sayede view katmanı ile ilgili unit testing yapılabilmesi de sağlanmış olur.

Razor’un yazım kuralları ve getirdikleri ile yazılacak çok şey var. Bununla ilgili yazılar yazmayı planlalıyorum. Razor ile ilgili yine ilk ağızdan TheGu’dan duyuru yazısını ve yeni özelliklerini okumak için tıklayınız.

[ asp.net mvc .net web webmatrix ]
Web Statistics