Nhà phát triển thường chia sẻ với chúng tôi rằng họ khó theo kịp các thay đổi trên web và hiểu lý do dẫn đến những thay đổi này. Hôm nay, chúng tôi sẽ bắt đầu một loạt bài viết mới có tên Chrome Dev Insider (Thông tin nội bộ dành cho nhà phát triển Chrome). Trong loạt bài này, chúng tôi sẽ chia sẻ (1) Những điều thú vị và đáng chú ý, (2) Thông tin chi tiết về cách chúng tôi đưa ra quyết định về một chủ đề chính (ví dụ: thay đổi FLOC) hoặc cách tiếp cận công việc của chúng tôi với hệ sinh thái (ví dụ: Interop 2022) và (3) mọi điều thực sự quan trọng mà bạn cần biết (ví dụ: các thay đổi trong chuỗi tác nhân người dùng).
Khi chia sẻ những nội dung mà chúng tôi đang nỗ lực thực hiện, chúng tôi sẽ đề cập đến 4 ưu tiên của mình trong năm 2022:
- Cung cấp trải nghiệm thú vị cho người dùng: giúp người dùng dễ hiểu mọi thứ; cho dù đó là hiệu suất, giao dịch, danh tính hay quá trình chuyển đổi.
- Nâng cao khả năng của web: hỗ trợ vai trò đang phát triển của web từ một nền tảng tiêu thụ nội dung thành nền tảng cho nhiều trải nghiệm, bao gồm cả những trải nghiệm cần tích hợp sâu ở cấp hệ điều hành và phần cứng.
- Đơn giản hoá quá trình phát triển web: giúp việc đưa ra quyết định dễ dàng hơn và cải thiện năng suất của nhà phát triển.
- Cải thiện quyền riêng tư trên web: đáp ứng kỳ vọng của người dùng web về việc bảo vệ quyền riêng tư đối với dữ liệu tốt hơn khi các nhà phát triển ngày càng tinh vi hơn trong việc theo dõi và nhắm mục tiêu.
Tin tức: Interop 2022
Khi lập kế hoạch lộ trình, chúng tôi xem xét ý kiến phản hồi của nhà phát triển để hiểu rõ những vấn đề và nhu cầu hàng đầu của nhà phát triển web, cùng nhiều yếu tố khác. Một chủ đề chính xuất hiện liên tục là khả năng tương thích với trình duyệt, giúp trải nghiệm hoạt động giống nhau trên các trình duyệt. Trong năm qua, chúng tôi đã nỗ lực cùng hệ sinh thái để giải quyết chủ đề này trong nỗ lực ưu tiên "đơn giản hoá việc phát triển web".
Năm ngoái, Microsoft, Chrome và các bên tham gia hệ sinh thái đã công bố Compat 2021, nhờ đó, tất cả các công cụ trình duyệt phổ biến (Chromium, Gecko và Webkit) đều đạt điểm số trên 90% trong 5 lĩnh vực trọng tâm chính được xác định cho năm đó. Ngoài ra, Compat 2021 đã tạo ra một nền tảng vững chắc cho các tính năng mạnh mẽ như CSS Grid (12% mức sử dụng và tăng đều) và CSS Flexbox (77% mức sử dụng).
Và tháng trước, Apple, Bocoup, Google, Igalia, Microsoft và Mozilla đã cùng nhau trở thành những người ủng hộ để giải quyết các vấn đề về khả năng tương thích hàng đầu của trình duyệt do các nhà phát triển web xác định và đồng ý về một điểm chuẩn chung. Kết quả là Interop 2022, một dự án nhằm mục đích mang lại sự đồng nhất hơn cho nền tảng. Điểm chuẩn này tập trung vào 15 lĩnh vực ưu tiên mà các nhà phát triển xác định là chìa khoá để cải thiện năng suất.
Thông tin nội bộ: Làm việc với các trình duyệt đồng cấp
Với Interop 2022 ở tâm trí, tôi đã ngồi xuống với Robert Nyman và Philip Jägenstedt, những người đã tham gia vào các cuộc trò chuyện này để tìm hiểu câu chuyện nội bộ. Dưới đây là bản cắt của biên tập viên về cách tạo video này.
Đâu là nguồn gốc của sáng kiến này?
Robert: Mọi thứ bắt đầu từ năm 2019, khi chúng tôi thực hiện cuộc khảo sát DNA MDN 2019. Rõ ràng là các vấn đề về khả năng tương thích là vấn đề chính đối với các nhà phát triển xây dựng cho web. Chúng tôi đã theo dõi chi tiết hơn trong Báo cáo về khả năng tương thích của trình duyệt MDN năm 2020. Nhờ đó, chúng tôi có đủ thông tin và dữ liệu hữu ích để bắt đầu nỗ lực về khả năng tương thích năm 2021. Nhờ đó, chúng tôi có thể tiếp tục công việc đó và mở rộng phạm vi đó với Interop 2022.
Philip: Tôi cũng muốn đề cập đến web-platform-tests và Trạng thái của CSS 2021. Chúng tôi đã cộng tác chặt chẽ với các nhà cung cấp trình duyệt khác về việc kiểm thử bằng WPT trong nhiều năm qua và chúng tôi thực sự muốn tận dụng điều đó. Các chương trình kiểm thử cho các tính năng này hầu hết đã được viết, vì vậy, chúng ta chỉ cần xem xét các chương trình kiểm thử và thêm một số chương trình kiểm thử bị thiếu. Google đã đầu tư rất nhiều vào wpt.fyi, nhưng chúng tôi cũng phải cảm ơn Mozilla vì đã giúp WPT gặt hái được thành công như ngày hôm nay. Tất nhiên, Mozilla cũng đóng vai trò quan trọng trong các cuộc khảo sát về DNA của MDN. Ngoài ra, còn có báo cáo Trạng thái CSS 2021. Để tổ chức một sự kiện như Interop 2022, chúng tôi cần có thông tin mới về nhu cầu của nhà phát triển web. Vì vậy, chúng tôi đã làm việc với Sacha, người duy trì bản khảo sát, để đưa vào một số câu hỏi mới về các vấn đề về khả năng tương thích của trình duyệt. Điều đó thực sự giúp ích cho chúng tôi trong quá trình lập kế hoạch cho Interop 2022.
Bạn có bài học hoặc ý kiến phản hồi nào từ Compat 2021 không?
Robert: Việc đo lường và có điểm số và thông tin chi tiết về hiệu suất của từng công cụ trình duyệt thực sự hữu ích. Nhờ đó, chúng tôi có thể theo dõi tiến trình và đảm bảo thảo luận cũng như giải quyết các vấn đề chưa rõ ràng hoặc cần được ưu tiên. Chúng tôi cũng nhanh chóng nhận ra rằng "Interop" là tên phù hợp hơn cho sáng kiến này. Các nhà cung cấp trình duyệt thường phân biệt các thuật ngữ khả năng tương thích và khả năng tương tác, trong đó khả năng tương thích đề cập đến khả năng tương thích của trang web và khả năng tương tác đề cập đến hai hoặc nhiều trình duyệt hoạt động giống nhau. Theo thuật ngữ đó, nỗ lực này là về khả năng tương tác, vì vậy dự án đã phù hợp với cách đặt tên đó.
Tầm nhìn của chúng tôi là gì?
Robert: Để duy trì môi trường web mở, trình duyệt và công cụ kết xuất phải đa dạng. Tuy nhiên, điều này hiện đang gây ra nhiều khó khăn cho các nhà phát triển của chúng tôi, những người phải theo kịp các mức độ hỗ trợ khác nhau cho các tính năng trên từng công cụ. Chúng tôi mong muốn các nhà phát triển xem nền tảng web là lựa chọn khả thi và hấp dẫn nhất cho nhu cầu của họ, đồng thời có thể tập trung vào việc xây dựng trải nghiệm tốt nhất có thể thay vì dành nhiều thời gian để giải quyết các vấn đề về khả năng tương tác. Và rõ ràng là để đạt được mục tiêu đó, các tính năng được yêu cầu nhiều nhất cần được đưa vào tất cả các công cụ trình duyệt chính để thực sự giúp nhà phát triển thành công trên nền tảng web.
Làm cách nào để chúng ta cùng nhau tiến lên khi các trình duyệt (đôi khi) có mục tiêu khác nhau?
Philip: Phương pháp của chúng tôi là tìm những lĩnh vực mà cả hai bên đều quan tâm để tìm ra những dự án cộng tác đôi bên cùng có lợi, trong đó các mục tiêu đã được điều chỉnh cho phù hợp. Bằng cách ưu tiên một số ít việc cần làm cùng một lúc, chúng ta có thể tập trung vào những lĩnh vực đó, tiến nhanh hơn và đạt được chất lượng cao hơn so với khi chỉ làm việc riêng lẻ. Đó là ý tưởng.
Tôi nghĩ điều quan trọng là phải nhận ra rằng phương pháp dựa trên sự đồng thuận này có những giới hạn. Khi các mục tiêu chưa được điều chỉnh cho phù hợp, chúng ta cần phải tiến lên theo một cách khác. Đôi khi, việc cung cấp thêm bằng chứng về nhu cầu của nhà phát triển web hoặc người dùng có thể hữu ích, nhưng cuối cùng, các nhà cung cấp trình duyệt có thể cung cấp những tính năng không được nhiều người đồng ý. Trong trường hợp tốt nhất, giá trị của tính năng này được thể hiện khi các nhà phát triển web dùng thử tính năng, nhận thấy tính năng này giải quyết được nhu cầu của họ và yêu cầu tính năng tương tự trong tất cả trình duyệt.
Trở lại với Interop 2022, chúng ta có thấy các tính năng không phải thiết kế hoặc bố cục nào xuất hiện trong quy trình này không?
Philip: Chắc chắn rồi! Interop 2022 không chỉ giới hạn ở các tính năng kiểu và bố cục, nhưng cuối cùng lại nghiêng rất nhiều về CSS. Một phần là do State of CSS 2021 mới ra mắt, nhưng cũng một phần là do các nhà phát triển web cho chúng tôi biết rằng đây là nơi họ gặp nhiều vấn đề nhất về sự khác biệt giữa các trình duyệt. Nhiều khu vực tiêu điểm, chẳng hạn như các thành phần của biểu mẫu và hộp thoại, không chỉ nằm trong CSS. Chúng tôi cũng có một số nỗ lực điều tra liên quan đến việc chỉnh sửa API, con trỏ và sự kiện chuột. Tôi hy vọng rằng tại Interop 2023, chúng tôi sẽ có thêm nhiều dữ liệu mới về nhu cầu của nhà phát triển trên web và đưa thêm nhiều tính năng như vậy vào nỗ lực này.
Những thay đổi quan trọng sắp tới
Một trong những mục đích của loạt bài viết này là thông báo cho nhà phát triển về những thay đổi quan trọng sắp tới; những điều quan trọng để cải thiện trải nghiệm người dùng và chức năng của nền tảng.
Tiến trình nêu dưới đây là thời điểm chúng tôi dự kiến những thay đổi này sẽ diễn ra. Tuy nhiên, các phiên bản phát hành cho các tính năng có thể thay đổi.
Giảm thiểu tác nhân người dùng
Tiêu đề User-Agent (Tác nhân người dùng) và các giao diện JS liên kết với tiêu đề này không chỉ truyền thông tin hữu ích về trình duyệt và thiết bị, mà còn mang theo thông tin không chính xác và thông tin về dòng thiết bị cũ. Vấn đề lớn hơn là việc cung cấp gần như vô hạn các lỗi phân tích cú pháp chuỗi UA, vì lỗi này được gửi một cách thụ động đến các máy chủ cho tất cả các yêu cầu điều hướng và tài nguyên phụ. Con số này tương đương với khoảng 10 bit entropy mà máy chủ có thể sử dụng để tạo giá trị nhận dạng theo dõi ổn định khi người dùng di chuyển trên web.
Kế hoạch hiện tại của chúng tôi là giảm chuỗi UA hiện có bằng cách tiếp tục gửi phiên bản chính của trình duyệt có độ hỗn loạn thấp, tên nền tảng và tính di động, đồng thời đóng băng thông tin có độ hỗn loạn cao. Đối với các trường hợp sử dụng yêu cầu thêm thông tin ngoài thông tin có trong tiêu đề, chúng tôi đã gửi API Gợi ý ứng dụng của tác nhân người dùng kể từ Chrome 89.
Chúng tôi đã thử nghiệm Origin trong 6 tháng để thử nghiệm và nhận ý kiến phản hồi. Chúng tôi rất vui khi không nhận được ý kiến phản hồi nào liên quan đến sự cố, mặc dù có hơn 200 người tham gia.
- Tiến trình: Trong Chrome 101, chúng tôi sẽ tiếp tục với giai đoạn 4: giảm thông tin
MINOR.BUILD.PATCH
trong chuỗi UA xuống còn0.0.0
. Chúng tôi cũng sẽ tiếp tục thông báo trước và dành thời gian để các trang web chuẩn bị cho giai đoạn 5 trở đi. Chúng tôi cũng đã tạo các chính sách dành cho doanh nghiệp để chọn không áp dụng những thay đổi này và sẽ chạy chương trình thử nghiệm ngừng sử dụng cho đến Chrome 113 để các trang web có thêm thời gian chuẩn bị cho những thay đổi này. - Lời kêu gọi hành động: Di chuyển trang web của bạn sang Gợi ý ứng dụng UA hoặc tham gia thử nghiệm ngừng sử dụng.
API truy cập phông chữ cục bộ
Chrome sẽ ra mắt API Quyền truy cập phông chữ trên máy. Mặc dù các trang web từ lâu đã có thể sử dụng phông chữ trên máy, nhưng API này liệt kê danh sách phông chữ trên máy và cấp quyền truy cập vào chính dữ liệu phông chữ đó. Chức năng này cho phép người dùng sử dụng tất cả phông chữ của họ với thiết kế dựa trên web và các ứng dụng khác.
Phông chữ cục bộ từ lâu đã được gọi là vectơ vân tay số. Mặc dù API mới này không tăng khả năng sử dụng phông chữ để tạo vân tay số, nhưng Chrome yêu cầu người dùng cấp quyền "local-fonts"
mới cho một trang web trước khi trang web đó có thể sử dụng API Truy cập phông chữ cục bộ mới.
Trong tương lai, chúng tôi dự định yêu cầu cấp cùng một quyền "phông chữ cục bộ" trước khi sử dụng bất kỳ API nào khác cung cấp quyền truy cập vào phông chữ cục bộ.
- Tiến trình: Nhắm đến Chrome 103 (ngày 22 tháng 6)
- Lời kêu gọi hành động: Tìm hiểu thêm về API này và cách sử dụng API này để bắt đầu triển khai.
Làm cho BFCache hoạt động với Cache-control: no-store
Chúng tôi đã xác định được một cơ hội quan trọng để cải thiện tần suất Bộ nhớ đệm cho thao tác tiến/lùi có thể phân phối thao tác điều hướng tiến/lùi tức thì. Điều này đòi hỏi phải thay đổi cách BFCache hoạt động trên các trang được phân phát bằng tiêu đề HTTP Cache-control: no-store. Chúng tôi có một đề xuất công khai được thiết kế để ngăn chặn những thay đổi đáng kể bằng cách theo dõi nhiều tín hiệu (ví dụ: xoá các trang khỏi BFCache bất cứ khi nào cookie chỉ dành cho HTTP thay đổi) và các trường hợp ngoại lệ (ví dụ: chính sách nhóm cho khách hàng Doanh nghiệp/Giáo dục) cho các ngữ cảnh riêng biệt. Đây là một cơ hội phức tạp nhưng thú vị. Chúng tôi rất mong nhận được ý kiến phản hồi và đánh giá chi tiết hơn!
- Tiến trình: Nhắm đến Chrome 104 (tháng 7 năm 2022), giả sử không có sự cố lớn nào.
- Lời kêu gọi hành động: Hãy xem đề xuất để biết thêm thông tin chi tiết, bao gồm cả cách bật tính năng triển khai đang thực hiện và cách chia sẻ ý kiến phản hồi, chẳng hạn như các tình huống thực tế mà phương pháp của chúng tôi sẽ tạo ra những rào cản mới.
Thông qua loạt bài viết này, tôi hy vọng có thể giúp cộng đồng nhà phát triển của chúng tôi tập trung và gắn kết hơn bằng cách giúp họ hiểu rõ hơn về nhóm của tôi và công việc của họ. Hãy chú ý theo dõi để biết thêm thông tin cập nhật.
Chúc bạn có nhiều niềm vui khi sử dụng.
Bạn nghĩ sao về ấn bản đầu tiên của The Chrome Dev Insider? Chia sẻ ý kiến phản hồi của bạn.