โลกปัจจุบัน XML
XHTML ส่วนใหญ่ในเวปที่เราเห็น ๆ กันอยู่นั้นใช้ content type แบบ "text/html" พูดง่าย ๆ มันก็ยังเป็น ต้มยำ tag ที่ทำงานในแบบ XML ไม่ได้เป็น XML ไปเสียทีเดียว
ทำไมน่ะเหรอ? เพราะถ้าเป็น XML จริง ๆ นั้นถ้ามี error แม้เพียงแค่จุดเล็ก ๆ จุดเดียวมันก็จะไม่แสดงผลใดใดเลยทันที จะบอกแต่ว่ามี error อยู่ที่ใด ซึ่งบางทีนั้นก็ดูจะเรื่องมากไปหน่อยสำหรับการนำมาใช้งานจริง ๆ ซึ่งคุณลองคิดดูว่าถ้าเราแบ่งงานกันเป็นส่วน ๆ ในทีมแล้วเมื่อเรานำงานของแต่ละคนที่ทำนั้นเข้ามารวบรวมกัน เราคงต้องลุ้นกันตัวงอ ว่าจะมีส่วนของใครที่ผ่าน และ ส่วนของใครที่นำพาความหายนะมาสู่เพื่อนพ้อง นั่นเป็นเหตุผลว่าทำไมความนิยมของมันจึงลดถอยลงคงเหลือไว้ใช้เพียงบางกรณี ต่างกับเจ้าต้มยำ Tag ของเราถึงแม้ว่าเราจะไม่รู้ตัวว่าเราน่ะ code ไม่ผ่านมาตรฐาน แต่มันก็ยังน่ารักแสดงผลให้เราเห็นอยู่ (อืม ปลื้มดีมั้ยนะ)
ปัญหาใหญ่ คือ เราจะทำไงให้ต้มยำเรามันทำงานแบบ XML จริง ๆ จัง ๆ ซึ่งยังไง๊ ยังไง ก็ทำไม่ได้เพราะ IE6 มันไม่สนับสนุน content type ที่ XHTML 1.0 ต้องใช้จริง ๆ ซึ่งนั่นก็คือ "application/xhtml+xml" ซึ่งเป็นที่ทราบกันแล้วว่าไม่ว่าจะประกาศอะไรอย่างไร IE6 มันก็ดึง Engine เดิมมาประมวลผลในการแสดงผล หาเปลี่ยนไปตามค่า content type ที่เราประกาศไม่ แถมยังไม่สนับสนุนคำสั่ง XML ทั่วไปด้วย ลามไปถึง XHTML namespace อีกต่างหาก และ แค่นั้นยังไม่พอ มันยังไม่รู้จักความเป็น semantics ของแต่ละ elements ใน XHTML ด้วย (เกลียดมันบ้างรึยัง) แถมนิดนึง default browser style sheet ก็เปลี่ยนไม่ได้ด้วยนะ
อย่างไรก็ตาม XHTML 1.0 อนุญาติให้ใช้ content type แบบ "text/html" ซึ่งหมายถึงมัน อนุโลมให้ตัวมันเองสามารถทำงานเหมือนกับ HTML 4.01 ได้ (เพื่อป้องกันการแสดงผลที่ผิดพลาด หรือ การไม่เข้าใจ content type ของบาง browser) ซึ่งนั่นหมายถึง มันก็สามารถเป็นต้มยำ tag ได้เฉกเช่นเดียวกับ HTML 4.01 หรือ ไม่จำเป็นจะต้องทำอะไรเป็นกฏเป็นเกณฑ์เหมือน XML ไปหมด
ที่นี้พอจะมองออกหรือยังครับว่าทำไมความนิยม XML ถึงมีน้อยมาก สาเหตุหลัก ๆ เลยคือ Internet Explorer มันไม่สนับสนุน XML เลย และ เครื่องมือต่าง ๆ ที่นำ XML มาใช้นั้นน้อย เช่น CMS บางกลุ่มบ้างล่ะ Blogging Tools บ้างล่ะ และ Search Engine ในปัจจุบันก็ยังไม่ได้ Index ข้อมูลของ XHTML เป็น XML จริง ๆ นั่นเป็นสาเหตุว่าทำไม ความนิยมของมันน้อย และ ทำไมมันถึงถูกเอาปรับแปลงเป็น XHTML ไปเสีย
XHTML 2 ก็คือ XML
มาถึงปัญหาใหญ่ของ Designer บางคนละทีนี้ ที่ผมกล่าว ๆ มาก็ยังเห็นได้ว่ามีหลาย ๆ คนที่ยังคงใช้ XML ในการช่วยทำงานบางอย่างอยู่บ้างใช่ไหมครับ W3 ก็มองเห็นความจำเป็นตรงนี้ จึงได้ปรับโครงสร้าง และ การทำงาน XHTML ใหม่ใน XHTML 2 นี้ ออกตัวได้เลยว่า มันไม่ใช่ HTML 4.01 แปลงร่างมาให้ทำงานเป็น XML มันเป็นความเหมือนที่แตกต่าง อย่างที่ผมบอกไว้ก่อนหน้าแล้วว่ามันถูกปรับแต่ง elements และ ตัดทิ้ง เพิ่มเติม เพื่อความเป็น semantics ที่มากขึ้น และ ปรับไวยกรณ์การใช้งานในหลาย ๆ การใช้งานของ element ต่าง ๆ และ เท่าที่ได้ลองอ่านดูแล้วการเปลี่ยนแปลง ผมมีความเห็นว่ามันเป็นการเปลี่ยนแปลงไปในทางที่ดีขึ้น ดีขึ้นมากมาก ทำให้ประสิทธิภาพในการเอาไปใช้งาน หรือ ทำงานกับมันนั้นมีความถูกต้องมากขึ้น อย่างไนก็ตาม XHTML 2 ไม่ได้พัฒนามาจากแนวคิดของ Web Developers ทั้งหลาย ยกตัวอย่าง มันไม่ได้กล่าวถึง หรือ ทำต่อในการแก้ไขสิ่งที่ผิดพลาดของ HTML 4.01 และ XHTML 1.0 ในส่วนของการจัดการเกี่ยวกับพื้นที่ต่าง ๆ ของ element, การจัดเก็บข้อมูลลงในฝั่ง local และ สุดท้ายการทำงานร่วมกับ script ต่าง ๆ
XHTML 2 ณ เวลานี้ยังคงอยู่ในขั้นตอนของ working draft อยู่ อาจจะอาศัยเวลาในการพัฒนาอีกหลายปี หรือ อีกเพียงน้อยนิดก็ไม่สามารถจะคาดเดาได้ จะเขียน document ไว้ให้เราตรวจสอบความถูกต้องได้สมบูรณ์เมื่อไหร่ก็ยังไม่สามารถประมาณการณ์ได้ และ ก็ยังไม่มีการสนับสนุนจากผู้พัฒนามากนัก ไม่ว่าจะเป็น Browsers, Search Engine, CMS และ เหล่า Authoring Tools (เท่าที่รู้ น่าจะเป็น Opera และ FireFox เท่านั้นนะตอนนี้) อย่าง Apple ก็ประกาศออกมาแล้วว่า
"We declined to participate in the XHTML 2 Working Group because we think XHTML 2 is not an appropriate technology for the web." (Maciej Stachowiak)
ก็แปลว่า เฮาสิยังบ่เข่าไปมี้ซวนฮ่วมน๊ำ สุ่มผุพัฒน้า XHTML 2 เพราะว่าเฮ๊าคึดว่า XHTML 2 นั่นยั้ง บ่ถือว่าเป็น เทคโน่โลยี่ ที่สิมาผูกขาด สำหรับเวปในปั๊จจุ๊บั่นนี้ (เราจะยังไม่เข้าไปมีส่วนร่วมในกลุ่มพัฒนา XHTML 2 เพราะเราคิดว่า XHTML 2 นั้นยังไม่ถือว่าเป็นเทคโนโลยีที่จะมาผูกขาด สำหรับเวปในปัจจุบันนี้)
Web Application 1.0 นั้นมันเป็นมากกว่า HTML 5
Web Application 1.0 (WA1) ระบุ และ พัฒนาความสามารถ ของ HTML แต่มันไม่ใช่ทั้งหมดของหน้าที่ของมัน มันเป็นมากกว่านั้น มันอาจจะต้องพัฒนา และ ระบุความสามารถของ XHTML 1.0 ด้วย (ภายใต้ความเข้าใจผิด หรือ เรียกกันผิด ๆ ว่า XHTML5) และ อาจจะเป็น HTML DOM ภายใต้ชื่อ DOMS HTML ในเมื่อ HTML 4.01 เป็น SGML-based เจ้า HTML5 ก็จะเป็นต้มยำ tag ของเราต่อไปในอนาคตถ้ามันเป็นสิ่งที่ถูกเลือกให้มาเป็นจ้าวในการยึดครองอำนาจกำหนดอนาคต กำหนดชะตาชีวิตของพวกเราทุกคนตรงนี้ พูดง่าย ๆ ว่ามันไม่ได้ถูกพัฒนาขึ้นมาเพื่อความถูกต้องของ Interface และ โครงสร้างของภาษา หรือ เพื่อจะมาเป็น semantics แต่มันถูกพัฒนามาเพื่อการแสดงผลที่ถูกต้องสวยงามเพียงอย่างเดียว (Interface) ประโยชน์อย่างอื่นหามีไม่ ต่างกับ XHTML 2 ที่พัฒนามาเพื่อความเป็น semantics อย่างแท้จริง และ เพิ่มความสามารถให้ Web ในการใช้ Application Platform (คุณคิดว่าคุณอยากจะเลือกใช้สิ่งไหน)
แต่อย่างไรก็ตาม XHTML 2 ยังไม่ได้ถูกสนับสนุนมากนักจากผุ้พัฒนาต่าง ๆ กลับกัน HTML 5 กลับถูกสนับสนุนจาก browser ตัวหลัก ๆ ใหญ่ ๆ ที่เรารู้จักกันในตลาดโลก ยกเว้น Microsoft (ไม่รู้มีแผนอะไร รึเปล่า) แม้ Spec จะยังเขียนไม่เสร็จ แต่หลาย ๆ อย่างถูกนำมาเสริมเพิ่มเติมลงใน browser ไปซะแล้ว อาทิ canvas ที่ถูกสนับสนุนให้ใช้ได้แล้วใน Mozilla, Safari, และ Opera เป็นเรื่องน่ายินดี หรือ เศร้าหมองกันดี
ครั้งนี้ผมขอบ่นเอาไว้เท่านี้ก่อน ไว้ต่อครั้งต่อไปในตอนที่ 3 แต่อยากฝากนิดนึง สำหรับ เพื่อน ๆ พี่ ๆ น้อง ๆ ผู้อ่านว่า มีความเห็นอย่างไรกับการพัฒนา การย่างก้าวแบบสับสน ๆ นี้ สิ่งที่ผมเกิดความสงสัยในใจ และ อยากจะรู้ ณ เวลานี้คือ ทำไม ณ เวลานี้ Modern Browser ต่าง ๆ ผลักดัน สนับสนุน XHTML 1.0 เพราะการใช้งานที่เป็น semantics กว่า แต่ในส่วนของสิ่งที่กำลังพัฒนา กลับ กลับตาละปัดไปสนับสนุน HTML 5 ซึ่งเป็นสิ่งที่พัฒนามาในแบบยุ่งเหยิงใน สายตาของผม จะพยายามหาข้อมูลเพื่อมาตอบข้อสงสัย แต่ถ้ามี เพื่อน ๆ พี่ ๆ น้อง ๆ ท่านใดมาไข ข้อสงสัยกระจ่างแจ้งไว้แล้ว ผมก็จะให้ credit ไว้ที่ comment ข้างล่างนี้เลย เจอกันรอบหน้าครับ
8 Responses to HTML5 XHTML2 และ อนาคตของเวป (2)