/ Special

วันที่เว็บคิดครองโลก

ห่างหายกันไปนานเช่นเคยครับ วันนี้เราจะมาพูดกันในหัวข้อ “วันที่เว็บคิดครองโลก” เพื่อต้องรับการมาของบล็อกเพื่อนผม ios-rage.net ที่เขียนเกี่ยวกับเรื่องทั่วไปใน อาชีพการงาน การเป็นโปรแกรมเมอร์ ซึ่งไม่ได้เกี่ยวข้องกับหัวข้อของเราซักกะนิด


The begins

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

“This is only the beginning.”

“Touch the iPhone”

“Apple reinvents the phone.”

“Say Hello to iPhone.”

The Standards

แต่เดิม WWW ถูกสร้างขึ้นเพื่อเชื่อมโยงเอกสารแบบ hypertext เข้าด้วยกันผ่านระบบอินเทอร์เน็ต ทุกคนสามารถเข้าถึงเว็บเพจได้ผ่านเว็บเบราว์เซอร์ เพื่อที่จะทำให้ความฝันของ WWW เป็นจริงได้จริงมีการกำหนดมาตรฐานกลาง Hypertext Markup Language (HTML) ขึ้นมา เพื่อทุกคนจะเข้าใจตรงกันนะ!! ว่าถ้าต้องการแสดงผลแบบนี้ต้องทำอย่างไร อย่างไรก็ตามนั่นไม่ได้หมายความว่าทุกคนต้องเขียน HTML แต่ทุกเว็บเบราว์เซอร์จะรองรับ HTML

Alt W3C, The World Wide Web Consortium

The Nightmares

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

Alt Internet Explorer 6

Internet Explorer 6 เป็นตัวอย่างที่ดีในอดีต เป็นผู้สร้างมาตรฐานที่เข้ากันไม่ได้กับคนอื่น หรือว่าเพราะคนอื่นไม่ยอมทำให้เข้ากันได้นะ? คุณอาจจะเคยได้ยินว่าโปรแกรมเมอร์ทุกคนเกลียด IE6 มาก จนกระทั่งปัจจุบัน IE11 ก็ออกแล้วพวกเขาก็ไม่เคยเปลี่ยนความคิด

Alt Google Chrome

Google Chrome ผู้ผลักดันให้คนอื่นหันเข้าสู่มาตรฐาน หลังจาก IE ครองโลกอยู่เป็นเวลานาน FireFox และผู้เล่นอื่นในตลาดก็แทบไม่มีที่ยืนในหมู่ End-user การมาของ Chrome ทำให้ User เริ่มเปลี่ยนใจจาก IE บ้าง เพราะเข้าใจว่าไอ้นี่ก็เข้า Google ได้เหมือนกัน ซึ่งก็เป็นกลยุทธ์ที่ดี ความสงบสุขกลับมาเยือนได้ไม่ทันไร วีรบุรุษของเราก็เผยโฉมหน้าที่แท้จริงออกมา มันนี่แหละผู้ล้มล้างมาตรฐานตัวจริง Chrome ค่อยๆ เผยแผนการของตัวเองออกมาเรื่อยๆ หลัง Engine ของมันถูกใช้อย่างแพร่หลาย ทั้งการประมวลผล CSS ที่ไม่เหมือนคนอื่น การไม่เข้มงวดกับรูปแบบของ JavaScript เพื่อที่จะโฆษณาได้ว่าตัวเองเร็วที่สุดในตลาดแล้ว

The hope

Alt HTML5, the future is landing

ความฝันใหม่ของเหล่านักพัฒนาเว็บไซต์ ย้ายไปสู่ HTML5 CSS3 JavaScript ทุกคนหวังว่าเราจะได้พบสันติสุข จะไม่มีใครแหกมาตรฐานอีกต่อไปล้ว การมาของ HTML5 ทำให้เว็บรันบนมือถือได้ดีขึ้น คุณสามารถเขียนเว็บครั้งเดียวแล้วรันได้สวยบนหลายอุปกรณ์ ทุกอย่างทำท่าจะดูดี แต่ทว่า…

Alt Unsupported browser

มันสายเกินไปแล้ว พวกเรามาไกลเกินกว่าที่จะถอยหลังกลับไป อีกฝั่งนึงอยู่ใกล้กว่า เว็บเบราว์เซอร์ทั้งหลายเดินมาไกลเกินไปแล้วพวกเรามีมาตรฐานส่วนตัวกันหมด แถมยังขอให้มาตรฐานส่วนตัวกลายเป็นมาตรฐานกลางด้วย มีการก่อตั้งกลุ่ม ก๊ก ขึ้นมามากมาย เพื่อสนับสนุนให้มาตรฐานของตัวเองบังคับใช้กับผู้อื่น แต่มันก็ไม่มีอะไรดีขึ้นมา ต่างฝ่ายต่างไม่ยอมกัน เหตุการณ์นี้ทำให้พวกเรารู้จัก HTML5 Polyfills (การเขียนโค้ดเพื่อทดแทนส่วนที่ขาดหายไปจากมาตรฐาน)

The challenges

เรามาดูฝั่ง App กันบ้าง HTML5 ส่งผลกระทบอะไรกับพวกเขาไหม ผมยังจำสโลแกนหนึ่งของ webOS ที่คาดหวังต่อ Web Technology ว่า

"native IS the web"

Alt webOS

webOS มีระบบ UI ที่สร้างขึ้นโดยใช้ Web Technology ล้วนๆ นอกจากนี้ยังเป็นต้นแบบการ Interaction ของมือถือในยุคต่อๆ มา อีกมากมาย หลังจากนั้นก็มีผู้สานต่อแนวคิดนี้โดย Apache Cordova ก็เป็นหนึ่งในนั้น

Alt Apache Cordova

Apache Cordova ผู้สานต่อความฝันของ palm Apache Cordova หรือที่รู้จักกันในชื่อ PhoneGap ของ Adobe เป็นผู้นำเทรนด์ของการเขียนแอพมือถือด้วยเว็บ ลักษณะคือการเอาแอพไปครอบเว็บไว้ Cordova จะทำหน้าที่ในการติดต่อกับ Native API ของแพลตฟอร์มนั้นๆเอง

Alt BlackBerry 10

BlackBerry 10 ทุ่มสุดตัวเพื่อเว็บแอพ BlackBerry 10 กำเนิดขึ้นพร้อมกับเครื่องมือเขียนเว็บแอพตั้งแต่แรก และเว็บแอพนั้นสามารถทำงานเข้ากับ OS ได้แบบไร้รอยต่อเลยทีเดียว

Alt Windows 8 platform

จะไม่กล่าวถึงตัวหลักของวงการก็กระไรอยู่ Microsoft เป็นอีกเจ้าที่ทุ่มสุดตัวกับเรื่องเว็บแอพเอามากๆ โดยมีความสำคัญเท่ากับหรือมากกว่า .NET ที่เป็นเทคโนโลยีหลัก โดยรุกทั้งบน Windows, Windows Phone และ XBOX เขาเดิมพันสูงมากกับงานนี้โดยเขียนแอพระบบพื้นฐานของ Windows 8 เป็นเว็บแอพทั้งหมด ซึ่งการทำงานนั้นค่อนข้างดีในระดับหนึ่ง แต่ยังคงห่างไกลจากสมัยของ webOS มาก ภายหลัง Microsoft ก็ได้เปิดซอร์สของ WinJS ที่เป็นแกนขับเคลื่อนเว็บแอพของ Windows เพื่อได้ให้เข้าไปศึกษากันอีกด้วย

ทีนี้เรามาดูในอีกฝากหนึ่งของวงการกันบ้าง พวกเขาไม่ได้ใช้ Web Technology เขียนเว็บเพียงอย่างเดียว แต่เขาทำ Backend services ที่ครอบคลุมมากๆ

Alt Node.js

Node.js ผู้นำเทรนโลกฝั่ง Server Node.js ทำให้เราสามรถเขียน Backend และ Frontend ได้ด้วยการใช้ภาษาเดียวกัน โดยมันรันอยู่บน Technology V8 engine ที่เคยเป็นแกนหลักของการกระมวลผล JavaScript บน Chrome ซึ่งมีศักยภาพสูงมาก ผู้นำคนนี้ทำให้เกิดเทคโนโลยีชั้นบนอีกหลายตัว เช่น Meteor เว็บเฟรมเวิร์คที่มีแต่เวทย์มนต์ และยังเป็นแรงบันดาลใจของทคโนโลยีอย่าง Opa ซึ่งเป็น Javascript Framework อีกตัวหนึ่ง

The conclusion

โดยส่วนตัวไม่ได้ชื่นชอบ Web Technology ในเชิงของศิลปะสักเท่าไหร่ แต่ถ้าดูในเชิงแนวคิดแล้วมันก็สะท้อนอะไรหลายๆ อย่าง ความเป็นมาของมันค่อนข้างน่าสนใจ ผมบอกตรงๆ เลย ผมคิดว่า Syntax ของฝั่ง Web Technology นั้น ออกแบบมาได้แบบมาได้แย่มากๆ เนื่องจากในสมัยบุกเบิกนั้นจำเป็นต้อง save ทรัพยากรให้มากที่สุด ทำให้เกิดปัญหาความน่าเกลียด และเข้าใจยาก ตามมา ผมไม่เชื่อว่าปัญหานี้จะถูกแก้ในมาตรฐานเร็วๆ นี้ ความช้าของมาตรฐานฝั่งเว็บเป็นสิ่งที่น่าเบื่อ และทำให้เราเลือกที่จะทำแอพกันเป็นส่วนใหญ่ แล้วก็ไปติดปัญหาอื่นแทน = =” ตอนนี้ทุกคนรู้ว่าเทคโนโลยีด้านเว็บมาแน่ ยังไงมันก็ต้องบูม ทุกแพลตฟอร์มหันไปหาเว็บหมด คำถามอย่างเดียวคือ เมื่อไหร่? ไม่มีใครตอบได้ ผมมองว่าในสถาการณ์ปัจจุบันไม่น่ามีใครอยากตกรถไฟ แต่ผมก็อยากให้คุณเลือกข้าง ระหว่างแอพหรือเว็บ ไม่ใช่เลือกข้างนึงแล้วทิ้งอีกข้างไป แต่ให้ยึดข้างนึงไว้เป็นหลัก อีกข้างก็ต้องทำได้ อย่างผม ชอบเนทีฟแอพก็จริงอยู่ แต่ผมไม่มีศักยภาพพอที่จะทำเนทีฟแอพได้พร้อมกันทุกแพลตฟอร์ม ผมก็เลยเลือกทำเว็บเป็นหลักก่อน แล้วค่อยทำแอพ แต่ในอีกหลายๆกรณีเว็บก็ไม่มีความจำเป็นเลยเช่นกัน คุณแค่เลือกสิ่งที่เหมาะกับงานก็พอ แต่ในระยะยาวให้ระวังเทคโนโลยีเว็บไว้ให้ดี เพราะถ้าคุณไม่รู้จักมัน คุณจะคุยกับเขาไม่รู้เรื่อง เอ้ย ไม่ใช่ละ

"Choose the Right Person for the Right Job"