Wikipedia ถือกำเนิดมาตั้งแต่ปี 2001 โดยใช้ซอฟต์แวร์ MediaWiki ที่เขียนขึ้นในยุคนั้น ซึ่งปัจจุบันก็มีหลายส่วนที่เริ่มล้าสมัยแล้ว
มูลนิธิ Wikimedia Foundation ในฐานะผู้ดูแลโครงการ Wikipedia จึงพยายาม "ยกเครื่อง" ซอฟต์แวร์ MediaWiki ให้ทันสมัยขึ้น หนึ่งในแผนการคือเปลี่ยนมาใช้เฟรมเวิร์คจาวาสคริปต์ตัวใหม่ๆ แทน jQuery ที่ใช้มานาน และเฟรมเวิร์คของตัวเองที่ชื่อ OOUI
คณะทำงานมีเกณฑ์การคัดเลือกเฟรมเวิร์คหลายข้อ เช่น ต้องนิยาม UI แบบ declarative, ตัว UI ต้องอัพเดตแบบ reactive (ตามการป้อนข้อมูลของผู้ใช้), เป็นโครงการโอเพนซอร์สที่มีชุมชนเหนียวแน่น, ประสิทธิภาพสูง, ยืดหยุ่นต่อการใช้งานหลายสถานการณ์
เฟรมเวิร์คที่นำมาพิจารณา มีตั้งแต่ Angular, Ember (สอบตกเรื่องความยืดหยุ่นที่นำมาใช้ในช่วงเปลี่ยนผ่าน) Svelte, Inferno, Preact (ชุมชนผู้ใช้มีขนาดเล็กเกินไป) Stimulus.js (ตกเรื่องการเรนเดอร์ฝั่งเซิร์ฟเวอร์) สุดท้ายเหลือตัวเลือก 2 รายที่เข้ารอบสุดท้ายคือ Vue.js และ React
สุดท้ายคณะทำงานเลือก Vue.js ด้วยเหตุผล 4 ข้อ
- ใช้งานโดยไม่ต้องมี front-end build tools ได้ดีกว่า React
- เรียกใช้ไลบรารีภายนอกน้อย มี dependency น้อย
- ไลบรารี Vue ค่อนข้างเสถียร ไม่มีปัญหาความเข้ากันได้ระหว่างเวอร์ชันใหญ่ๆ
- โครงการพัฒนา Vue ไม่อิงกับบริษัทใดบริษัทหนึ่งเกินไป (React อิงกับ Facebook)
ขั้นถัดไป ทีมงานของ Wikimedia จะค่อยๆ นำ Vue.js มาใช้ในโครงการนำร่องขนาดเล็กๆ ก่อน เพื่อทดสอบว่าใช้งานได้ดีจริงแค่ไหนในสถานการณ์จริงๆ

ที่มา - Wikimedia, The Register, ภาพจาก @Vuejs
on
ถ้าลองใช้จริงเหตุผลอาจจะเหลือ
rattananen Mon, 23/03/2020 - 15:35
ถ้าลองใช้จริงเหตุผลอาจจะเหลือข้อ 4 ข้อเดียว
บอกได้คำเดียวว่าผมโคตรเกลียดการเอา logic ไปใส่ใน template (Angular, Vue)
มันเหมือนต้องคิด logic เพิ่มอีกเสียเวลา งานเพิ่ม debug ยาก
ลองยกตัวอย่างหน่อยครับ
Jirawat Mon, 23/03/2020 - 17:48
In reply to ถ้าลองใช้จริงเหตุผลอาจจะเหลือ by rattananen
ลองยกตัวอย่างหน่อยครับ มันเป็นประมาณไหนจะได้ไม่ทำครับ
มันอาจจะทำได้ก็จริง
karncore Mon, 23/03/2020 - 18:02
In reply to ถ้าลองใช้จริงเหตุผลอาจจะเหลือ by rattananen
มันอาจจะทำได้ก็จริง แต่ก็ไม่จำเป็นต้องทำนะ
property get ก็มี หรือจะ binding ผ่านตัวแปร public ก็ได้นี่ครับ
ใส่ได้ != ควรใส่นะครับ ถ้าของ
checkmate95 Mon, 23/03/2020 - 21:14
In reply to ถ้าลองใช้จริงเหตุผลอาจจะเหลือ by rattananen
ใส่ได้ != ควรใส่นะครับ ถ้าของ Angular มี style guide เขียนไว้ชัดเจนว่าไม่ควรใช้เ template เขียน logic ครับ
แนะนำให้ไปอ่านต้นทางนะครับ
panotza Mon, 23/03/2020 - 16:26
แนะนำให้ไปอ่านต้นทางนะครับ ความรู้เน้นๆ
Simulus.js แก้เป็น Stimulus
wittawasw Mon, 23/03/2020 - 16:32
Simulus.js แก้เป็น Stimulus.js ครับ
https://stimulusjs.org/
Vue2 Vue3 เปลี่ยนนิดเดียว
spicydog Mon, 23/03/2020 - 16:36
Vue2 Vue3 เปลี่ยนนิดเดียว
ด้วยสิ่งที่ Wiki พิจารณา ทำไม
6Hunter9 Tue, 24/03/2020 - 09:05
ด้วยสิ่งที่ Wiki พิจารณา ทำไม Angular ถึงไม่เข้ารอบสุดท้ายครับ เพราะผมดูแล้วมันก็พอ ๆ กัน
Angular, Ember
hisoft Tue, 24/03/2020 - 13:50
In reply to ด้วยสิ่งที่ Wiki พิจารณา ทำไม by 6Hunter9
ในวงเล็บคือทั้งคู่เลยครับ
ใช้ตอน version
PandaBaka Tue, 24/03/2020 - 09:07
ใช้ตอน version คาบเกี่ยวจะดีเหรอเนี่ย