AJAX (programlama) - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tarihsel bilgi
  • 2 Avantajları ve dezavantajları
  • 3 Erişilebilirlik
  • 4 Ajax Nerede Kullanılır
  • 5 Kaynakça
  • 6 Ayrıca bakınız
  • 7 Örnekler
  • 8 Dış bağlantılar
    • 8.1 AJAX kütüphaneleri

AJAX (programlama)

  • Afrikaans
  • አማርኛ
  • العربية
  • Azərbaycanca
  • Български
  • বাংলা
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Français
  • Gaeilge
  • Galego
  • עברית
  • हिन्दी
  • Magyar
  • Հայերեն
  • Bahasa Indonesia
  • İtaliano
  • 日本語
  • ქართული
  • Qaraqalpaqsha
  • Қазақша
  • 한국어
  • Lietuvių
  • Македонски
  • മലയാളം
  • Монгол
  • Bahasa Melayu
  • Nederlands
  • Norsk nynorsk
  • Norsk bokmål
  • Polski
  • Piemontèis
  • Português
  • Română
  • Русский
  • Simple English
  • Slovenčina
  • Slovenščina
  • Shqip
  • Српски / srpski
  • Svenska
  • தமிழ்
  • ไทย
  • Türkmençe
  • ئۇيغۇرچە / Uyghurche
  • Українська
  • Tiếng Việt
  • 吴语
  • 中文
  • 粵語
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi

AJAX (İngilizce: Asynchronous JavaScript and XML, Türkçe: Eşzamansız JavaScript ve XML), İnternet sayfalarında JavaScript ve XMLHttpRequest kullanılarak etkileşimli uygulamalar geliştirmeye yarayan bir tekniktir.

Okunuşu konusunda genel bir uzlaşma olmamakla birlikte, çoğunlukla yazıldığı gibi ajaks şeklinde okunur. Ancak bazı kişiler, aynı isimdeki futbol takımı örneğinden yola çıkarak ayaks şeklinde de telaffuz etmektedir. İngilizcede ise genellikle ey-ceks olarak okunur.

En yaygın kullanım alanı, sayfanın yeniden yüklenmesine gerek kalmadan sayfa içeriğinde görünür değişiklikler yapılabilmesidir. XMLHttpRequest nesnesi kullanılarak birden fazla bağımsız işlem gerçekleştirilebilir. Bazı bilişim uzmanılar, AJAX'ın HTML ve XML'den sonra internet yazılımında en yenilikçi gelişme olduğunu ve Web 2.0.'ı sonlandırıp üçüncü evrenin kapılarını açtığını öne sürmüştür.

Asynchronous JavaScript and XML kelimelerinin kısaltması olan Ajax, etkileşimli (interaktif) web uygulamaları geliştirmek için kullanılan bir web programlama tekniğidir. Temel amacı, arka planda sunucuyla az miktarda veri alışverişi yaparak sayfayı daha hızlı güncelleyebilen web sayfaları oluşturmaktır. Böylece kullanıcı, istediği her anda tüm web sayfasını yeniden yüklemek zorunda kalmaz. Bu da web sayfalarının etkileşimini, hızını ve kullanılabilirliğini artırır.

Ajax tekniği aşağıdaki teknolojileri kullanır:

  • Bilgiyi biçimlendirmek ve görüntüsünü değiştirmek için XHTML (veya HTML) ve CSS.
  • Görüntülenecek bilgiyi dinamik olarak göstermek ve onunla etkileşimde bulunmak için, özellikle JavaScript ve JScript gibi ECMAScript tabanlı kullanıcı tarafı betik dili (İngilizce: scripting) ile erişilen DOM.
  • Web sunucusu ile veri alışverişinde kullanılan XMLHttpRequest nesnesi. Bazı Ajax çerçevelerinde ve durumlarda, web sunucusuyla iletişim için XMLHttpRequest yerine iframe veya dinamik olarak eklenen JavaScript etiketleri (İngilizce: tag) de kullanılabilir.
  • Kullanıcı ile sunucu arasındaki veri alışverişlerinde genellikle XML formatı kullanılır. Ancak önceden hazırlanmış HTML, düz metin (İngilizce: plain text), JSON ve hatta EBML gibi herhangi bir format da tercih edilebilir. Bu dosyalar sunucu tarafında herhangi bir script dili (PHP, ASP vb.) ile üretilmiş olabilir.
  • DHTML, LAMP ve SPA gibi teknolojilerden farklı olarak, Ajax tek başına bir teknoloji değildir; ancak birçok teknolojinin birlikte kullanılmasını ifade eden bir terimdir.

Tarihsel bilgi

[değiştir | kaynağı değiştir]

Hazırdaki bir web sayfasına, tamamen yeniden yüklemeden asenkron (eşzamansız) içerik ekleme teknikleri, 1996'da Internet Explorer ile gelen iframe ve 1997'de Netscape (Mozilla'nın ilk dönemlerinde geliştirilmesi durdurulmuştur) ile ortaya çıkan layer öğesi kadar eskidir. Her iki öğe de herhangi bir harici URL'yi alarak ana sayfayı değiştirebilen src özniteliğine sahipti. Daha sonra, tarayıcı tarafında çalışan bu teknolojiler DHTML adı altında anılmaya başlandı. Macromedia firmasının Flash uygulaması ise 4. sürümünden itibaren XML ve CSV formatındaki dosyaları, sayfayı yeniden yüklemeye gerek kalmaksızın uzak sunucudan yükleyebilme özelliğine sahipti.

Microsoft'un Remote Scripting (MSRS, 1998'de tanıtıldı) teknolojisi, bu tekniklere daha zarif bir alternatif olarak ortaya çıktı; veriler, istemci tarafında çalışan ve JavaScript ile iletişim kurabilen bir Java applet tarafından çekiliyordu. Bu teknik, Internet Explorer 4 ve Netscape Navigator 4 ve sonrası sürümlerde çalışıyordu. Microsoft daha sonra Internet Explorer 5'te XMLHttpRequest nesnesini oluşturdu ve bu tekniği ilk olarak Microsoft Exchange Server 2000 sürümüyle gelen Outlook Web üzerinde kullandı.

Web geliştirme topluluğu, ilk olarak microsoft.public.scripting.remote haber grubu ve daha sonra bloglar aracılığıyla iş birliği yaparak farklı tarayıcılarda tutarlı sonuçlar elde etmek için uzak betik çalıştırma teknikleri geliştirdi. 2002 yılında kullanıcı topluluğu, Java applet yerine XMLHttpRequest'i kullanmak üzere Microsoft Remote Scripting üzerinde bir değişiklik yaptı.[1]

ARSCIF gibi Uzak Betik Çalıştırma Çerçeveleri 2003 yılında ortaya çıktı ve bu, Microsoft'un ASP.NET içerisinde Callbacks özelliğini sunmasından kısa bir süre öncesine denk gelmektedir.[2][3]

Ayrıca, Dünya Çapında Ağ Konsorsiyumu (W3C) tarafından sunulan ve sunucu ile kullanıcı ajanı arasında dinamik iletişimi mümkün kılan çeşitli öneriler bulunmaktadır, ancak bunların çoğu yaygın destek görmemektedir. Bunlar arasında şunlar yer alır:

  • HTML 4'te tanımlanan ve belgeler içine rastgele içerik yerleştirmek için kullanılan object öğesi (XHTML 1.1 altında inline frame'lerin yerini alır)[4]

Avantajları ve dezavantajları

[değiştir | kaynağı değiştir]

Bant genişliği kullanımı açısından;

HTML, ağ tarayıcısı (browser) üzerinde oluşturulurken, JavaScript işlemleri ve işlenecek veriler kullanıldığında, sunucudan gelen sayfa bilgisi gerektiğinden daha az yer kapladığından AJAX web sayfalarının görece daha hızlı yüklendiği gözlemlenebilir.

İçeriğin “isteğe bağlı olarak yüklenmesi”nin yanı sıra, bazı web uygulamaları önce Olay Yöneticilerini (event handler), ardından ilgili fonksiyonları indirir. Bu teknik, karmaşık yapıya ve işlevselliğe sahip web uygulamalarının ihtiyaç duyduğu yüksek bant genişliği tüketimini önemli ölçüde azaltır.

Erişilebilirlik

[değiştir | kaynağı değiştir]

Web uygulamalarında Ajax teknolojilerinin kullanılması, bilgisayar erişilebilirliği konusunda araçlar geliştiren tasarımcılar için pek çok sorunu beraberinde getirir. Ayrıca, ABD'de birçok devlet destekli geliştirme projesinde Section 508 gibi Amerikan uyum standartlarına sıkı şekilde uyulması gerekmektedir. Bu standartlara uyulmaması, bazı durumlarda bilgisayar uyumluluğuyla ilgili iş anlaşmalarının iptaline ve hukuki problemlere yol açabilmektedir.

Bu nedenle, Ajax ile hazırlanmış çözümlerin büyük bir kısmı grafik tabanlı tarayıcılara yönelik olduğundan, geliştiriciler diğer platform ve tarayıcı kullanıcılarının ihtiyaçlarını da karşılamak zorundadır.

Ajax ile web programlama

Web tasarımcıları, web tarayıcısının tüm sayfayı yeniden yüklemesine gerek kalmaksızın veri işlenebildiği durumlarda bazen web sayfasının sadece belirli bölümlerinde Ajax kullanabilir. Ajax kullanamayanlar ise sayfanın tamamını yenilemeye ve yüklemeye devam edebilmelidir. Geliştiriciler, Ajax destekleyen tarayıcılarda daha gelişmiş özellikler sunsalar da, erişilebilirlik başta olmak üzere Ajax içermeyen ortamlardaki kullanıcıların deneyimini kısıtlamamalıdır.

Ajax Nerede Kullanılır

[değiştir | kaynağı değiştir]

Ajax, web üzerinde hemen hemen birçok alanda kullanılır. Örneğin, Google Maps'te kullanıcı harita üzerinde bir bölgeyi çektiğinde, sayfa tamamen yeniden yüklenmeden bilgi anında güncellenir. Tüm bu işlemler Ajax'ın asenkron (eşzamansız) özelliği sayesinde gerçekleşir. Ajax, aynı zamanda Gmail'de de kullanılmaktadır. Bilgiler yüklenirken sayfanın tamamının yeniden yüklenmesine gerek kalmaz. Yeni bir posta geldiğinde, gelen kutusuna otomatik olarak eklenir. Bu, kullanıcının sürekli yenileme düğmesine basma ihtiyacını ortadan kaldırır. Google Translate de Ajax kullanır; kullanıcı bir metni bir dilden başka bir dile çevirmek için yazmaya başladığında, Ajax o an diğer dildeki çeviriyi aynı sayfada anında gösterir.

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ "HTTPRequest-enabled RS". microsoft.public.scripting.remote newsgroup. 18 Haziran 2002. 29 Mayıs 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Ağustos 2006. 
  2. ^ "ARSCIF: A Framework for Asynchronous Remote–Script Callback Invocation". Sebastiano Vigna. 6 Eylül 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Ağustos 2006. 
  3. ^ "Cutting Edge: Script Callbacks in ASP.NET". MSDN Magazine. 8 Ağustos 2004. 4 Aralık 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Ağustos 2006. 
  4. ^ The Document Object Model (DOM) Level 3 Load and Save Specification 16 Aralık 2006 tarihinde Wayback Machine sitesinde arşivlendi.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Web uygulama iskeleti
  • COMET (programlama)
  • HTTP/2
  • Google Arama
  • ActionScript
  • Node.js
  • HTML5
  • WebSocket
  • Web 2.0
  • XMLHttpRequest

Örnekler

[değiştir | kaynağı değiştir]
  • Google Maps 13 Ekim 2014 tarihinde Wayback Machine sitesinde arşivlendi.
  • Gmail 29 Eylül 2005 tarihinde Wayback Machine sitesinde arşivlendi.
  • Google Pages 25 Eylül 2004 tarihinde Wayback Machine sitesinde arşivlendi.
  • Mint 19 Eylül 2020 tarihinde Wayback Machine sitesinde arşivlendi.
  • Google Suggest 4 Kasım 2005 tarihinde Wayback Machine sitesinde arşivlendi.
  • ZK Demo 9 Nisan 2006 tarihinde Wayback Machine sitesinde arşivlendi.

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • PHP ile Ajax kullanımı 23 Ağustos 2010 tarihinde Wayback Machine sitesinde arşivlendi.
  • Ajax'ın Temelleri 5 Mayıs 2008 tarihinde Wayback Machine sitesinde arşivlendi.
  • AJAX kategorisi - Open Directory Project kapsamında.
  • ASP'de Ajax örnekleri

AJAX kütüphaneleri

[değiştir | kaynağı değiştir]
  • MIT.FESA – Hızlı, Kolay ve Akıllı AJAX nesnesi.
  • PHPLiveX
  • EceX [ölü/kırık bağlantı]
  • jQuery 14 Ağustos 2009 tarihinde Wayback Machine sitesinde arşivlendi.
  • ajaks
  • Dojo 29 Mayıs 2006 tarihinde Wayback Machine sitesinde arşivlendi.
  • civciv-lib
  • moofx 1 Haziran 2006 tarihinde Wayback Machine sitesinde arşivlendi.
  • behaviour 29 Mayıs 2006 tarihinde Wayback Machine sitesinde arşivlendi.
  • Prototype
  • Sardalya - (Sar)mal (D)inamik (Al)t(ya)pısı (İngilizce) 18 Mayıs 2006 tarihinde Wayback Machine sitesinde arşivlendi.
  • script.aculo.us 1 Aralık 2010 tarihinde Wayback Machine sitesinde arşivlendi.
  • XScript [ölü/kırık bağlantı]
  • Xajax
  • Microsoft ASP.NET Ajax 25 Temmuz 2008 tarihinde Wayback Machine sitesinde arşivlendi.
  • g
  • t
  • d
Web Teknolojileri
Programlama
PHP · Python · Ruby · ASP · ASP.NET · JavaServer Pages
İşaretleme Dilleri
HTML · DHTML · XHTML · XML
Web 2.0
Web 2.0 · Ajax · JQuery
Web 3.0
Anlamsal ağ
Geliştirme Araçları
Adobe Dreamweaver · Zend Studio · Visual Studio Code
Grafik Araçları
Adobe Photoshop · Adobe Fireworks · GIMP · Inkscape
Altyapı & Servisler
Barındırma hizmeti · Apache · LiteSpeed · IIS · MariaDB · MySQL · Microsoft SQL Server · htaccess
Template
Smarty
Diğer
Arama motoru optimizasyonu
İçerik Yönetim Sistemleri
WordPress · Joomla! · Drupal · CMS MS
E-Ticaret Sistemleri
Magento · OpenCart · OS Commerce · Shopify
Framework
CakePHP · CodeIgniter · Laravel · PHP Faces · Django · Ruby on Rails
Otorite kontrolü Bunu Vikiveri'de düzenleyin
  • BNE: XX559296
  • BNF: cb15511178c (data)
  • GND: 7515401-8
  • LCCN: sh2006004062
  • NKC: ph378903
  • NLI: 987007556721605171
  • SUDOC: 108891712
"https://tr.wikipedia.org/w/index.php?title=AJAX_(programlama)&oldid=36485312" sayfasından alınmıştır
Kategori:
  • AJAX
Gizli kategoriler:
  • Webarşiv şablonu wayback bağlantıları
  • Ölü dış bağlantıları olan maddeler
  • BNE tanımlayıcısı olan Vikipedi maddeleri
  • BNF tanımlayıcısı olan Vikipedi maddeleri
  • GND tanımlayıcısı olan Vikipedi maddeleri
  • LCCN tanımlayıcısı olan Vikipedi maddeleri
  • NKC tanımlayıcısı olan Vikipedi maddeleri
  • NLI tanımlayıcısı olan Vikipedi maddeleri
  • SUDOC tanımlayıcısı olan Vikipedi maddeleri
  • Sayfa en son 16.55, 6 Aralık 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
AJAX (programlama)
Konu ekle