Tags:
Node Thumbnail

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 ข้อ

  1. ใช้งานโดยไม่ต้องมี front-end build tools ได้ดีกว่า React
  2. เรียกใช้ไลบรารีภายนอกน้อย มี dependency น้อย
  3. ไลบรารี Vue ค่อนข้างเสถียร ไม่มีปัญหาความเข้ากันได้ระหว่างเวอร์ชันใหญ่ๆ
  4. โครงการพัฒนา Vue ไม่อิงกับบริษัทใดบริษัทหนึ่งเกินไป (React อิงกับ Facebook)

ขั้นถัดไป ทีมงานของ Wikimedia จะค่อยๆ นำ Vue.js มาใช้ในโครงการนำร่องขนาดเล็กๆ ก่อน เพื่อทดสอบว่าใช้งานได้ดีจริงแค่ไหนในสถานการณ์จริงๆ

No Description

ที่มา - Wikimedia, The Register, ภาพจาก @Vuejs

Get latest news from Blognone

Comments

By: rattananen
AndroidWindows
on 23 March 2020 - 15:35 #1152076

ถ้าลองใช้จริงเหตุผลอาจจะเหลือข้อ 4 ข้อเดียว

บอกได้คำเดียวว่าผมโคตรเกลียดการเอา logic ไปใส่ใน template (Angular, Vue)
มันเหมือนต้องคิด logic เพิ่มอีกเสียเวลา งานเพิ่ม debug ยาก

By: Jirawat
Android
on 23 March 2020 - 17:48 #1152110 Reply to:1152076
Jirawat's picture

ลองยกตัวอย่างหน่อยครับ มันเป็นประมาณไหนจะได้ไม่ทำครับ

By: karncore on 23 March 2020 - 18:02 #1152112 Reply to:1152076

มันอาจจะทำได้ก็จริง แต่ก็ไม่จำเป็นต้องทำนะ
property get ก็มี หรือจะ binding ผ่านตัวแปร public ก็ได้นี่ครับ

By: checkmate95
ContributorAndroid
on 23 March 2020 - 21:14 #1152120 Reply to:1152076
checkmate95's picture

ใส่ได้ != ควรใส่นะครับ ถ้าของ Angular มี style guide เขียนไว้ชัดเจนว่าไม่ควรใช้เ template เขียน logic ครับ

By: panotza
Windows
on 23 March 2020 - 16:26 #1152087

แนะนำให้ไปอ่านต้นทางนะครับ ความรู้เน้นๆ

By: wittawasw
ContributorAndroidBlackberryRed Hat
on 23 March 2020 - 16:32 #1152088

Simulus.js แก้เป็น Stimulus.js ครับ

https://stimulusjs.org/


@wittawasw

By: spicydog
ContributoriPhoneAndroidUbuntu
on 23 March 2020 - 16:36 #1152091
spicydog's picture

Vue2 Vue3 เปลี่ยนนิดเดียว


SPICYDOG's Blog

By: 6Hunter9
AndroidWindows
on 24 March 2020 - 09:05 #1152160

ด้วยสิ่งที่ Wiki พิจารณา ทำไม Angular ถึงไม่เข้ารอบสุดท้ายครับ เพราะผมดูแล้วมันก็พอ ๆ กัน

By: hisoft
ContributorWindows PhoneWindows
on 24 March 2020 - 13:50 #1152210 Reply to:1152160
hisoft's picture

Angular, Ember (สอบตกเรื่องความยืดหยุ่นที่นำมาใช้ในช่วงเปลี่ยนผ่าน)

ในวงเล็บคือทั้งคู่เลยครับ

By: PandaBaka
iPhoneAndroidWindows
on 24 March 2020 - 09:07 #1152161
PandaBaka's picture

ใช้ตอน version คาบเกี่ยวจะดีเหรอเนี่ย