Asp’den Aspx’e GeçiÅŸ Gelecek Aspxde.
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.
Åž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.
Netten derlenmiÅŸtir. . .
Gönderen : Xtracker



Fikrini Soyle !