Vue.js คืออะไร
คือ ไลบรารี่ตัวหนึ่ง ที่ใช้จัดการกับ View

ในสายตาของคนทั่วไปมันคือ {--mlinkarticle=3493--}Angular{--mlinkarticle--} ผสมกับ {--mlinkarticle=4883--}React{--mlinkarticle--} เพื่อจัดการกับ Reactive Component หรือ คอมโพแนนท์อัจฉริยะที่สามารถอัพเดทตัวเองได้ แต่ในสายตาของผู้ใช้นั้น Vue.js คือ ศาสดาองค์ที่สองเลยทีเดียว
คุณลักษณะของ Vue.js
- การจัดการประสิทธิภาพที่ดีกว่า -- Vue.js มีการทำงานแบบ reactive มันรู้ได้เองด้วยว่าจุดไหนของ template ควร render ใหม่หรือไม่ต้องทำอะไร ในเอกสารกล่าวว่ากระบวนการนี้ไม่จำเป็นต้องใช้ shouldComponentUpdate หรือ immutable เหมือน React แม้แต่น้อย
- Component System -- Vue.js มีความเหมือน React ตรงที่มีความเป็นคอมโพแนนท์ เราสามารถห่อหุ้มโค๊ดของ UI Component ที่สัมพันธ์กันไว้ใต้คอมโพแนนท์เดียวกันได้เช่นเดียวกับ React
- สนับสนุนการใช้งาน JSX และ Hyperscript -- Vue.js นั้นดูยังไงก็คล้าย Angular มากกว่า React เพราะ template ของ Vue.js นั้นเป็น HTML-centric เหมือน Angular กล่าวคือ Vue.js เลือกใช้หนทางในการเพิ่มไวยากรณ์ใหม่ลงไปใน template เพื่อจัดการการแสดงผลหรือเหตุการณ์ต่างๆ
<div id="app">
<p>{{ message }}</p>
<button v-on:click="reverseMessage">Reverse Message</button>
</div>
ตัวอย่างของ JSX :
<button onClick={reverseMessage}>Reverse Message</button>
JSX ของ React นั้นง่ายเพราะแทบไม่ต้องรู้อะไรนอกจาก JavaScript ลองเปรียบเทียบปุ่มกดใน JSX เราเพียงเขียนแค่ตามนี้ก็ใช้ได้แล้ว
- สารพัดเครื่องมือจากตระกูล React -- Vue.js นั้นประพฤติตนดั่ง React นั่นคือสังคม React มีเครื่องมืออะไรพี่แกก็จะมีเครื่องมือแบบนั้นเช่นกัน ใครที่ย้ายจาก React ไปใช้ Vue.js จึงประหนึ่งเหมือนอยู่บ้านตนเอง Vue.js มีเครื่องมืออะไรให้ใช้งานเพื่อสร้างแอพพลิเคชันที่ยิ่งใหญ่และใหญ่ยิ่งบ้าง มีดังต่อไปนี้
- vue-cli Ember รึ Angular รึ เรา Vue ก็มีเหมือนกัน คือ ตัวช่วยสร้างโปรเจค
- vue-router มันคือ react-router ผู้ช่วยจัดการ history และการเปลี่ยนไปมาระหว่างเพจ
- vuex คือ Flux
- vue-devtools คือ react-devtools
- vue-loader คือ สิ่งที่ทำให้ Vue ใช้งานร่วมกับ Webpack ได้ครับ
- vue-resource HTTP client สำหรับ Vue
ข้อเสียของ Vue.js
- คำถาม - คำตอบมีน้อย -- แสดงถึงความช่วยเหลือของปัญหาที่เจอ อาจจะน้อยเกินไปถ้าเราเจอปัญหา
- การพัฒนาบนแพลตฟอร์มมือถือ -- Vue.js ไม่มี Mobile Framework
- ชุมชนนักพัฒนาน้อย -- ขนาดของชุมชนนักพัฒนาก็ยังไม่ใหญ่เท่า Angular หรือ React ส่วนใหญ่เอกสารหรือเนื้อหา ปัญหาถามตอบของ Vue.js จะได้รับการผลักดันจากชุมชนนักพัฒนา Laravel
ข้อมูลอ้างอิง : https://vuejs.org/