1 คะแนน โดย GN⁺ 2024-02-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เปิดตัว jQuery 4.0.0 เบตา!

  • ได้เปิดตัว jQuery 4.0.0 รุ่นเบตาแล้ว หลังจากใช้เวลาพัฒนามาอย่างยาวนาน โดยมีการแก้ไขบั๊ก ปรับปรุงประสิทธิภาพ และมีการเปลี่ยนแปลงสำคัญบางประการรวมอยู่ด้วย
  • มีการยุติการรองรับเวอร์ชันต่ำกว่า IE 11, จัดระเบียบโค้ดแบบเลกาซี, ลบ API ที่ไม่ได้ใช้งาน, และยุติการรองรับพฤติกรรม "เวทมนตร์" ที่ซับซ้อนบางอย่าง
  • มีแผนจะเผยแพร่คู่มืออัปเกรดก่อนการออกเวอร์ชันจริง และปลั๊กอิน jQuery Migrate จะช่วยในการย้ายระบบ

ยุติการรองรับ IE<11

  • jQuery 4.0 ยุติการรองรับ IE 10 และเวอร์ชันที่ต่ำกว่า โดยการยุติการรองรับ IE 11 จะค่อย ๆ ดำเนินการใน jQuery 5.0
  • ยังยุติการรองรับเบราว์เซอร์รุ่นเก่าอย่าง Edge Legacy, iOS ต่ำกว่า 11, Firefox ต่ำกว่า 65, Android Browser เป็นต้น

ลบ API ที่เลิกใช้งานแล้ว

  • ฟังก์ชันหลายตัวที่ไม่ได้ใช้งานมาหลายเวอร์ชันถูกลบออกในเมเจอร์รีลีสครั้งนี้ ฟังก์ชันเหล่านี้ถูกใช้ภายในเท่านั้น หรือเป็นความสามารถที่เบราว์เซอร์ปัจจุบันรองรับแบบเนทีฟอยู่แล้ว

ลบ push, sort, splice

  • เมธอดของ Array ที่เคยอยู่บน jQuery prototype ถูกลบออกแล้ว และตอนนี้จะใช้ฟังก์ชันของ Array แทน jQuery prototype

เปลี่ยนลำดับอีเวนต์ focusin และ focusout

  • ก่อนหน้านี้ลำดับของอีเวนต์ focus และ blur ไม่สอดคล้องกันระหว่างเบราว์เซอร์ แต่ตอนนี้ทุกเบราว์เซอร์ที่ jQuery 4.0 รองรับเห็นตรงกันกับลำดับแบบทั่วไปแล้ว ซึ่งถือเป็นการเปลี่ยนแปลงสำคัญเพราะต่างจากลำดับที่ jQuery เคยเลือกใช้มาก่อน

เพิ่มการรองรับ FormData

  • ตอนนี้ jQuery.ajax รองรับข้อมูลไบนารีที่รวมถึง FormData แล้ว เดิมทีข้อมูลไบนารีจะถูกแปลงเป็นสตริง แต่ตอนนี้จะจัดการให้อัตโนมัติ

ยกเลิกการยกระดับเป็น JSONP อัตโนมัติ

  • ก่อนหน้านี้ใน jQuery.ajax หากกำหนด dataType: "json" และมีการให้ callback ระบบจะเปลี่ยนเป็นคำขอ JSONP โดยอัตโนมัติ แต่ตอนนี้แนะนำให้ใช้ CORS ในทุกเบราว์เซอร์ที่รองรับ

ย้ายซอร์สของ jQuery ไปเป็น ES modules

  • ซอร์สของ jQuery ถูกย้ายจาก AMD ไปเป็น ES modules แล้ว และตอนนี้ใช้ Rollup สำหรับแพ็กเกจ jQuery

รองรับ Trusted Types และ CSP

  • jQuery 4.0 รองรับ Trusted Types ทำให้สามารถใช้ HTML เป็นอินพุตให้กับเมธอดจัดการของ jQuery ได้โดยไม่ละเมิดคำสั่งของ Content Security Policy

Slim build ที่อัปเดตแล้ว

  • Slim build ของ jQuery 4.0.0 มีขนาดเล็กลงด้วยการลบ Deferreds และ Callbacks ออก (เมื่อบีบอัดแล้วมีขนาดน้อยกว่า 20k ไบต์)

ดาวน์โหลด

  • สามารถดาวน์โหลดไฟล์ได้ผ่าน jQuery CDN หรือ npm

Slim build

  • เนื่องจากทุกเบราว์เซอร์ที่รองรับ (ยกเว้น IE11) รองรับ Promise แบบเนทีฟแล้ว เวอร์ชัน slim จึงตัดโมดูล ajax, Deferreds, Callbacks ออก

คำขอบคุณ

  • ขอขอบคุณทุกคนที่มีส่วนร่วมกับรีลีสครั้งนี้

บัญชี Mastodon

  • ตอนนี้ jQuery มีบัญชี Mastodon แล้ว และมีแผนจะโพสต์พร้อมกันทั้งบน Twitter และ Mastodon

บันทึกการเปลี่ยนแปลง

  • มีบันทึกการเปลี่ยนแปลงทั้งหมดพร้อมสรุปการเปลี่ยนแปลงสำคัญให้ด้วย

ความคิดเห็นจาก GN⁺:

  • การเปิดตัว jQuery 4.0.0 รุ่นเบตาเป็นข่าวสำคัญสำหรับนักพัฒนาเว็บ โดยเฉพาะการยุติการรองรับเวอร์ชันต่ำกว่า IE 11 และการย้ายไปสู่ ES modules ซึ่งเป็นการเปลี่ยนแปลงสำคัญให้สอดคล้องกับมาตรฐานการพัฒนาเว็บสมัยใหม่
  • ฟีเจอร์ใหม่และการปรับปรุงประสิทธิภาพจะช่วยเพิ่มประสิทธิผลของเว็บแอปพลิเคชัน และการลดขนาดของ slim build ก็มีประโยชน์กับโปรเจ็กต์ที่อ่อนไหวต่อประสิทธิภาพการโหลด
  • การเปิดบัญชี Mastodon ของ jQuery สะท้อนถึงความหลากหลายของโซเชียลมีเดีย และเป็นก้าวที่ดีในการขยายช่องทางสื่อสารกับชุมชนนักพัฒนา

1 ความคิดเห็น

 
GN⁺ 2024-02-08
ความเห็นจาก Hacker News
  • เกี่ยวกับความสำคัญอย่างต่อเนื่องของ jQuery

    • WordPress ครองสัดส่วนมากกว่า 1/3 ของเว็บ และการติดตั้งกับปลั๊กอินจำนวนมากยังพึ่งพา jQuery อย่างมาก
    • jQuery ได้รับการรองรับอย่างแพร่หลายในฐานะชุดเครื่องมือที่เสถียรสำหรับการเลือก DOM, การจัดการแอตทริบิวต์, คำขอ Ajax, การจัดการอีเวนต์, แอนิเมชัน และฟังก์ชันยูทิลิตีทั่วไป
    • แม้จะมีความสามารถแบบเนทีฟที่ใช้แทน jQuery ได้ แต่ก็ยังไม่มี API ที่ลื่นไหลเท่า jQuery
    • สำหรับงานที่ต้องการเพียงการเสริมเล็กน้อยบน HTML ฝั่งเซิร์ฟเวอร์ แต่ไม่จำเป็นต้องใช้เฟรมเวิร์ก UI ของ JS ทั้งชุด jQuery มอบความเข้ากันได้ข้ามเบราว์เซอร์ที่เสถียรและเชื่อถือได้
  • เกี่ยวกับการพัฒนาเวอร์ชันทางเลือกของ jQuery ด้วยตนเอง

    • หลังจากรอ jQuery 4.0 มานาน สุดท้ายก็สร้าง jQuery ของตัวเองขึ้นมา โดยความแตกต่างหลักคือใช้ CSS สำหรับแอนิเมชัน, ใช้องค์ประกอบหรือรายการแบบโปร่งใส, มีสคริปต์อินไลน์, ทำงานได้อย่างอิสระ และเป็นไฟล์เดี่ยวที่ไม่มี dependency ความยาวไม่ถึง 340 บรรทัด
  • ความสงสัยเกี่ยวกับสถานะการพัฒนา jQuery ในปัจจุบัน

    • ท่ามกลางความพยายามของนักพัฒนาจำนวนมากที่จะเอา jQuery ออก ก็เกิดคำถามว่าใครกันที่ยังพัฒนาโดยใช้ jQuery อย่างจริงจังอยู่
    • ฟังก์ชันส่วนใหญ่ของ jQuery ปัจจุบันมีอยู่ในตัวแบบเนทีฟแล้ว และ querySelectorAll ก็เป็นหนึ่งในความสามารถที่ทรงพลังที่สุด
  • ประสบการณ์พัฒนาแพลตฟอร์มโลว์โค้ดด้วย jQuery

    • เคยสร้าง drag-and-drop editor ของแพลตฟอร์มโลว์โค้ดด้วย jQuery ซึ่งรวมทั้งตัวเอดิเตอร์และคอนโทรลทั้งหมด (หรือก็คือ UI component) และโค้ดที่สร้างออกมาก็เป็น jQuery ล้วน
    • ผู้บริหารของบริษัทใหญ่มักถามว่าทำไมไม่ใช้ React/Angular เป็นต้น แต่ก็ยินดีที่รู้ว่า jQuery ยังมีความเกี่ยวข้องอยู่
  • การแสดงความชื่นชอบต่อ jQuery

    • แสดงความขอบคุณและความรักต่อทีม jQuery พร้อมย้ำว่า jQuery นั้นเรียบง่ายและมีประสิทธิภาพในการทำงานให้สำเร็จ
  • การแบ่งปันประสบการณ์การใช้ jQuery ในอดีต

    • เล่าถึงประสบการณ์ในอดีตที่เคยถกเถียงกับหัวหน้าฝ่ายเทคนิคว่าจะเพิ่ม jQuery เข้าไปในโปรเจกต์หรือไม่
    • หัวหน้ามองว่าขนาดของไลบรารีจะเป็นภาระต่อเวลาโหลดหน้าเพจ แต่สุดท้ายก็ไม่สามารถเขียนโค้ดที่รองรับ Ajax call บนหลายเบราว์เซอร์ได้ และต้องเพิ่ม jQuery เข้าไปในโปรเจกต์
  • ความสับสนต่อการใช้ jQuery ในปี 2024

    • เมื่อเบราว์เซอร์รองรับการเลือก DOM ได้ดีขึ้น ก็แสดงความสับสนและความสงสัยว่าทำไมยังต้องใช้ jQuery ในปี 2024
  • การแบ่งปันประสบการณ์ช่วงเริ่มต้นของการนำ jQuery มาใช้

    • ย้อนความถึงตอนที่ jQuery เปิดตัวใหม่ ๆ และเคยทำการนำเสนอภายในเพื่อโน้มน้าวเพื่อนร่วมงานให้ยอมรับมัน
  • ความทรงจำเกี่ยวกับเครื่องมือที่เกี่ยวข้องกับ jQuery

    • รำลึกอย่างอบอุ่นถึงประสบการณ์การใช้เครื่องมือที่เกี่ยวข้องกับ jQuery เช่น DataTables และ X-editable