1 điểm bởi GN⁺ 2024-02-08 | 1 bình luận | Chia sẻ qua WhatsApp

Phát hành jQuery 4.0.0 beta!

  • Phiên bản beta của jQuery 4.0.0 đã được phát hành. Sau một thời gian phát triển dài, bản này bao gồm sửa lỗi, cải thiện hiệu năng và một số thay đổi quan trọng.
  • Có các thay đổi như ngừng hỗ trợ phiên bản thấp hơn IE 11, dọn dẹp mã legacy, loại bỏ các API không dùng đến và chấm dứt hỗ trợ một số hành vi “ma thuật” phức tạp.
  • Trước khi phát hành chính thức, dự án dự kiến sẽ công bố hướng dẫn nâng cấp và plugin jQuery Migrate sẽ hỗ trợ quá trình di chuyển.

Ngừng hỗ trợ IE<11

  • jQuery 4.0 ngừng hỗ trợ IE 10 trở xuống. Việc ngừng hỗ trợ IE 11 sẽ được thực hiện dần trong jQuery 5.0.
  • Dự án cũng ngừng hỗ trợ các trình duyệt cũ như Edge Legacy, iOS thấp hơn 11, Firefox thấp hơn 65 và Android Browser.

Loại bỏ các API không còn được sử dụng

  • Những hàm đã không còn được sử dụng qua nhiều phiên bản đã bị loại bỏ trong bản phát hành lớn này. Các hàm này либо chỉ được dùng nội bộ, либо là những tính năng hiện đã được trình duyệt hiện đại hỗ trợ native.

Loại bỏ push, sort, splice

  • Các phương thức Array từng có trên prototype của jQuery đã bị loại bỏ, và giờ đây sẽ dùng các hàm của Array thay vì prototype của jQuery.

Thay đổi thứ tự sự kiện focusinfocusout

  • Trước đây thứ tự sự kiện focusblur không đồng nhất giữa các trình duyệt, nhưng giờ mọi trình duyệt mà jQuery 4.0 hỗ trợ đều thống nhất theo thứ tự phổ biến. Đây là thay đổi lớn vì nó khác với thứ tự mà jQuery từng chọn trước đó.

Bổ sung hỗ trợ FormData

  • jQuery.ajax giờ hỗ trợ dữ liệu nhị phân bao gồm cả FormData. Trước đây dữ liệu nhị phân bị chuyển thành chuỗi, nhưng giờ sẽ được xử lý tự động.

Loại bỏ việc tự động nâng cấp lên JSONP

  • Trước đây trong jQuery.ajax, nếu cung cấp dataType: "json" cùng callback thì yêu cầu sẽ tự động được chuyển thành JSONP, nhưng giờ việc dùng CORS được ưu tiên hơn trên mọi trình duyệt được hỗ trợ.

Di chuyển mã nguồn jQuery sang ES module

  • Mã nguồn jQuery đã được di chuyển từ AMD sang ES module, và hiện dùng Rollup để đóng gói jQuery.

Hỗ trợ Trusted Types và CSP

  • jQuery 4.0 hỗ trợ Trusted Types, cho phép dùng HTML làm đầu vào cho các phương thức thao tác của jQuery mà không vi phạm chỉ thị Content Security Policy.

Bản build slim được cập nhật

  • Bản build slim của jQuery 4.0.0 nhỏ hơn do đã loại bỏ Deferreds và Callbacks (dưới 20k byte khi nén).

Tải xuống

  • Có thể tải tệp qua jQuery CDN hoặc npm.

Bản build slim

  • Vì mọi trình duyệt được hỗ trợ (trừ IE11) đều hỗ trợ Promise native, bản slim loại bỏ các module ajax, Deferreds và Callbacks.

Lời cảm ơn

  • Dự án gửi lời cảm ơn tới tất cả những người đã tham gia vào bản phát hành này.

Tài khoản Mastodon

  • jQuery hiện đã có tài khoản Mastodon và dự kiến sẽ đăng đồng thời lên Twitter và Mastodon.

Nhật ký thay đổi

  • Nhật ký thay đổi đầy đủ được cung cấp cùng với các thay đổi quan trọng.

Ý kiến của GN⁺:

  • Việc phát hành bản beta jQuery 4.0.0 là tin tức quan trọng với các nhà phát triển web, đặc biệt là việc ngừng hỗ trợ phiên bản thấp hơn IE 11 và chuyển sang ES module là những thay đổi đáng chú ý, phù hợp với tiêu chuẩn phát triển web hiện đại.
  • Các tính năng mới và cải thiện hiệu năng sẽ góp phần nâng cao hiệu quả của ứng dụng web, còn việc rút gọn bản slim sẽ hữu ích cho các dự án nhạy cảm với hiệu năng tải.
  • Việc mở tài khoản Mastodon cho thấy sự đa dạng của mạng xã hội và là bước đi tích cực để mở rộng kênh giao tiếp với cộng đồng nhà phát triển.

1 bình luận

 
GN⁺ 2024-02-08
Ý kiến trên Hacker News
  • Về tầm quan trọng bền vững của jQuery

    • WordPress chiếm hơn 1/3 web, và nhiều bản cài đặt cùng plugin phụ thuộc rất lớn vào jQuery.
    • jQuery được hỗ trợ rộng rãi như một bộ công cụ ổn định cho việc chọn DOM, thao tác thuộc tính, yêu cầu Ajax, xử lý sự kiện, animation và các hàm tiện ích chung.
    • Có những tính năng native có thể thay thế jQuery, nhưng không có API trôi chảy như jQuery.
    • Với những tác vụ chỉ cần một chút cải thiện trên HTML phía server chứ không cần cả một framework UI JavaScript hoàn chỉnh, jQuery mang lại khả năng tương thích đa trình duyệt ổn định và đáng tin cậy.
  • Về việc tự phát triển một phiên bản thay thế jQuery

    • Sau khi chờ jQuery 4.0 quá lâu, cuối cùng đã tự tạo jQuery của riêng mình. Những khác biệt chính gồm animation dùng CSS, sử dụng phần tử hoặc danh sách trong suốt, inline script, hoạt động độc lập và là một file duy nhất không có dependency với chưa đến 340 dòng.
  • Sự tò mò về tình hình phát triển hiện tại của jQuery

    • Trong khi nhiều nhà phát triển đang cố gắng loại bỏ jQuery, có người đặt câu hỏi ai còn đang tích cực phát triển bằng jQuery.
    • Phần lớn chức năng của jQuery giờ đã được tích hợp sẵn dưới dạng native, và querySelectorAll là một trong những tính năng mạnh mẽ nhất.
  • Kinh nghiệm phát triển nền tảng low-code bằng jQuery

    • Đã xây dựng trình biên tập kéo thả của một nền tảng low-code bằng jQuery. Nó bao gồm trình biên tập, mọi control (tức các UI component), và cả mã được tạo ra cũng là jQuery thuần.
    • Ban lãnh đạo ở các tập đoàn lớn thường hỏi vì sao không dùng React/Angular..., nhưng vẫn vui khi biết jQuery vẫn còn phù hợp.
  • Bày tỏ sự yêu mến với jQuery

    • Bày tỏ lòng biết ơn và tình cảm với đội ngũ jQuery, đồng thời nhấn mạnh rằng jQuery đơn giản, hiệu quả và giúp hoàn thành công việc.
  • Chia sẻ trải nghiệm dùng jQuery trong quá khứ

    • Từng tranh luận với tech lead về việc có nên thêm jQuery vào dự án hay không.
    • Người đó cho rằng kích thước thư viện sẽ làm tăng thời gian tải trang, nhưng cuối cùng lại không thể viết được mã hỗ trợ Ajax call trên nhiều trình duyệt và đã thêm jQuery vào dự án.
  • Sự bối rối về việc dùng jQuery vào năm 2024

    • Khi trình duyệt đã hỗ trợ chọn DOM tốt hơn, có người bày tỏ sự bối rối và tò mò về lý do vẫn dùng jQuery trong năm 2024.
  • Chia sẻ trải nghiệm thời kỳ đầu áp dụng jQuery

    • Nhớ lại việc từng thực hiện một buổi thuyết trình nội bộ để thuyết phục đồng nghiệp khi jQuery mới ra mắt.
  • Hoài niệm về các công cụ liên quan đến jQuery

    • Nhớ lại với nhiều tình cảm việc từng sử dụng các công cụ liên quan đến jQuery như DataTables và X-editable.