GotoKnow
  • เข้าระบบ
  • สมัครสมาชิก
  • แผงจัดการ
  • ออกจากระบบ
GotoKnow

AJAX - Asynchronus Javascript and XML

AJAX - Asynchronus Javascript and XML

AJAX - Asynchronus Javascript and XML 

พ่อหนุ่มคนนี้แหล่ะ ที่ทำให้คำว่า AJAX ดัง เอาหน้าตามาให้ดู

พี่แกชื่อ Jesse James Garrett แห่ง http://www.adaptivepath.com/

 

Jame

โดยเมื่อประมาณปีสองปีก่อน พี่แก ได้เขียนบทความขึ้นมาอันหนึ่งเกี่ยวกับเทคโนโลยีตัวหนึ่งที่ Google เอามาใช้ในระบบ gmail , google suggest โดยพี่แกนิยามคำย่อขึ้นมาจากลักษณะการทำงานของเทคนิคนี้ว่า AJAX - Asynchronus Javascript and XML

ภาพหนึ่งภาพทำให้คนเห็นเข้าใจง่ายกว่าคำหนึ่งพันคำ  ว่า AJAX ทำอะไร

AJAX work

ถ้ายังไม่เข้าใจ ค่อยๆดูรูปหาจุดที่มันต่างกัน  

จะเห็นว่าส่วนประกอบที่มารวมเป็น AJAX มีดังต่อไปนี้

จะเห็นได้ว่าไม่มีอะไรใหม่เลย ยกเว้นแต่ XMLHttpRequest

 การทำงานของระบบแบบ AJAX ว่าง่ายๆก็คือการเอา Javascript มาใช้ประกอบกับการทำเว็บ โดยที่จะรีเควสข้อมูลไปเมื่อจำเป็นเท่านั้น ส่วนงานไหนที่ไม่ได้ต้องการข้อมูลจาก server ก็ทำงานไปได้เลย

ส่วนงานที่จำเป็นต้องได้ข้อมูลมานั้น เมื่อได้รับข้อมูลกลับมา(ในรูปแบบ XML, Javascript ในเพจนั้น ก็จะนำข้อมูลนั้น มาจับใส่ในหน้าเพจโดยไม่จำเป็นต้องรีเฟรชหน้าเว็บใหม่

ใช้ AJAX แล้วมันจะดีอย่างไร ?

คำว่า Asynchronous คือจุดเด่นที่สำคัญของเทคนิคนี้

ปกติงานใดๆที่ต้องมีการคุยกัน หากมาสังเกตุกันในวิธีพูดคุย จะมีสองแบบคือ synchronous กับ asynchronous โดย sync นั่นว่าง่ายๆก็คือ ถ้าฉันพูดสวัสดีไป เธอต้องพูดสวัสดีกลับมาก่อน ฉันถึงจะเริ่มคุยประโยคอื่นต่อ ส่วน async คือ ฉันไม่รอเธอตอบกลับมาหรอก เสียเวลา ฉันพูดไปทำงานอื่นไปด้วยดีกว่า

ลักษณะของการติดต่อระหว่าง Clicent / Server ก็เช่นกัน

ปกติการ request - response ของการทำงานในรูปแบบ web นั้น เมื่อเรา submit form เพื่อคิวรี่ Web browser ของเราจะส่ง message ไปบอก server ว่าช่วยทำงานนี้ให้ฉันหน่อย จากนั้นก็ รอ ร๊อ รอ รอ แล้วรอเล่า รอจน server จะทำงานเสร็จและส่งคำตอบที่รอคอยกลับมา

ซึ่งมันช้า ช้าได้จากหลายสาเหตุ ระบบเนตเน่า  server ทำงานหนัก และอื่นๆ

ดังนั้น การทำ async กับตัวเว็บ จึงมาช่วยแก้ปัญหานี้ได้

โดยหน้าเพจจะส่งรีเควสไปหา server เมื่อจำเป็นเท่านั้น และข้อมูลที่ได้รับกลับมาก็จะถูกอัพเดตได้โดยไม่ต้องเอาข้อมูลของหน้าที่ไม่ต้องการอัพเดตเช่นรูปภาพของ header / html code ส่วนอื่นที่ไม่มีการเปลี่ยนแปลงในหน้าเวบนั้นอีกรอบ

ก่อนใช้ - หลังใช้

Classic web

จะเห็นได้ว่ามันไม่มีอะไรดีขึ้นเลย :S

 

เสียเมื่อไหร่หล่ะ (ไม่งั้นจะทำไปทำไม)

การทำงานแบบ AJAX จะทำให้ลดโหลดของการรีเควสข้อมูลลง โดยแตกงานเป็นงานเล็กๆหลายงาน งานใดที่ทำได้เลย ก็จะทำไปเลยด้วยความสามารถของ javascript งานใดที่ต้องเอาข้อมูลจาก server มาใช้ก็ค่อยส่งคำขอไปหา server

 

 

อะไรที่จะเกิดขึ้นในอนาคต

Webbased Application เช่น เราสามารถใช้ Spreadsheet software (Microsoft excel - ตัวอย่าง) หรือโปรแกรมต่างๆได้บน website ไม่ต้องเสียเวลาลงโปรแกรมในเครื่องเราอีกต่อไป มีแค่ webbrowser อย่างเดียวพอ http://spreadsheets.google.com

Interactive Application ระบบเว็บที่จะใช้งานง่ายขึ้นเรื่อยๆ http://labs.google.com

การชิงตลาดระหว่าง 2 มหาอำนาจ 

ปัจจุบัน Microsoft กินส่วนแบ่งการตลาดทางด้าน software สูง และมีอำนาจก็เพราะ Windows ซึ่งเป็น Operation System ที่ได้รับความนิยมมานาน และยังเป็นอันดับ 1 ในปัจจุบัน ซึ่ง windows - application ของ Microsoft นั้น ขึ้นชื่อในเรื่องของ GUI ที่มีความง่ายในการใช้งานมาก แต่ก็มีข้อเสียคือการผูกขาดตลาด ทำให้ราคาของสินค้าสามารถตั้งได้อย่างที่ไม่ต้องง้อลูกค้า

สิ่งที่ Google น่าจะมองเห็นคือ จุดที่จะแย่งส่วนแบ่งการตลาด โดยการพัฒนา application ให้ความสามารถและความง่ายในการใช้งานใกล้เคียงกัน ในราคาที่ถูกกว่า (ฟรี) การแจกให้ใช้ฟรีนั้น นอกจากจะมีข้อดีด้านราคาแล้ว ยังก่อให้เกิดการสร้าง Loyalty ของ User Google กับ Brand อีกด้วย

การลงทุนที่สูง ในการจะพัฒนาระบบทุกอย่างให้สู้กับ Microsoft ได้ ทำให้ Google ต้องหาวิธีในการลดต้นทุน การผลักดันให้เกิดชุมชนนักพัฒนา opensouce การพัฒนาให้ทุกบริการของ Google มี API ที่นักพัฒนาทั่วไปสามารถลงทะเบียน และ Call google service ฟรี(ในระดับ traffic ไม่สูง) หรือการสนับสนุน AJAX ด้วยการแจก Google ทำให้น้ำหนักของนักพัฒนาหลายส่วนเอนเอียงมาในฝั่ง google มากขึ้น

แน่นอนว่าสิ่งที่ Google ทำนี้ ย่อมสะเทือนวงการ software พอควร หาก apps พวกนี้ได้รับการพัฒนาจนถึงระดับที่ใช้งานได้เทียบเท่ากับ application บน PC 

 Microsoft เองก็เริ่มมองเห็นถึงรูปแบบการคุกคามดังกล่าว เลยพยายามตอบโต้ด้วยวิสัยทัศน์ (ใหม่ ???) ออกแคมเปญ live.com ขึ้นมา เพราะขืนมัวภูมิใจกับความสำเร็จเก่าๆอยู่ ส่วนแบ่งการตลาดอาจฮวบได้โดยไม่รู้ตัว

เพื่อตอบโต้รูปแบบบริการฟรี ที่นับวันคุณภาพจะดีขึ้นเรื่อยๆของ Google, Microsoft จึงยก Live.com ตอบโต้ โดยประกาศว่าจะเป็นศูนย์รวมบริการต่างๆของ Microsoft เช่น MSN, Office live, Map, Shopping โดยให้ใช้บริการได้ฟรี ซึ่งรายได้จะมาจากการโฆษณาด้วยแบนเนอร์กับผู้ใช้งานระบบเพียงเท่านั้น  www.live.com

โอกาสของนักลงทุนทางอินเตอร์เนตในบ้านเรา ยุคที่ไม่ไกลนักนี่ น่าจะอยู่ที่การพัฒนาระบบให้เชื่อมต่อกับ เจ้าใหญ่ๆทั้งสองที่ต่างกันแข่งขันชิงความเป็น 1 ในฐานะผู้บริการให้ได้

อ้างอิง
AJAX by James

 http://www.adaptivepath.com/publications/essays/archives/000385.php

Windows live www.live.com

Google : http://labs.google.com

 

บันทึกนี้เขียนที่ GotoKnow โดย 

คำสำคัญ (keywords): googleandmicrosoftajaxxmlliveasynchronusjavascript
หมายเลขบันทึก: 34360
เขียน:
แก้ไข:
ความเห็น: 5
อ่าน:
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ

ความเห็น (5)

ดีใจจังเจอคนคอเดียวกัน :D

ขอบคุณค่ะ ข้อมูลน่าสนใจมาก

เป็นยุคของ Rich Internet applications (RIA) จริงๆ
เมื่อ presentation framwork และ bandwidth ที่สูงมากขึ้น ทำให้เรื่องของ webbase application เป็นไปได้จริงมากยิ่งขึ้น

 

ทีแรกเห็น Ajax ก็อยากดูบอลเลย :-P
เป็นการเริ่มต้นที่ดีสำหรับข้อมูลนี้