Moment.js ประกาศหยุดพัฒนา แนะนำให้ใช้ไลบรารีอื่นทดแทน

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 19 กันยายน 2020.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    Moment.js ไลบรารีแสดงวันและเวลาในภาษาจาวาสคริปต์ที่ได้รับความนิยมสูง (ดาวบน GitHub มากกว่า 44,000 ดาว และยอดดาวน์โหลดสัปดาห์ละ 12 ล้านครั้ง) ประกาศหยุดพัฒนาโดยระบุเหตุผลว่าโครงสร้างเดิมไม่เหมาะกับนักพัฒนาใหม่ และตัวจาวาสคริปต์เองก็มีออปเจก์ Intl เพื่อรองรับวิธีการแสดงวันและเวลาแล้ว แต่ Moment.js ไม่รองรับ

    กระบวนการหยุดพัฒนาของ Moment.js จะแก้ไขช่องโหว่ร้ายแรงต่อไป และจะเพิ่ม timezone ใหม่ๆ ตามฐานข้อมูลของ IANA แต่จะไม่มีการเพิ่มฟีเจอร์ใดๆ รวมถึงไม่มีการแก้ไขพฤติกรรมแปลกๆ (quirk) และไม่มีการออกเวอร์ชั่น 3 อีก

    ทาง Moment.js แนะนำไลบรารีทดแทนหลายตัว ได้แก่

    • Luxon ไลบรารีที่ใช้ข้อมูล locale และ timezone จากออปเจกต์ Intl แต่รองรับ IE 10 ขึ้นไปเท่านั้น
    • Day.js ใช้ timezone จากออปเจกต์ Intl แต่ใช้ข้อมูล locale จากไฟล์ของตัวเอง ข้อดีคือต้องการ IE 8 ขึ้นไป
    • date.fns ไลบรารีประมวลข้อมูลวันเวลา ใช้ timezone จากออปเจกต์ Intl โดยต้องลงไลบรารีเพิ่ม แต่ใช้ข้อมูล locale จากไฟล์ของตัวเอง
    • js-Joda ไลบรารีพอร์ตมาจากไลบรารี java.time ที่ใช้ตั้งแต่ Java SE 8

    ทางเลือกสุดท้ายคือการไม่ใช้ไลบรารีเลย โดยออปเจกต์ Intl เองก็มีฟีเจอร์ที่ใช้งานกันบ่อยๆ หลายอย่าง แต่ปัญหาคือการอิมพลีเมนต์หลายที่ไม่ครบตามสเปค เช่น Node.js เอง อีกทางคือ ECMA กำลังออกมาตรฐาน Temporal ที่รองรับความต้องการหลายกรณีขึ้น แม้ตอนนี้จะยังไม่ควรใช้งานบนโปรดักชั่น

    ที่มา - Moment.js

    [​IMG]

    Topics: JavaScriptDevelopment
     

แบ่งปันหน้านี้