เอาล่ะ มาต่อกันเรื่อง xhtml หรือ html 5
ขอเตือนก่อนว่ายาว

ตูพยายามจะเรียบเรียงให้เข้าใจง่ายๆ ที่สุดเท่าที่จะทำได้แล้วกัน
ก่อนอื่นต้องขอเกริ่นถึงที่มาที่ไปของ
HTMLที่เป็นเบื้องหลังของเว็บไซต์ต่างๆ ที่เราเห็นกันทุกวันนี้ก่อนแล้วกัน
ก่อนหน้าที่
Tim Berners-Lee จะคิดค้น
และพัฒนา HTML ขึ้นมาในปี 1992 นั้น
มันมี Mark Up Language ที่เป็นมาตรฐาน ISO ตั้งแต่ปี 1986 ชื่อว่า
SGML(Standard Generalized Markup Language)ซึ่งที่มาของมันมาจาก GML ที่คิดค้นโดย IBM ตั้งแต่ปี 1960
แต่ปัญหาใหญ่ของ SGML คือ โคตรยุ่งยากซับซ้อน
เอาง่ายๆ ว่ามนุษย์เข้าใจได้ยากแล้วกัน
นั่นก็เลยทำให้หาคนเขียน Software ที่จะมา process มันยากมากตาม
Tim Berners-Lee ก็คิดค้น HTML ขึ้นมา
เพื่อแก้ปัญหาความซับซ้อนซ่อนเงื่อนตรงนี้ได้สำเร็จ
และ HTML ก็เป็นที่แพร่หลายอย่างที่เห็นในปัจจุบัน
มาถึงวันนี้ W3C บอกว่าต่อจากนี้ให้ใช้ XHTML สำหรับหน้าเว็บใหม่
อ้าว แล้ว HTML ล่ะ จะเอาไปไว้ที่ไหน
HTML ก็ยังใช้ได้อยู่ เพียงแต่ว่า HTML 4.01 จะเป็นเวอร์ชันมาตรฐานอันสุดท้าย
(ทำเป็นลืมๆ เรื่อง HTML 5 ไปก่อน เดี๋ยวจะวกกลับมา บอกแล้วว่ายาว

)
ปัญหาใหญ่ของ HTML ที่ W3C มองเห็นก็คือ
หน้าเว็บ HTML ยอมให้มีการผสมผสานกันระหว่างโึค้ด
ของโครงสร้างหลักกับหน้าตาเข้าด้วยกันได้
คือถ้าหน้าเว็บธรรมดาๆ ก็คงไม่เป็นไร
แต่ปัจจุบันก็มีซอฟท์แวร์ทำเว็บเยอะแยะ
ที่สามารถทำ โค้ด HTML ออกมาได้
ซึ่งซอฟท์แวร์พวกนี้ก็มักจะสร้างโค้ดที่ยุ่งเหยิงออกมา
ผสมปนเประหว่างโครงสร้างหลักกับหน้าตา
ยกตัวอย่างง่ายๆ หน้าตาเว็บ
ก็เหมือนกับการทาสีหรือการตบแต่งภายนอกและภายใน
แต่โครงสร้างหลักก็เหมือนกับการตอกเสาเข็ม
หรือการกั้นผนัง หรือบอกว่าบ้านนี้จะมีกี่ชั้นอะไรก็ว่ากันไป
ปัญหาก็คือซอฟท์แวร์ทำเว็บพวกนี้
พอทำโค้ดออกมา มันดันเอาสีไปทาเสาเข็ม
และเอาเสาเข็มไปวางเป็นของตบแต่งซะฉิบ

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

(ตรงนี้เขาชม IE นะครับ ว่ามันเก่ง ขนาดโค้ดมั่วๆ
มันก็ยังพยายามแสดงผลออกมาได้)
XHTML ก็เลยเข้ามาแก้ปัญหาตรงนี้
โดยแยกโค้ดของโครงสร้างหลักกับหน้าตาออกจากกันโดยเด็ดขาด
รวมถึงเข้มงวดกับโค้ด Tag ต่างๆ ด้วย
(XHTML ทำโครงสร้าง ตบแต่งหน้าตาก็ใช้ CSS)
ที่มาของ XHTML มาจาก
XMLข้อดีของ XML คือ มีข้อกำหนดชัดเจน
ว่าอะไรเป็นอะไร ยกตัวอย่างเช่น ถ้าจะสร้างบ้านสองชั้น
ต้องใช้เสาเข็มขนาดเท่าไหร่เป๊ะๆ ไม่ได้ปล่อยให้ไปเติมกันเอง
ดังนั้นมันจึงเป็นการง่ายที่จะสร้างซอฟท์แวร์ต่างๆ เพื่อมาทำงานด้วย
รวมถึงคนที่จะมาทำงานสานต่อ หรือต่อเติม ก็จะทำงานได้ง่ายขึ้น
(นึกออกใช่ไหมครับ ปัจจุบันถ้าเราต้องไปรื้อหรือต่อเติม เว็บใหญ่ๆ อะไรสักเว็บนึง
ที่โครงสร้างเละมากๆ ส่วนใหญ่แล้วทุบทิ้งแล้วทำใหม่หมดจะง่ายกว่า

)
XHTML ก็คือ HTML ที่ถูกทำความสะอาด
ข้อกำหนดต่างๆ ไม่ว่าจะเป็นเรื่องโครงสร้าง
หรือหน้าตาเรียบร้อยแล้วนั่นเอง
และเมื่อเป็นอะไรที่สะอาดแล้ว
มันก็สามารถใช้กับ Browserเก่าๆ ก็ได้อย่างไม่มีปัญหา( Backward Compatible)
มาถึงตรงนี้อยากให้ดูสายการพัฒนาก่อนนิดนึง
SGML
|
______________________________
| | |
HTML other SGML XML
|
_______________
| |
XHTML other XML
จะเห็นว่าโครงสร้างการพัฒนาระหว่าง HTML กับ XHTML มันอยู่กันคนละสาย
มาถึงตรงนี้ตูคงจะไม่ลงลึกลงไปในรายละเอียด
ว่า Syntax Rule หรืออะไรทำนองนี้จะเป็นยังไง
แตกต่างกันตรงไหน เพราะมันจะลงลึกเกินไปหน่อย
ทีนี้วกกลับมาที่ HTML 5 กันบ้าง
HTML 5 อยู่ตรงไหนในสายการพัฒนาจากรูปข้างบน
คำตอบคือ ไม่ได้อยู่ในสายการพัฒนาข้างบนนี้เลยครับ
HTML 5 เกิดมาจาก ผู้ผลิตซอฟท์แวร์บราวเซอร์ ซอฟท์แวร์สร้างและทำเว็บรวมตัวกัน
และตั้งชื่อกลุ่มทำงานตรงนี้ว่า
WHATWG (Web Hypertext Application Technology Working Group)
เพราะไม่เห็นด้วยกับแนวทางของ W3C
แนวคิดและปรัชญาของกลุ่มนี้คือ เน้นไปที่ลูกเล่นต่างๆ
รวมไปถึงการเชื่อมต่อกับ Application (ที่ผู้ผลิตซอฟท์แวร์พวกนี้ทำ)
และด้วยกำลังเงินและบุคคลากร รวมถึงเส้นสายต่างๆ เข้าไปแทรกแซง
นั่นเลยกลายเป็นที่มาว่า เอ๊ะ ตกลง W3C จะให้ใช้อะไรกันแน่
แต่หากว่าเราย้อนกลับไปดู ทีมาของ W3C
แนวคิดและปรัชญาของ W3C คืออะไร
(แน่นอนต้องสวนทางกับ WHATWG ที่คิด HTML5 อยู่แล้ว)
แนวคิดของ W3C อย่างนึงคือ การเข้าถึงเว็บของคนหมู่มาก
ไม่ว่าใคร ยากดีมีจน เด็ก ผู้ใหญ่ คนแก่ คนพิการ ใช้งานจากเครื่องคอม
มือถือ PDA คอมพิวเตอร์จอใหญ่ๆ หรือแม้กระทั่งบราวเซอร์ในตู้เย็น
ก็สามารถใช้งานเว็บได้อย่างที่มีข้อจำกัดน้อยที่สุด
XHTML นั้น ถูกออกแบบมาจากแนวคิดและปรัชญาตรงนี้
จึงลดข้อจำกัดต่างๆ ในการเข้าถึงเว็บจาก หลากหลายอุปกรณ์
และหลากหลายปัจเจกบุคคล
มาถึงตรงนี้ เวลาพวกเราออกแบบเว็บกัน
มีใครนึกถึงคนตาบอดสี ที่มองสีไม่ออก
หรือคนแก่ๆ ที่มองตัวอักษรขนาดปกติไม่ออก
เวลาออกแบบเว็บบ้างไหมครับ

หากแต่ HTML5 นั้นน่าจะตอบสนองกลุ่มคนที่มีกำลังซื้อ
กลุ่มคนที่ชอบใช้เทคโนโลยีใหม่ๆ และตอบสนองธุรกิจใหญ่ๆ
ที่ใช้ซอฟท์แวร์และ Application ของกลุ่มนี้อยู่แล้วมากกว่า
ดังนั้นหาก กลุ่มคนก่อตั้ง W3C ยังยึดถืออุดมการณ์เดิมอยู่
XHTML คือคำตอบวันนี้ สำหรับอนาคตครับ