Skip to content


Ajax แค่ไหนถึงจะพอ และข้อเสียของ Ajax

Ajax เป็นเทคโนโลยีที่ดีครับ สามารถช่วยลด Overhead และเพิ่ม Throughput ได้ดี ใคร ๆ ก็หันมาเขียน Ajax กันมากขึ้น ไม่เว้นแม้แต่เว็บเล็ก ๆ ที่เกิดขึ้นใหม่ ๆ แต่คำถามที่เกิดขึ้นในใจของผม และคิดว่าอาจจะเกิดขึ้นในใจของหลาย ๆ คนด้วยเช่นกัน นั่นก็คือ ข้อเสียของ Ajax ล่ะ นั่นสิครับ งั้นเรามาลองพิจารณากันเป็นข้อ ๆ ถึงข้อเสียของ Ajax กันดีกว่าครับ

  • User Experience ที่เปลี่ยนไป แน่นอนครับ เมื่อเราใช้ Ajax มันย่อมส่งผลกระทบถึง User แน่ ๆ อยู่แล้ว User หลาย ๆ คนคาดหวังว่า ทุกครั้งที่คลิก หน้าจะต้องถูกโหลดใหม่เสมอ ทำให้ User ประเภทนี้ เกิดความไม่เคยชินถึงความเปลี่ยนแปลงของข้อมูลบนเว็บได้ครับ แล้วก็อาจจะเกิดคำถามที่ว่า คลิกแล้วไม่เห็นไปไหนเลย เกิดขึ้นได้ครับ
  • Search Engine Optimization เมื่อเราทำเว็บเป็น Ajax ข้อมูลจะถูกส่งมาให้เว็บบราวเซอร์ก็ต่อเมื่อมีการรันสคริปเพื่อไปดึงข้อมูลจากเว็บเซิร์ฟเวอร์ ในขณะที่ Search Engine Bot ไม่สามารถรันสคริปพวกนี้ได้ ทำให้เวลาที่ Search Engine Bot อ่านหน้าเว็บของเรา ก็จะได้แต่โครงสร้างของหน้าเว็บเปล่า ๆ กลับไป
  • Javascript Compatibility ปัญหาของเรื่องนี้มันก็คือเรื่องของ Cross-browser Compatibility นั่นแหละครับ เว็บบราวเซอร์แต่ละตัวก็สนับสนุน ECMA Script ที่แตกต่างกันไป ทำให้ในขั้นตอนการพัฒนาเว็บด้วย Ajax ผู้พัฒนาจำเป็นต้องนึกถึงตรงนี้ด้วยครับ

นอกจากนี้แล้ว การใช้ Ajax มากเกินไป อาจจะทำให้เกิดผลเสียขึ้นแทนที่จะเกิดผลดีก็ได้ ยกตัวอย่าง เว็บไซต์ A เป็นเว็บพอร์ทัลที่มีการแสดงข้อมูลในเรื่องต่าง ๆ ใส่ในกรอบไว้ สมมติให้ว่ามี 20 กรอบ ถ้าข้อมูลในแต่ละกรอบ ต่างก็ไปดึงจากเว็บเซิร์ฟเวอร์ด้วย Ajax ช่องละครั้ง สิ่งที่เกิดขึ้นคือ จำนวน Connection ที่เกิดขึ้นเพิ่มมาอีกอย่างน้อย 20 ครั้ง

สมมติว่า เว็บไซต์ A นี้ มีรูปที่จะต้องแสดง (รวมรูปกรอบ รูปภาพต่าง ๆ Flash) ทั้งหมด 300 รูป และมีการเรียก Ajax อีก 20 ครั้ง Javascript ไฟล์อีก 10 ไฟล์ และ css อีก 5 ไฟล์ รวม Connection ที่จะเกิดขึ้นทั้งหมดจากเครื่องผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ คือ 336 ครั้ง (รวมครั้งแรกที่เรียกหน้าด้วยอีก 1 ครั้ง)

นี่คือเหตุการณ์สำหรับ User 1 คนที่จะเกิดขึ้นกับเว็บไซต์เรานะครับ เว็บเราดัง ๆ หน่อย มีผู้ใช้ 10,000 คนในช่วงเวลาเดียวกัน ก็จะเกิดขึ้น 3,360,000 ครั้ง ในช่วงเวลานั้น ๆ ลองนึกภาพตามดูนะครับ ว่าเว็บเซิร์ฟเวอร์จะทำงานหนักขนาดไหน

หนทางในการลด Connection ลงมีหลายวิธีครับ ผมจะพูดถึงเฉพาะในเรื่อง Ajax เท่านั้น คือ ลองพิจารณาว่า ถ้าการโหลดหน้าครั้งแรก ไม่ต้องเป็น Ajax ล่ะ แต่ครั้งถัดไปค่อยใช้ Ajax แสดงว่า User 1 คน จะเกิด Connection ไปยังเว็บเซิร์ฟเวอร์ 316 ครั้ง ถ้า 10,000 คนก็ 3,160,000 ครั้ง ลดลงไปได้ 200,000 ก็ยังดีครับ

ผมสรุปตอนท้ายว่า Ajax เป็นเทคโนโลยีที่ดีก็ต่อเมื่อเรานำไปใช้ให้พอดี และเหมาะสมกับงานครับ

ขอให้สนุกกับการใช้ Ajax นะครับ

Share

Posted in Ajax, HTML.

Tagged with , , , , .


3 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Mr.P says

    ผมใช้ Ajax เฉพาะส่วนที่ต้องการความรวดเร็วและความสวยงาม
    เช่นหน้า Popup ก็ Ajax หน้าแสดงบทความก็ PHP ธรรมดา จบ…

  2. Mr.B says

    1 :User Experience ที่เปลี่ยนไป
    ผมว่าไม่นะครับเพราะ user ส่วนใหญ่เริ่มจากใช้ window application ทำไมถึงจะไม่ชินล่ะครับ
    * คลิกอะไรไม่เกิดขึ้นเลย : ก็ทำให้เห็นว่ามันเกิดสิครับ เช่นใส่ animation ต่างๆเข้าไป
    2 :Javascript Compatibility : ก็เขียนให้มันกลางสิครับ และก็ test หลายๆ browser หน่อย

  3. GPS ติดรถ says

    บางครั้งถ้าใช้ AJAX มากไป มันก็ทำให้ตีกันได้กับสคริปตัวอื่นๆ ไม่แน่ใจว่าสมาชิกคนอื่นเป็นหรือไม่
    เช่นใช้ Tool บางตัวร่วมกับ CMS พวก Joomla แทนที่จะให้ผลปกติกลับประหลาด เช่นพวก Search Extension เป็นต้น



Some HTML is OK

or, reply to this post via trackback.

*