มีอะไรใหม่ใน Vue.js (30/05/2018)

ภาพจาก https://www.crowdcast.io/e/vue/register

เชื่อว่าชาว Developer หลายๆคนคงรู้จักกับและชอบ Vue.js ด้วยความง่ายในการเรียนรู้และขึ้น project คงปฏิเสธไม่ได้ที่เป็น Web framework ร้อนแรงตอนนี้

และเมื่อสัปดาห์ก่อนที่ผ่านมา Evan You มาดูโอ้กับ Gregg Pollack หนึ่งใน contributor ของ Vue.js ได้มาเล่าถึง feature ใหม่ของ Vue.js และสิ่งที่ update ทั้งที่ publish และกำลังจะมาในอนาคต

Vuepress

ภาพจาก https://vuepress.vuejs.org/

หลายคนที่ติดตามคงจะได้เห็น Vuepress มาบ้างและเป็น product ที่ถูกยกมาเป็น topic แรกของ update ครั้งนี้

Vuepress เป็นตัวสร้าง static site ที่โฟกัสในการทำ document โดยเกิดจากการที่ Evan สร้าง document จาก hexo และสร้าง Theme จาก Vue จากนั้นเลยต้องการสร้าง generator ที่เป็น Vue.js จึงได้มาเป็น Vuepress

ซึ่งตัวของ Vuepress เองไม่ได้เกิดมาเพื่อสร้าง SSR หรือ Server side rendering application พี่ใหญ่อย่าง Nuxt แต่มาเพื่อตอบโจทย์ในการทำเว็บที่เน้น content เป็นหลัก

โดยการใช้งานหลักๆ เป็นการสร้าง page ด้วย markdown file หรือ .md และสร้างมารถสร้าง Theme เองได้โดยเป็นไฟล์ของ Vue

Evan กล่าวว่า Vuepress จะพัฒนาในเรื่องของการใช้งาน และการเปิด api ที่จะ update ในอนาคต ถ้าใครสนใจหรืออยากลองใช้งานสามารถไปที่เว็บของ Vuepress

Vue CLI 3.0

ต่อมาด้วยเครื่องมือที่เราชาว Vue ใช้กันประจำ นั่นคือ Vue CLI ซึ่งตอนนี้เป็นเวอร์ชัน 3.0.0 แล้ว (ณ ตอนนี้ยังเป็น beta)

ซึ่งได้ update เรื่องของ performance และเพิ่มทางเลือกในการสร้าง project มากขึ้นด้วย Feature ที่มีให้เลือกตามความเหมาะของงานและ plugin ที่มีให้เลือกจาก Vue CLI รวมถึงเรายังสามารถสร้างและปรับแต่ง plugin เพิ่มเติมได้

เป้าหมายของ Vue CLI ตัวนี้คือเพิ่มความง่ายในการสร้าง project และลดภาระในการปรับแต่ง webpack แต่ได้ feature ของงานที่ต้องการ

และสิ่งที่เพิ่มเข้ามาเป็นทางเลือกของการสร้าง project นั่นคือ Vue UI ซึ่งสามารถจัดการ project ได้บน browser ด้วยคำสั่ง

vue ui

Vue + Typescript และ Class based

ภาพจาก https://kuroeveryday.blogspot.com/

สำหรับตัวของ Vue.js เองจะพัฒนาเพื่อใช้งานกับ Typescript ต่อไปโดยไม่ขัดจังหวะการพัฒนาของ Developer อย่างเรา และคาดว่าใน Vue v3.0 จะมี API ของ Class based เองโดยจะนำ Class decorator ซึ่งเป็น concept คล้ายกับ Angular มาใช้ด้วย

ทาง Evan ได้บอกว่า ทางเขาเองก็พัฒนาร่วมกับเหล่าทีม Developer ของ Typescript เพื่อนำมาใช้งานร่วมกับ Vue.js ด้วย ซึ่ง Evan ค่อนข้างจะชื่นชม Typescript และการทำงานของ Developer อีกด้วย

Vuex

ภาพจาก https://github.com/vuejs/vue/issues/6305

ในส่วน Vuex เองก็จะได้รับการ update โดยหลักๆคือการรวมกันระหว่าง action และ mutation เข้าด้วยกันเพื่อลดทางผ่านในการเข้าถึง mutation ตาม cycle ของ Vuex ซึ่งคาดว่าจะมาช่วงของ Vue v2.6

Evan ได้พูดถึง challenge ของ feature นี้คือการทำเครื่องมือสำหรับ debugging ที่อาจจะซับซ้อนแต่ทำให้ Developer สามารถทำงานได้ปกติ

Vue Native

หลายคนคงจะตั้งตารอ Native Application ที่เป็น Official ของ Vue.js ซึ่งผมก็เป็นหนึ่งในนั้น

ซึ่ง Evan ได้กล่าวว่าตัวของ Vue.js เองโฟกัสที่การพัฒนา Frontend web application เพราะการจะทำ Native ต้องใช้ทีมที่ใหญ่และต้องเชี่ยวชาญด้านนี้เฉพาะทางด้วย

แต่อย่างไรก็ตาม Evan ได้บอกว่าเราก็ยังสามารถใช้ของ Third party ได้อยู่อย่าง Weex, NativeScript หรือ Quasar ก็เป็นทางเลือกที่น่าสนใจ

สิ่งที่ Evan You คาดหวังในอนาคตคือ ต้องการพัฒนา Vue.js ในส่วนของ Infrastructure ให้ดีขึ้น และทำให้สามารถใช้งานง่าย เพื่อลดอุปสรรคการเรียนรู้และเข้าถึง Web development

สำหรับใครที่ต้องการติดตามข่าว มาพูดคุยหรือหาเพื่อนชาว Vue สามารถเข้ามากด join ได้ที่เพจ Vue.js Thailand ได้นะครับ

Reference: https://www.youtube.com/watch?v=8oFexUl7_DE&t=1344s

--

--

--

เรื่องเล่าประสบการณ์จากการคลุกคลานของทีมงานที่อยากจะเติบโตไปด้วยกัน

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Runyasak Chaengnaimuang

Runyasak Chaengnaimuang

Developer who loves Vue.js and americano 😎☕️

More from Medium

Vue2 the Vue3 way: Getting Started

Vue Logo

How To Use Environment Variables in Vite

Agiloo | Made with Vue JS