This article is currently in the process of being translated into Thai (~92% done).
Using polyfills to support HTML5
จากที่ได้เคยกล่าวไปเมื่อบทที่แล้วว่า HTML5 featuer บางอันไม่สามารถทำงานได้กับ browser บางตัว ซึ่งจำเป็นต้องใช้ JavaScript workaround มาช่วย บทนี้เราจะมาเรียนเกี่ยวกับ polyfill, fallback, และ shim มันจะเป็นตัวช่วยให้ browser ทำงานและแสดงผลได้อย่างถูกต้อง
Polyfill คือ?
Polyfill หรือ polyfiller (กระบวนการทำให้ฟังก์ชันที่ไม่มีใน browser อื่นๆ ทำงานได้) เป็นโค้ดสั้นๆหรือที่เรียกว่า Regressive Enhancement (ปรับปรุงของเก่าให้ดีขึ้น) เพราะฉะนั้นเราจะไปเน้นที่การปรับปรุง version เก่าๆ
แล้วทำไมถึงใช้ชื่อ polyfill? Polifiller ก็เหมือนหมันโป๊ว ที่ใช้อุดพวกรูหัวตะปูหรือรอยร้าวเล็กๆ บนกำแพง เมื่อไหรก็ตามทีเรามีรูรั่วที่กำแพง (browser) เราจะใช้ polifiller มาอุดรอยรั่ว
จะเลือกแบบไหนดี?
Polyfill มีให้เลือกมาหมาย บางอันก็ดีกว่าอีกอันเพราะฉะนั้นเราควรจะรู้บางคราวๆเพื่อที่จะนำมาใช้งานที่เหมาะสม รายละเอียดของ polyfill ที่มีคุณลักษณะพิเศษจะกล่าวในบทต่อๆไป
ไม่ว่าจะใช้ polyfill หรือไม่ก็แล้วแต่จะพิจารณา แต่ มันมีข้อดีมากมาย ทำให้ webpage สามารถใช้งานได้โดย ข้อมูลหรือการแสดงผลไม่ผิดพลาด ถึงแม้ว่าจะเป็นมือใหม่สำหรับ HTML ก็ควรจะฝึกใช้