Algorithm of Your Life. AJAX ve...

Benzer belgeler
Basit bir web uygulaması

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır.

YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama

Web 2.0 Örnek Eğitim Notu

AJAX WITH JQUERY. Ajax Hikayesi MODULE 11

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

jquery kütüphanesini sayfaya eklemek için iki yöntem vardır. 1. Direkt jquery nin sitesinden ekleme

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,

Öğr. Gör. Serkan AKSU 1

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

Üst Düzey Programlama

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

PROGRAMLAMA DERSİ 1. İNTERNET

YZM 3215 İleri Web Programlama

Üst Düzey Programlama

Hacettepe Üniversitesi Bilgisayar Müh. Bölümü 2005 Güz Dön. Bil 447 Yazılım Müh. Lab. Dersi Araştırma Çalışması. 1. Giriş Ajax nedir?

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

IBM Türk Yazılım Grubu. Web 2.0 ve IBM. Ali BEKLEN IBM Türk

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

JAVASCRIPT JAVASCRIPT DİLİ

AJAX ARAŞTIMA RAPORU

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

İNTERNET PROGRAMLAMA II. Tanımlar

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Google Search API ile ajax arama

Üst Düzey Programlama

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Web Önyüzü Nasıl Olmalı? <Markup> : İskelet {css} : Görünüm JavaScript() : Etkileşim

Client Server Database

Üst Düzey Programlama

Selective Framebusting

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4414

Web Uygulamaları Mimarileri ve Güvenliği

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Kapak Tasarımı: Emre Can ÖZTAŞ

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

Bölüm 10: PHP ile Veritabanı Uygulamaları

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java EE 5 Teknolojileri Jboss Seam

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Web 2.0 ve IBM. Arden AGOPYAN Ali BEKLEN. IBM Türk Yazılım Grubu. IBM Türk Yazılım Grubu. Web 2.0 3/11/ IBM Türk.

1 JAVASCRIPT NEDİR? 1

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI

One ASP.NET. 5 bileşen barındırmaktadır. Web Forms Model View Controller (MVC) Web Pages Web API SignalR

Güncel İnternet Teknolojileri ve PHP 2

WEB SAYFASINA AJAX TEKNĠĞĠNĠN UYGULAMASI APPLYING OF AJAX TECHNIQUES TO WEB PAGES

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

Temel Başlıklar. HTML Formlarının amacı Çalışma şekli Form Action ve Method

CSS3, HTML 5 ve jquery ile Web Tasarımı. Umuthan Uyan

Üst Düzey Programlama

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Programlama Yazılımı ile Web Sitesi Oluşturma

Java Programlama Giriş

Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

Tanımı Problemi 46 Şüpheci Yaklaşım 47 Tamsayı Taşması (Integer Overflow) 47 Tamsayı Taşması Java Uygulaması 48

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Arayüz Geliştirme Dokümantasyonu

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ


Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Mobil Cihazlardan Web Servis Sunumu

1 / 5. Tuğba Üstündağ. İletişim Bilgileri

4.47. WEB DE AJAX TEKNĠĞĠNĠN BANT GENĠġLĠK OPTĠMĠZASYONUNA ETKĠSĠ. Zeynep ÖZER 1 ve Asaf VAROL 2

FireBug eklentisini eklentiyi yazan sitesinden veya FireFox un eklentiler indirebilirsiniz.

JavaScript & DOM XML & JSON

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

Web Tasarımı - Yrd. Doç. Devkan Kaleci 1

WEB PROGRAMLAMA. DERS NOTLARI / JavaScript e Giriş YARD. DOÇ. DR. MEHTAP YALÇINKAYA

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

PHP 1. Hafta 1. Sunum

T.C. HARRAN ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YABANCI DİL SINAVI (İNGİLİZCE) İÇİN SORU ÇÖZÜM TEKNİKLERİ KURSU

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

VISILABS SEGMENT KURULUM KILAVUZU

%20dolor%20sit%20amet&receipents= , &sender=PROAKTIF

0x01 : Zafiyetin İncelenmesi

GNU/Linux ve Özgür Yazılım. Mahir B. Aşut EkoPC Kurucu Ortağı ve Yöneticisi, LKD Üyesi

Spring Security Framework Harezmi Bilişim Çözümleri

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

WEB TASARIMININ TEMELLERİ

C# ile e-posta Göndermek

um%20dolor%20sit%20amet&receipents= , &sender=ILETICELL İstekte gönderilen parametrelerin açıklamaları aşağıdaki gibidir:

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Transkript:

AJAX ve...

Neler Yapcaz? Tanışma Seminere Başlama Seminer Konusunun Anlatılması Seminerin Tamamlanması Vedalaşma 2/30

AJAX da neymiş? 3/30

Web Teknolojilerine Bakın 4/30

AJAX budur... AJAX (Asynchronous JavaScript And XML) Yeni bir teknoloji değildir. Eski köye yeni adet getirmiştir. JavaScript kullanarak sunucu ile bilgi alışverişidir. Web sayfalarının masaüstü (desktop) uygulamaları gibi davranmasını sağlar. 5/30

Ajax ın içinde ne var? JavaScript XML, XHTML CSS, DOM XMLHttpRequest XML JS AJAX DOM CSS XHR 6/30

Bu Teknolojilerle Napılır? JavaScript ile XMLHttpRequest oluşturup, DOM u (Document Object Model) değiştirilir. Tüm sayfa yenilenmez, ilgili alanlar değiştirilir. Kullanıcı etkileşimi sağlanır. 7/30

Yine JavaScript Basit programlama dilidir. Tarayıcı tarafından yorumlanır. Karşılıklı kullanıcı etkileşimini arttırır. Gerçekleşen etkileşim sadece istemci hafızasında kalır (on the fly). Bir çok kısıtı vardır. 8/30

XMLHttpRequest (XHR) AJAX teknolojisinin temelinde yatan nesnedir. 1999 yılında, Microsoft IE5 ile kullanıma açtı. Firefox, Safari ve diğer tarayıcı tarafından desteklendi. ActiveX yerine gerçek bir DOM nesnesi olarak geliştirildi. W3C tarafından standart hale getiriliyor http://www.w3.org/tr/xmlhttprequest/ 9/30

XHR - Devam XMLHttpRequest nesnesi Javascript ile oluşturulur. XMLHttpRequest nesnesi oluşturmanın 3 yolu vardır. var request = new XMLHttpRequest(); var request = new ActiveXObject("Microsoft.XMLHTTP"); var request = new ActiveXObject("Msxml2.XMLHTTP"); Uygulamanın tüm tarayıcılarda çalışması için en doğrusu hepsini yazmaktır. 10/30

XmlHttpRequest (kod örnegi) function getxmlhttprequest { var request = false; try { request = new XMLHttpRequest(); }catch(err1) { try { var request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(err2) { try { var request = new ActiveXObject("Msxml2.XMLHTTP"); }catch(err3) { request = false; } } } return request; } 11/30

XHR ile sonra ne yapacağız? open metodu ile sunucu isteği hazırlanmalıdır. request.open( method, url, asenkron ) method : GET veya POST olmalıdır. url : bilgilerin nereye gönderilecegi Eğer GET kullanılırsa, data URL nin sonuna eklenir Eğer POST kullanılırsa, data bir sonraki asamada eklenir asenkron : true, yapılırsa tarayıcı sunucudan gelen bilgi için beklemez (genelde istenilende budur). 12/30

XHR ile bilgi de gönderiyorum XMLHttpRequest nesnesi olusturulup hazırlandıktan sonra sunucuya send() methodu ile gönderilir. Method olarak GET seçilmişse; request.send(null); Method olarak POST seçilmişse; request.send('var1=' +value1+'&var2='+value2); 13/30

XHR ile gelen cevap nasıl? Sunucudan dönen mesajı almak için öncelikle request nesnesinin onreadystatechange eventi gerçeklestiğinde, hangi metodun çalışacağını belirtmeli ve metodu yazmalıyız. request.onreadystatechange = herhangibirfonksiyon; function herhangibirfonksiyon() { if(request.readystate == 4){ var response = request.responsetext; // gelen mesajın görüntülenmesi islemi burada } } readystate in 4 olması demek gönderilen isteğe karşı bir cevap alınmış demektir. 14/30

Her zaman XML mi yazcaz? <form> First Name: <input type="text" id="txt1" onkeyup="showhint(this.value)"> </form> <p>suggestions: <span id="txthint"></span></p> id="txthint"></span></p> function showhint(str) { if(str.length==0) { document.getelementbyid("txthint").innerhtml=""; return; } xmlhttp=getxmlhttpobject(); if(xmlhttp==null) { alert ("Your browser does not support AJAX!"); return; } var url="gethint.asp"; url="gethint.asp"; url=url+"?q="+str; url=url+"&sid="+math.random(); xmlhttp.onreadystatechange=statechanged; xmlhttp.open("get",url,true); xmlhttp.send(null); } function statechanged() { if (xmlhttp.readystate==4) { document.getelementbyid("txthint").innerhtml=xmlhttp.responsetext; } //Bu //Bu kısımda gelen bilgi direkt txthint in içeriğine yazılıyor, XML ile uğraşılmıyor } 15/30

Bide şekle bakın 16/30 http://www.usturlap.com/node/29

Nerde Kullanılır, Kim Kullanır? Uzaktan erişimli her uygulamada kullanılabilir. İstediğiniz her web tabanlı programlama dili ile kullanabilirsiniz. Yakışıklılar ve Güzeller kullanabilir. 17/30

Çok işe yarar çünkü; Zengin kullanıcı arayüzü sağlar. Formlardaki bilgilerin tamamı, her defasında sunucuya gönderilmez. Bu yüzdende network trafigini azaltır. Sunucu tarafındaki teknolojiden bağımsızdır. (Java,.NET, Php, Ruby, Python) Sayfanın tamamı yerine bir bölümünün yenilenmesini sağlar (Asenkron çalışma) 18/30

Kullanırsam neye üzülürüm Geri (Back) butonu işlevini kaybeder. Her tarayıcı için ayrı kod yazmak gereklidir. JavaScript disable edilmişse çalısmaz. Debug edilmesi çok zordur. İyi derecede sunucu taraflı programlamanın yanısıra, çok iyi JavaScript bilgisi de gereklidir. 19/30

Ajax ın falında ne var? Gelişmiş IDE destekleri yolda MyEclipse 4.1 Open Ajax project (IBM, BEA, Borland, Eclipse, Google, etc.) NetBeans JS plugin Kullanıcıların beklentileri yükseliyor. Daha çok site Ajax kullanacak. 20/30

Ajax a Örnek 21/30

Meraklısına XHR Detayı 22/30

Meraklısına XHR Detayı - Devam 23/30

Yardımcı Araçlar HTML Validator 24/30

Yardımcı Araçlar - DOM Inspector 25/30

Yardımcı Araçlar - JSUnit 26/30

AJAX kütüphaneleri (Girin Bakın) dojo civciv-lib moofx behavior prototype Sardalya - (Sar)mal (D)inamik (Al)t(ya)pısı (İngiliz scriptaculous XScript Xajax PHPLiveX Microsoft ASP.NET Ajax 27/30

Bunlara da Bakın (tr.wikipedia.org) Ajax framework Comet (programming) HTTP streaming Progressive enhancement Reverse Ajax Rich Internet application Single page application Web 2.0 XMLHttpRequest 28/30

Soru mu? Adnan Özgüner ERDURSUN ARF Bilgi Teknolojileri 29/30