พ่อหนุ่มคนนี้แหล่ะ ที่ทำให้คำว่า AJAX ดัง เอาหน้าตามาให้ดู
พี่แกชื่อ Jesse James Garrett แห่ง http://www.adaptivepath.com/
โดยเมื่อประมาณปีสองปีก่อน พี่แก ได้เขียนบทความขึ้นมาอันหนึ่งเกี่ยวกับเทคโนโลยีตัวหนึ่งที่ Google เอามาใช้ในระบบ gmail , google suggest โดยพี่แกนิยามคำย่อขึ้นมาจากลักษณะการทำงานของเทคนิคนี้ว่า AJAX - Asynchronus Javascript and XML
ภาพหนึ่งภาพทำให้คนเห็นเข้าใจง่ายกว่าคำหนึ่งพันคำ ว่า AJAX ทำอะไร
ถ้ายังไม่เข้าใจ ค่อยๆดูรูปหาจุดที่มันต่างกัน
จะเห็นว่าส่วนประกอบที่มารวมเป็น AJAX มีดังต่อไปนี้
จะเห็นได้ว่าไม่มีอะไรใหม่เลย ยกเว้นแต่ XMLHttpRequest
การทำงานของระบบแบบ AJAX ว่าง่ายๆก็คือการเอา Javascript มาใช้ประกอบกับการทำเว็บ โดยที่จะรีเควสข้อมูลไปเมื่อจำเป็นเท่านั้น ส่วนงานไหนที่ไม่ได้ต้องการข้อมูลจาก server ก็ทำงานไปได้เลย
ส่วนงานที่จำเป็นต้องได้ข้อมูลมานั้น เมื่อได้รับข้อมูลกลับมา(ในรูปแบบ XML, Javascript ในเพจนั้น ก็จะนำข้อมูลนั้น มาจับใส่ในหน้าเพจโดยไม่จำเป็นต้องรีเฟรชหน้าเว็บใหม่
คำว่า Asynchronous คือจุดเด่นที่สำคัญของเทคนิคนี้
ปกติงานใดๆที่ต้องมีการคุยกัน หากมาสังเกตุกันในวิธีพูดคุย จะมีสองแบบคือ synchronous กับ asynchronous โดย sync นั่นว่าง่ายๆก็คือ ถ้าฉันพูดสวัสดีไป เธอต้องพูดสวัสดีกลับมาก่อน ฉันถึงจะเริ่มคุยประโยคอื่นต่อ ส่วน async คือ ฉันไม่รอเธอตอบกลับมาหรอก เสียเวลา ฉันพูดไปทำงานอื่นไปด้วยดีกว่า
ลักษณะของการติดต่อระหว่าง Clicent / Server ก็เช่นกัน
ปกติการ request - response ของการทำงานในรูปแบบ web นั้น เมื่อเรา submit form เพื่อคิวรี่ Web browser ของเราจะส่ง message ไปบอก server ว่าช่วยทำงานนี้ให้ฉันหน่อย จากนั้นก็ รอ ร๊อ รอ รอ แล้วรอเล่า รอจน server จะทำงานเสร็จและส่งคำตอบที่รอคอยกลับมา
ซึ่งมันช้า ช้าได้จากหลายสาเหตุ ระบบเนตเน่า server ทำงานหนัก และอื่นๆ
ดังนั้น การทำ async กับตัวเว็บ จึงมาช่วยแก้ปัญหานี้ได้
โดยหน้าเพจจะส่งรีเควสไปหา server เมื่อจำเป็นเท่านั้น และข้อมูลที่ได้รับกลับมาก็จะถูกอัพเดตได้โดยไม่ต้องเอาข้อมูลของหน้าที่ไม่ต้องการอัพเดตเช่นรูปภาพของ header / html code ส่วนอื่นที่ไม่มีการเปลี่ยนแปลงในหน้าเวบนั้นอีกรอบ
ก่อนใช้ - หลังใช้
จะเห็นได้ว่ามันไม่มีอะไรดีขึ้นเลย :S
เสียเมื่อไหร่หล่ะ (ไม่งั้นจะทำไปทำไม)
การทำงานแบบ AJAX จะทำให้ลดโหลดของการรีเควสข้อมูลลง โดยแตกงานเป็นงานเล็กๆหลายงาน งานใดที่ทำได้เลย ก็จะทำไปเลยด้วยความสามารถของ javascript งานใดที่ต้องเอาข้อมูลจาก server มาใช้ก็ค่อยส่งคำขอไปหา server
Webbased Application เช่น เราสามารถใช้ Spreadsheet software (Microsoft excel - ตัวอย่าง) หรือโปรแกรมต่างๆได้บน website ไม่ต้องเสียเวลาลงโปรแกรมในเครื่องเราอีกต่อไป มีแค่ webbrowser อย่างเดียวพอ http://spreadsheets.google.com
Interactive Application ระบบเว็บที่จะใช้งานง่ายขึ้นเรื่อยๆ http://labs.google.com
ปัจจุบัน 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
เป็นยุคของ Rich Internet applications (RIA) จริงๆ
เมื่อ presentation framwork และ bandwidth ที่สูงมากขึ้น ทำให้เรื่องของ webbase application เป็นไปได้จริงมากยิ่งขึ้น