รักครั้งแรกกับ Vue

nattapong
IT@KMUTNB
Published in
1 min readFeb 17, 2017

บทความต่อไปนี้ผมได้อ้างอิงมาจาก บทความ love at first Vue โดยนำบางส่วนมาแปลโดยแปลตามความสามารถของตนเองผิดถูกบางประการขออภัยมาณที่นี้ด้วยนะครับ

เมื่อไม่กี่เดือนมานี้ผมได้หลงรักเข้ากับ Meteor ซึ่งผมได้หลงรักที่ความเรียบง่าย 52มีการ isomorphic ในการทำสิ่งต่างๆ (ทั้งหมดนี่ใหม่สำหรับผมมาก) และสิ่งที่ชอบมากคือ Blaze เมื่อผมลองใช้มัน สิ่งที่ผมชอบใน Meteor คือ ผมสามารถเริ่มทำงานได้เร็ว ผมสามารสร้างโครงสร้างของโปรเจ็คได้ภายในไม่กี่นาที และผมสามารถสร้าง session management และ user management ได้ภายในไม่ถึงชั่วโมง และยังได้ โค้ดที่เหมาะกับ ฟิเจอร์เจ๋งๆในแอพของผมอีกด้วย มันดีมากจริง

ผมทำสร้างสิ่งเจ๋งๆได้ในเวลาอันน้อย ผมไม่ต้องไปคอย query ที่ server ปลายทาง ผมสามารทำมันได้เลยที่ client มันทำให้ประหยัดเวลามากๆ บวกกับข้อมูลที่ real time ดังนั้นผมไม่ต้องกังวลกับการตั้งค่าบน server อีกเลย

หลังจากนั้นผมได้มารู้จักกับ React ตอนนั้น React พึ่งจะออกมาใหม่ ผมหลงรักมันเช่นเดียวกับ Meteor เลย ผมชอบ Reactตรงที่มันฮิตและมันมีวิธีการใหม่ๆในการสร้างสิ่งต่างๆ นักพัฒนาส่วนมากติดใจกับ React ตรงที่ มันทำการ combined HTML เข้ากับ JavaScript ซึ่งมันดีต่อพวกเขามากที่จะใช้มันได้ในที่ที่แตกต่างกัน ผมไม่ค่อยสนใจหรอกมันเล็กน้อย สิ่งใหม่ๆสำหรับผมคือการลองใช่ส่วนประกอบต่างๆในการสร้างแอพ มันโคตรเจ๋งเลย ทุกๆอย่างมันดีขึ้น ผมสามารทำโครงสร้างโปรเจ็คได้ในไฟล์เดียวซึ่งมันง่ายมาก

หลังจากที่ Doc ของ Meteor อัพเดต ผมพบผมสามารถใช้ React กับ Meteor ได้ดีขึ้น ผมลองใช้มันทันที ผมไม่ได้เริ่มมันตั้งแต่ Blaze ผมตื่นเต้นกับมันมาก อย่างไรก็ตามผมไม่ได้ใช้ Redux เลย React ทำแทนหมด ผมเลยรักมันมากๆเลย ผมภูมิใจนำเสนอมากๆเลย ถ้าคุณมีความคิดเห็นอื่นๆ ก็บอกผมมาได้เลย แต่ผมบอกคุณได้เลยว่า คุณจะไม่เสียใจที่ใช้มัน

หลังจากที่ใช้ React และ Meteor

ผมได้ลองใช้ tool React , Meteor , Hapi และ Koa สักพังนึง พยายามหาสิ่งที่น่าสนใจและใช้เวลามากในการศึกษามัน วันนึงผมได้อ่านบทความเกี่ยวกับ Vue บท Twitter ผมจึงเริ่มไปอ่าน Doc ของมัน บน Github แล้วพบว่า มันน่าสนใจมากๆ

หลังจากนั้นผมก็ได้ลองใช้ตามตัวอย่างใน Doc แล้วพบว่า มันคล้ายกับ React แต่มัน ง่าย และ เร็วกว่า

Vue CLI มันเจ๋งมากๆเลย ผมสามารถสร้างโปรเจ็คได้ด้วย Unit Test ทำ webpack และ โครงสร้าง folder ได้ถูกต้องในเวลาไม่นานทำให้ประหยัดเวลาขึ้นถึงสองสามเท่า มันสามารแยก component และ combines กับ HTML ได้เหมือน React เลย แต่การทำงาน JS ไฟล์เดียว จะแตกต่างจาก React เล็กน้อย ตรงที่มี JSX ผมได้รับงานมาชิ้นนึง เป็นงานที่ใหญ่มากๆ เราเริ่มพูดคุยเกี่ยวกับ tools ที่จะเลือกใช้ เราเลือกที่จะใช้ Node.js แทน Hapi แต่ทีมันสำคัญกว่าคือ frontend

เป็นครั้งแรกที่ React และ Angular ถูกเสนอพร้อมกัน ต้องยอมรับว่าผมไม่ชอบ Angular เลย เวอร์ชั่น 2.0 แล้วยังเป็น Bata อยู่เลย นั่นทำให้มันถูกตัดออกไป ส่วน IMO React เรียนรู้ได้ยากมากเพราะในงานชิ้นนี้ผมมีทีม Dev หน้าใหม่ มันจึงไม่เหมาะ ผมจึงเริ่มพูดถึง Vue ผมบอกพวกเค้าว่ามันง่ายกว่า React และมีการแยก component เหมือน React และยังมี Vuex ที่เหมือนกับ Redux

สำหรับผมมันเจ๋งมากๆ Vue จะทำให้คุณสร้างสิ่งที่ยากๆได้ด้วยวิธีการง่ายๆ มี Vuex ที่เหมือน Redux และมันง่ายกว่ากว่าเป็นล้านๆเท่าในการใช้มัน ผมอาจจะสับสน Unit Test ในตอนแรกที่ผมเริ่มใช้ อันนี้ผมยอมรับ แต่คุณจะสามารถเข้าใจได้อย่างรวดเร็ว นั่นจึงไม่เป็นปัญหาสำหรับทุกคน งานชิ้นใหญ่ของผมเสร็จได้อย่างรวดเร็วด้วย Vue ผมไม่โดนตำหนิเลย แอพสามารถทำงานได้รวดเร็วและเพิ่มฟิเจอร์ใหม่ๆได้ง่าย ทำให้ Vuex และ unit tests เป็นที่โด่งดังด้วยความสามารถที่ดีทั้งคู่สิ่งสุดท้ายที่ผมอยากจะพูด เราจะไม่ค่อยเจอบทความดีๆใน Doc ที่ดีหรอก แต่เราจะเจอในการใช้ framework ที่ดีแทน ดั่งเช่นทีม Vue ของผม

--

--