Ajax Programlamaya Giriş ve Tarihçe

Etiketler: 

Tekrar Merhaba değerli programcıyım.com okurları. Umarım makalelerimizi merakla takip ediyorsunuzdur..

Çünkü bu sefer de yine en popüler yeni teknolojilerden biri olan Ajax ya da (Asynchronous Javascript and XML) den ve tarihçesinden bahsederek yeni bir konuya daha giriş yapacağız. Parantez içindekilerin ne olduğunu anlayamayanlar için, asenkron javascript ve xml olarak çevirebiliriz.

Bu kavramdan ne sonuç çıkaracağımızı özetlemek gerekirse, bir grup birbiri ile ilintili olan ve web'de kullanılan teknolojinin istemci tarafında kullanılarak interaktif web yazılımları yaratmamıza olanak sağlamasıdır diyebiliriz. Bu sayede artık masaüstü uygulamalardaki deneyime yakın bir esneklik web üzerinde de sağlanabilmektedir. 

Peki nasıl oluyorda bu sistem bizim RIA (Rich Internet Application) yani zengin Internet Uygulamaları geliştirmemizde yardımcı oluyor? Cevap isminde saklı! Bir kaç tekniği bir arada akıllıca kullanarak bunu sağlıyor. Ajax ile web uygulamaları herhangi bir sayfanın işleyişini etkilemedn arka planda çalışarak asenkron olarak sunucu ile veri alıverişi yapar ve bu sayede kullanıcı bu işlemden etkilenmeden sayfayı görüntülemeye devam edebilir. Böylelikle web servislerinin kalitesi artırılabilmektedir.
 
Genellikle veri transferi XMLHttpRequest objesi ile elde edilir. XHR, web sunucusuna direkt olarak HTTP ve HTTPS istekleri gönderebilen ve web tarayıcıda çalışan script dili içindeki bir DOM API'dir. Yapılan istek istemci tarafında çalışan script ile gerçekleştiği için sayfanın tekrar sunucuya gönderilmesi ve işlenmesi, yani sonuç olarak tekrar yüklenmesi gerekmemektedir ve böylelikle cevap olarak gelen veri, örneğin XML olabilir, yine istemci tarafında çözülüp, kullanıcıya Javascipt ile DOM kullanılarak gösterilebilmektedir. Bu tekniği kullanmanın en önemli getirisi, her seferinde web sayfasının tamamının gerek olmadığı halde yenilenmemesi yani, sunucu tarafından tekrar işlenmemesi ve trafiği, aynı zamanda işlem yükünü de hafifletmesidir. Bu tekniği en çok kullananların başında (Gmail, Google Maps, Bing Maps, Facebook) gibi popüler uygulamaları saymak mümkün.

Tekrar özetlemek gerekirse, AJAX bir teknoloji bileşimidir ve (HTML,CSS,DOM,XML,Javascript,JSON) teknolojilerinin çeşitli özelliklerini gerektiğince kullanır.

Konunun en yakın takipçilerinden olan Microsoft'da ASP.NET AJAX eklentilerini geliştirerek kendi uygulamalarında bu özelliklerin desteklenmesini sağlamıştır. İlk olarak kod adı ATLAS olarak başlatılan program, 2005 yılında ilk versiyonlarını kamuoyuyla CTP(Community Technical Previews) yani topluluk için teknik öninceleme olarak paylaşılmış ve asıl ürün yapısı (ASP.NET AJAX 1.0) olarak ASP.NET 2.0 için ek paket olarak 23 Ocak 2007'de yayınlanmıştır. Bunu daha sonra, 19 Kasım 2007 de  ASP.NET 3.5 'in bir parçası olarak ASP.NET AJAX 3.5 izlemiştir ve bundan sonra da artık ASP.NET framework'ün 4.0 versiyonuyla birlikte devam edecektir.

Tarayıcı desteğine de değinirsek, aşağıdaki listedeki browserlarda çalışabilmektedir.

  • Microsoft Internet Explorer (v.6.0 ve üstü)
  • Mozilla Firefox (v 1.5 ve üstü)
  • Opera (v 9.0 ve üstü)
  • Apple Safari (v 2.0 ve üstü)

Tüm bunlara değindikten sonra resimde de gördüğünüz ASP.NET AJAX Control Toolkit'ten de kısaca bahsedersek, ASP.NET AJAX framework üzerine geliştirilmiş ve açık kaynak kodlu bir projedir. Tool setinde 30'un üzerinde kontrol ve eklenti bulunmaktadır. Bunlarla ilgili tek tek çalışma özelliklerini görmek için aşağıdaki linkleri takip edin.

Accordion
AlwaysVisibleControl
Animation
AutoComplete
Calendar
CascadingDropDown
CollapsiblePanel
ColorPicker
ComboBox
ConfirmButton
DragPanel
DropDown
DropShadow
DynamicPopulate
FilteredTextBox
HoverMenu
HTMLEditor
ListSearch
MaskedEdit
ModalPopup
MultiHandleSlider
MutuallyExclusiveCheckBox
NoBot
NumericUpDown
PagingBulletedList
PasswordStrength
PopupControl
Rating
ReorderList
ResizableControl
RoundedCorners
Slider
SlideShow
Tabs
TextBoxWatermark
ToggleButton
UpdatePanelAnimation
ValidatorCallout