Programlama yapalım ve Öğrenelim. - ASP.NET
  Ana Sayfa
  => Microsoft .NET Kodlarını Açtı.
  => Microsoft .NET Rakip
  => VS.NET Nedir?
  => C# ile Tanışalım
  => C# ve OpenGL
  => ADO.NET
  => ASP.NET
  => ASP.NET ile MySQL
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  İletişim
ASP.NET

.NET 'e giriş, Neden ASP.NET?

ASP.NET kısaca Microsoft'un Haziran ayı itibari ile lanse edilen yeni sunucu taraflı web teknolojisidir. Microsoft'un yeni gözbebeği olan .NET alt yapısı çerçevesinde, bir çok açıdan yetersiz kalmaya başlamış ve tabiri caizse son kullanım tarihi geçmiş ASP 'nin yerini alacak olan ASP.NET, web programcılığı tarihinde çığır açacak yeniliklerle karşımıza çıkmakta. İlk olarak ASP+ olarak açıklanan bu yeni teknoloji, Microsoft'un sunucu taraflı internet teknolojilerini de .NET platformu altında toplama kararından sonra ASP.NET adını aldı.

Neden ASP den vazgeçip yeni bir dil öğrenmeliyim diyorsanız cevabı hazır. Öncelikle ASP nin neden terkedilmeye mahkum olduğunu anlayalım.

1. Bildiğiniz üzere ASP (Active Server Pages), uzantıları ".asp" olan dosyaların asp.dll adlı bir ISAPI yorumlayıcısı tarafından yorumlanması ve kodda yer alan işler yapıldıktan sonra sonucun istemciye gönderilmesi esasına dayanıyordu ki bu sunucunun performansını ciddi şekilde etkiliyordu. Her isteğin ardından tekrar yorumlanan kodlar aynı anda yüzlerce sitenin barındığı sunuculara ciddi yük getirmekteydi.

2. ASP ile yazdığınız kodlar her ne kadar site ziyaretçileri için görüntülenemez olsalarda, intranet uygulamaları geliştirenler aylarca uğraşıp geliştirdikleri programlarını herhangi bir ortama kurduklarında ciddi bir tedirginlik içine girerlerdi. Neden, kodlar ortalıkta da ondan.

3. Yarı nesne tabanlı bir programlama dili olan ASP, sadece temel öğeleri ve işlevleri içeren bir nesne ortamı sağlıyordu. Sunucuda kurulu olan COM objelerine erişerek veya kendi objelerinizi yazarak ( sunucuya kaydetmek zorundaydınız ) kendinize nispeten geniş bir hareket ortamı yaratabiliyordunuz. Ancak ASP'nin özgün nesne topluluğu bir çok sorunun çözülmesinde yetersiz kaldığından çoğunlukla üçüncü parti COM bileşenlerine ihtiyaç duyuluyordu. Bu çok ciddi bir sorundu çünkü her Hosting firması sizin ihtiyacınız olan bileşeni bulundurmayabiliyordu. Sizin yazdığınız bileşenlerin sisteme kurulması konusunda da güvenlik açısından çok hassas davranıyorlardı.

4. ASP, HTML kodlarının arasına serpiştirilerek yazılması gereken bir dil. Buna
literatürde "Spagetti kodlama" deniliyor. HTML tagleri arasında kaybolan ASP kodları hiç hoş bir görünüm arzetmediği gibi, herşeyin birbirine girmesine de neden olabiliyordu.

5. ASP ile Nesne yönelimli çalışamadığınızdan tekrar kullanılabilir sınıflar ( class ) ve arabirimler yazılamıyordu.

6. Oluşturduğunuz formların yönetimi ise başlı başına bir dertti. Formun içindeki bilgilerin kontrolleri ASP ile yapılamadığından Javascript öğrenmek ve kullanmak zorunda kalmıştık. Formdaki değişiklikler neticesinde, formun bazı öğrelerinin içeriğinin değişmesinin gerektiği durumlarda formun mutlaka submit edilmesi gerekiyordu. Tabii Javascript'i iyi biliyorsanız durum farklı.

Peki ASP.Net cephesinde durum ne? Bize neler kazandırıyor ?


1. Yorumlayıcı

Uzantıları .aspx olan ASP.NET dosyalarının yorumlanmaları için yeni bir alt yapı kullanılıyor. Yeni çalışma ortamımızın adı IIS ile entegre çalışan .NET Framework. Bu yeni çalışma ortamının en büyük getirileri şüphesiz uyumluluk ve dayanıklılık. Bundan böyle yazacağınız ASP.NET kodları IIS ile sorunsuz çalışacak. Ayrıca ileriye dönük düşünüldüğünde bugün yazacağınız kodlar IIS'nin yeni sürümlerinde de problem çıkarmayacak.

2. Programlama dili, yazım kuralları

Temelde bir çok farklılık bulunmakta. Bunun en önemli sebebi artık hem Object Oriented Programming ( Nesne Tabanlı Programlama ) hemde Event Driven (Eylem Yönelimli ) kullanılıyor olması. Bu konuyu gelecek yazılarımızda ayrıntıları ile inceleyecek ve artık hepimizin aşina olması gereken Nesne Yönelimli Programlama konusunu öğreneceğiz.

Peki ASP.Net programlarken hangi dili kullanacağız? Cevap, canınız hangisini isterse. Çünkü artık ASP ile en güzel günlerini görmüş VBScript adlı melez ve yarım yamalak dili kullanmak zorunda değilsiniz. Ne demiştik? ASP.NET, .Net platformunun bir parçası. Yani .Net için kullanabileceğiniz bütün dilleri kullanabilirsiniz. Bunlardan en önemlileri microsoftun yeni geliştirdiği ve "Java ya nispet olsun diye çıkardılar abi" şeklinde spekülasyonlar yapılan c#
( si şarp okunur ) ve tüm özellikleri ile birlikte kullanabileceğiniz Visual Basic.NET . Ancak şunu akıldan çıkarmamak gerekir. Kullanacağınız diller gerçekten sınırsız. PHP.NET veya Perl.NET gibi üçüncü parti dillerle de programlama yapabilirsiniz.

3. Compile edilerek ( derlenerek ) çalıştırılan kodlar

Haydaaa! .exe ve .dll dosyaları derlenmiyormuydu? Evet! Kesinlikle öyle. Ancak aslında sizde bir .dll yazıyorsunuz. Yazdığınız kodlar, çalıştırılmadan önce bir defaya mahsus .NET derleyicisi aracılığı ile MSIL denen ara koda çevriliyor. Bunun ardından da makine kodu dediğimiz koda dönüştürülüyor, yani .dll haline getiriliyor. DLL lerin hızları göz önüne alındığında bunun ne çaplı bir performans artışı sağlayacağını düşünmek için matematik profesörü olmaya gerek yok. Derlenerek çalışan kodların daha bir çok getirisi var. Hatalarınızı anında görebiliyorsunuz. Düzeltmeleri yaptıktan sonra kodu tekrar çalıştırdığınızda, eğer gerçekten hata yoksa derlenen kod hemen ziyaretçilerinize hizmet vermeye başlıyor.


4. c# 'ın getirdikleri

Her ne kadar bu yeni ve müthiş yetenekli dili kullanmak zorunda olmasanızda, c# .NET ortamının resmi dili haline gelmiş sayılır. İlk defa .NET ile ortaya çıkmasının bunda etkisi büyük tabi. C# .NET Framework ile geliştirilmiş ve belkide .NET yapısı için tasarlanmış bir dil. Dolayısıyla .Net'in bütün özelliklerini barındırıyor ve sonuna kadar kullanabiliyor.Önemli artılarından biride tam manası ile Nesne yönelimli programlamaya destek vermesi. Yani Nesneye yönelik programlamanın getirdiği bütün avantajlardan faydalanabiliyorsunuz. Yazım kuralları açısından Java'ya çok benziyor ancak c++ da andırıyor. Kısacası iki dilin bütün iyi yönlerini almış. Öğrenmesi çok zor değil gibi gözükmesine rağmen, eski ASP cilerin Visual Basic.Net üzerinde yoğunlaşacağını tahmin ediyorum.

5. Devasa kütüphane desteği

Microsoft'un uzun uğraşlar neticesinde toparladığı ve yıllardır geliştirilerek Windows ortamında program yazanların beğenerek kullandığı sınıf kütüphaneleri (Base Class Library-BCL) bundan böyle ASP.Net programcılarının da hizmetinde. Bu kütüphanelerin yaptığı kısaca şu, işletim sisteminin alt yapısı ile gelen bir takım öğelerin kullanılabilir hale gelmesini sağlıyor. Yani bir mail göndermek veya dosya upload etmek için üçüncü şahısların componentlerine ihtiyacımız olmayak.


6. Sunucu kontrolleri (Server Controls)

ASP.NET, sunucu tarafında olay güdümlü olarak programlanabilen, sunum (presentation) ile mantığı (logic) başarıyla ayıran bir bileşen seti ve mimarisi sunuyor. Bu bileşenler, koddan bağımsız olarak sayfa üzerine yerleştirilebiliyor ve ayrı dosyalarda bu kontroller için programlama kodları yazılabiliyor. Biraz garip geldi değilmi, ilerleyen yazılarda detaylarına indikçe anlaşılır hale gelecek, meraklanmayın.

7. XML ile kolay konfigurasyon

Server konfigurasyonu için IIS yönetim arabirimi ile uğraşmanıza gerek kalmadı. Basit bir XML dosyası ile server konfigurasyonunu yapabiliyorsunuz.


Kısacası .NET platformunun saygıdeğer üyesi ASP.NET geldiği uzun ve tecrübelerle dolu yoldan eli boş gelmiyor. Bize bugüne kadar hayal bile edemeyeceğimiz bir çok yenilik ve imkan sunuyor. Umarım biz türk programcıları arasında hakettiği ilgiyi görür ve daha iyiye ulaşma çabamızda böyle güzel bir teknolojiden gerektiği gibi yararlanabiliriz.

Microsoft'un .Net 2.0'ın son sürümünü duyurmasına az bir süre kala (7 Kasımda duyurulacağı açıklanmıştı), biz de ASP.Net 2.0 dünyasına giriş yapıyoruz. Aslında bu dünyaya daha önceki birkaç yazımızla (Önizleme: ASP.Net 2.0 Whidbey , Önizleme: Visual Web Developer 2005 Express Edition Beta 2) ufak girişler yapmıştık ancak o yazılarda detaylı bir anlatım pek mümkün olmamıştı. Bu yazımızda ise ASP.Net 2.0'ın getirdiklerine daha detaylı bakma şansımız olacak.

Yeni Eklenen Özellikler

     Bu başlığın altına yazmakla bitiremeyeceğimiz kadar çok özellik var desem yalan atmış olmam. Çünkü ASP.Net 2.0 web programlamayı inanılmaz derecede kolaylaştıracak bir çok özellik, bileşen ve kontrolle beraber geliyor.

- Yeni Kontroller

     ASP.Net 2.0 ile beraber hayatınıza 50'e yakın yeni kontrol girecek. Site nevigasyonu, kullanıcı işlemleri, veri işlemleri, sihirbaz işlemleri ve bunun gibi bir çok iş için hazırlanmış 50 yeni kontrol. Bu kontrollerle beraber aşağıdaki yeni kontrol aileleri hayatımıza girmiş olacak.

  • Veri Kontrolleri (Data Controls): ASP.Net 2.0 ile artık kod yazmadan sadece bir kontrolün özelliklerini ayarlayarak veritabanına bağlanma şansınız var. Veri kontrolleri ailesindeki kontroller de size farklı veritabanlarına bağlanmanızı sağlayacak.

  • Navigasyon Kontrolleri (Navigation Controls): Hepimiz site navigasyonunun ne kadar zor olduğunu biliriz. Site haritası çıkartmak, kullanıcıyı takip eden dinamik menüler oluşturmak ve daha bir çok şey. Ama ASP.Net 2.0 ile gelen yeni kontroller sayesinde bunlar dert değil, sadece bir zevk.

  • Üyelik Kontrolleri (Login Controls): Microsoft üyelik sistemlerinin ne kadar gerekli olduğunu ve programcıların bu tür sistemler üzerine ne kadar zaman harcadıklarını görünce hemen bu konuya da el atmış. Ve size istemeyeceğiniz kadar ayrıntılı düşünülmüş bir üyelik kontrolleri çıkmış.

  • Web Parts Kontrolleri: Siteleri yapan tasarımcılar ne kadar kullanıcıyı düşünüyoruz desede kendi kafalarına göre yaparlar bu işi. Oysa belki siteye giren ziyaretçi bir menünün farklı bir yerde olmasını isteyebilir. Bunu kodla kullanıcıya bırakmak eskiden ölümdü, şimdi ASP.Net ile çok kolay. Web Parts size, sitenizi esnekleştirip, kişiye özel hale getirmenize olanak sağlar.

Gördüğünüz gibi ASP.Net 2.0 sadece yeni gelen kontrolleri ile bile programcılık hayatını değiştirmeye aday.

Yeni Toolbox'ın "yukarıdan" görünüşü. Üyelik kontrolleri
Kullanıcının giriş yapması için hazırlanan kontrol  
Ağaçmenü kontrolü  

- Master Pages

      İnternette gezinirken fark etmişsinizdir. Bir çok sitede sayfalar birbirinin aynıdır. Yani altı, üstü, sağı solu genelde aynı olur ve ortada bir yerlerde değişir. Öyle her sayfa değiştiğinde başka bir tasarım çıkmaz karşınıza. Eskiden biz bu yapıyı INCLUDE FILE yöntemi ile kuruyorduk, daha sonra ASP.Net ile Kullanıcı Kontrolleri (User Controls) hayatımıza girdi; ancak Microsoft ASP.Net 2.0 ile Master Page'i bize sunarak artık işimizi daha da kolaylaştırdı. Master Pages sayesinde belirdiğiniz bir şablon tasarıma göre diğer sayfalarınızında şekillenmesini sağlayabiliyorsunuz.

- Temalar

      Ve yine oldukça çok aranan bir özellik. Hepimiz görüyoruz ki yeni çıkan tüm programların "Skin" yani farklı arayüz destekleri var. Çünkü beğeniler ortak değildir ve uygulamanızın satması için insanların uygulamanızı beğenmesi lazım. Dolayısı ile böyle bir arayüz desteği insanların uygulamayı kendi beğenilerine göre ayarlamasını sağlar. Web siteleri içinde bu durum geçerlidir. Tema desteği sayesinde kullanıcılarınız isterse kendi belirledikleri temalar ile sitenizi dolaşabilirler.

- Kişiselleştirme

      Aslında ASP.Net'te fark ettiyseniz herşey standart sayfaların yerine kişilerin kendi isteklerine göre özelleştirebilecekleri sayfaları oluşturmak amacıyla  geliştirilmiş. Temalar, Master Pages gibi Kişiselleştirme de ASP.Net'in önemli yeniliklerinden biri.

      Kişiselleştirmeyi şöyle açıklayabiliriz; Web Parts ve Web Zone kontrolleri sayesinde sitenin bir bölümünü fareniz ile tutup, başka bir yere koyabilir; sonra hep orada çıkmasını sağlayabilirsiniz. Böylece siz hiç kendinizi heba etmeden çok daha etkin ve özelleştirilebilir bir site oluşturabilirsiniz.

- Yönetim

      Yenilenen ASP.Net artık daha kolay idare edilebilir bir yapıda. Yeni eklenen API'ler sayesinde kullanıcılarınızı, web sitenizin güvenliğini idare etmeniz çok daha kolay.

ASP.Net 1.1 ile arasındaki farklar

      ASP.Net 1.1 ile 2.0 arasında aslında çok fark var. Yeni eklenen kontroller dışında değişen kontroller ve yapılar mevcut. Çalışma sisteminde de ciddi yenilikler yapılmış durumda. Bu noktaları aşağıdaki gibi özetleyebiliriz.

- GridView

      ASP.Net te kullanıcıları en çok çileden çıkaran kontrol olan DataGrid kontrolünün halefi olan bu kontrol, selefinin bir çok hatasını kapatmış olmakla beraber daha kolay kontrol edilebilir, daha az sorun çıkaran bir yapıya kavuşturulmuş. Sayfalama, düzenleme ve sıralama gibi DataGrid de saç baş yolduran herşey gerçekten "0" kod ile yapılabilir hale getirilmiş.

- Performans

      ASP.Net'in ASP'den %300 daha hızlı olduğunu her seminerde söylüyoruz. Gerçektende ASP.Net ilk derlemeden sonraki aşamalarda çok daha hızlı bir çalışma performansı ile karşımıza çıkmıştı. Ancak 2.0 da bu performans biraz daha arttırılmış ve hem kullanıcılara hem de programcılara daha rahat bir çalışma ortamı sağlanmış.

     Ayrıca .Net Framework 2.0 64 Bit desteği ile geleceğe daha sıcak bakıyor. Yakın gelecekte sunucuların hızla 64 Bit'e döneceği düşünülürse bu teknolojiye verilen destek ASP.Net 2.0'ı rakiplerinin karşısında öne geçirecek.

- Mobil Kontrolleri

    ASP.Net 2.0 Beta 1 de ASP.Net içine alınan Mobil Kontroller, 2.0 da biraz daha değiştirilmiş ve destek arttırılmış. Artık 2.0 B1 de olduğu gibi <mobile:> etiketi yerine herşeyi <asp:> etiketi ile yapabiliyorsunuz. Yapmanız gereken tek şey sayfanın hedefinin HTML tarayıcısı mı yoksa WML tarayıcısı mı olduğunu belirlemek.

  Şunun altını özellikle çizmemiz lazım. .NET ve ASP.NET, ASP'nin devamı niteliğinde değil. O bambaşka bir teknoloji. Sanırım yüzyılın buluşlarından desek abartmış olmayız. Geleceğin trendini yakalamak adına en kısa sürede öğrenmek ve ciddi uygulamalar geliştirmekte ASP.NET 'i kullanmak zorundayız.


Bir dahaki yazımızda kafanızda oluşmaya başladığını düşündüğüm bir çok soruya cevap verecek açıklamalar bulacaksınız. Ayrıca .Net Framework ve uygulama geliştirme aracımız olan visual studio NET 'in kurulumunu ele alacağız...

    Sevgilerle...

http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/html/Internals.asp

Kaynaklar:
http://dotnetjunkies.com/Tutorial/639D3FE1-5CB2-4765-8088-7C8A2574ECF3.dcik
http://beta.asp.net/QUICKSTARTV20/aspnet/doc/whatsnew.aspx

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol