.NET’e Giriş

0

ASP.NET kısaca Microsoft tarafından geliştirilen sunucu taraflı web teknolojisidir. Microsoft’un 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 almış olan ASP.NET, web programcılığı tarihinde çığır açmıştır. İ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 terk edilmeye 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 olsalar da, 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 Microsoft’un 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ı derlen miyormuydu? 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ız da, 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 olmayacak.

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 ara birimi 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.

 

Alıntıdır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz