Có gì hot? Tuần 14 - 2023

Viết bởi @kcjpop

Đăng ngày

Dài 802 từ. Đọc trong 5 phút.

"Bản tin Ehkoo tuần 14 năm 2023"

Tính năng mới trên nền tảng web

Tháng 3 vừa qua đón chào các phiên bản ổn định của Firefox 111, Chrome 111, và Safari 16.4. Cùng điểm qua những tính năng mới trên nền tảng web nào.

Firefox 111 thêm vào thuộc tính toàn cục autocapitalizetranslate cho thẻ HTML. autocapitalize khi gán vào thẻ input sẽ quy định chữ được tự động viết hoa như thế nào khi nhập bằng bàn phím ảo. Các giá trị cho phép là: on / sentences tự động viết hoa đầu câu (mặc định), words viết hoa cho chữ cái đầu tiên của mỗi từ, characters tất cả chữ đều viết hoa, và off / none để tắt viết hoa tự động. autocapitalize sẽ không có hiệu lực với input[type=url | email | password]. Trong khi đó translate = yes | no giúp bạn quy định phần nội dung nào nên được dịch bởi các chương trình tự động, ví dụ như Google Translates. Chẳng hạn như <span translate="no">My Dung Co.</span> thì không nên dịch ra vậy 😆

Cũng trong phiên bản 111, Firefox mang đến Origin Private File System (OPFS). Nói cho ngắn gọn thì đây là một “ổ cứng” để tạo thư mục và tập tin dành riêng cho từng domain vậy. Bạn có thể dùng OPFS để đọc/ ghi files nhanh hơn, phù hợp cho các ứng dụng dùng Wasm. Tìm hiểu thêm về OPFS ở đây.

Trong khi đó Chrome 111 mang đến View Transitions API, giúp bạn thực hiện các chuyển động khi thay đổi trạng thái các trang của SPAs. Ngoài ra Chrome 111 còn hỗ trợ các màu bên ngoài sắc vực (gamut) RGB, cùng với hai hàm CSS mới color()color-mix(), và hỗ trợ cú pháp “of S” cho :nth-child():nth-last-child().

Với Safari 16.4, trong bản tin tuần trước chúng ta cũng nói qua những tính năng mới rồi:

  • Gửi tin thông báo (notifications) từ ứng dụng app đã được thêm vào Home Screen thông qua Push API, Notification API, và Service Worker. Đồng thời bạn cũng có thể dùng Badge API để hiển thị một nhãn đếm (badge) trên icon của ứng dụng.

  • Giới thiệu các pseudo-class mới: :dir(), :user-valid, :user-invalid, :modal, :fullscreen.

  • @property để định nghĩa kiểu giá trị cho biến CSS.

  • Hỗ trợ CSS Typed OM, giúp JavaScript có thể đọc giá trị của CSS thành object với kiểu dữ liệu tương ứng, thay vì chỉ là string như trước đây.

Tin vắn

  • Vercel đang thử nghiệm Vercel KV, một cơ sở dữ liệu dạng khóa-giá trị (key-value) chạy ở Edge. Sử dụng Redis của Upstash bên dưới.

  • Storybook phát hành trước phiên bản 7.0, đem đến hỗ trợ Vite ngay từ đầu, không cần cài đặt cho NextJS và SvelteKit, cải thiện type safety, cũng như sửa vài lỗi khác.

  • Rome phát hành phiên bản 12, hỗ trợ TypeScript 4.7 và 5.0, thêm các luật để lint, hỗ trợ tập tin JSON, nâng cấp tích hợp với VSCode. Quèo, nhưng có ai xài Rome hông?

Mới thấy trên quầy

Một vài thư viện/ công cụ hữu ích mà bọn mình mới phát hiện 😛

  • oleggrishechkin/react-viewport-list: Là một thư viện nhẹ hều nhưng khá xịn để render một danh sách lớn (vài chục ngàn dòng hoặc hơn) bằng React. Hỗ trợ flexbox, scroll dọc/ ngang, v.v.

  • daba.so: Giúp bạn import một tập tin JSON và chuyển thành database luôn 😮 Sau đó bạn có thể dùng gói npm i daba để thực hiện thêm/ xóa/ sửa/ truy vấn trên db này. Sắp tới sẽ hỗ trợ thêm functions, authentication, pages, email. Làm mình nhớ tới Supabase ghê. Hiện tại vẫn đang miễn phí.

  • swup/swup: Thư viện giúp bạn làm hiệu ứng chuyển trang cho các ứng dụng multi-page.

  • Phosphor Icons tập hợp hơn 1200 icons với 6 phong cách khác nhau: Thin, Light, Regular, Bold, Fill, và Duotone.

  • code-hike/bright là một server component giúp tô màu cú pháp (syntax highlighting 🤣) cho React.

Đọc/ xem gì cuối tuần

Kết

Hẹn gặp lại các bạn trong tuần tiếp theo 👋

Bản tin Ehkoo hàng tuần 💌

Đăng ký ngay để nhận những tin và bài viết mới nhất về lập trình frontend, cũng như các thủ thuật hay thư viện mới…

Powered by Buttondown

Gửi tặng cà phê ☕️

Nếu thấy bài viết này hữu ích, bạn có thể gửi tặng Ehkoo một ly cà phê theo link bên dưới 👇

Cám ơn bạn rất nhiều 🤗