Ý định Blink là gì?

Khi các kỹ sư muốn thay đổi công cụ kết xuất Blink, họ sẽ đăng trên danh sách gửi thư blink-dev để được phê duyệt tiếp tục. Những bài đăng danh sách gửi thư này được gọi là Ý định Blink.

Các trình duyệt web dựa trên Chromium sử dụng công cụ kết xuất Blink để chuyển đổi mã và tài nguyên thành các trang web mà bạn có thể xem và tương tác.

Danh sách gửi thư blink-dev.

Khám phá cách hoạt động của Ý định Blink, lý do chúng quan trọng và cách các tính năng mới được đưa vào Blink.

Chromium là dự án trình duyệt nguồn mở mà Chrome và một số trình duyệt và khung khác được xây dựng. Blink là công cụ kết xuất mà Chromium sử dụng.

Để một tính năng mới có thể xuất hiện trong Blink, tính năng đó cần phải trải qua quy trình phát triển công khai của dự án Chromium. "Tính năng mới" là mọi thay đổi hoặc bổ sung đối với mã hoặc cấu trúc trình duyệt. Đó có thể là một API JavaScript mới, một điểm cải tiến đáng kể về hiệu suất trong mã Blink hoặc một số thay đổi khác đối với giao diện hoặc chức năng của trình duyệt.

Một quy trình mở và cộng tác

Chromium là một dự án lớn, phức tạp với hàng nghìn cộng tác viên. Khi có thay đổi đối với Chromium, mỗi mốc quan trọng là một cơ hội để mời hệ sinh thái web rộng lớn hơn đưa ra ý kiến về thiết kế và cách triển khai.

Bất cứ khi nào có thể, các tính năng mới phải có khả năng tương tác trên nền tảng web và không chỉ được triển khai trên một trình duyệt. Nhà phát triển web không muốn gặp phải những điều bất ngờ: khi trình duyệt không hoạt động như mong đợi hoặc khi bạn phải viết nhiều mã cho nhiều trình duyệt và nền tảng. Ý định Blink giúp cấu trúc và điều chỉnh quá trình thay đổi để các thay đổi dễ dự đoán hơn và ít gây bất ngờ hơn, điều này rất tốt cho các nhà phát triển web.

Đối với người dùng, nhà cung cấp trình duyệt cần cẩn thận để các thay đổi không khiến trang web ngừng hoạt động. Chủ sở hữu trang web thường xuyên ngừng duy trì trang web. Một số trang web chưa được cập nhật trong nhiều thập kỷ! Các nhà cung cấp trình duyệt cần cân nhắc điều này khi thực hiện những thay đổi có thể gây ra sự cố.

Từ ý tưởng đến đề xuất

Các đề xuất thay đổi và cập nhật cho nền tảng web được đưa ra dựa trên nghiên cứu: tham khảo ý kiến của người dùng, doanh nghiệp, kỹ sư trình duyệt, nhà phát triển web và các bên liên quan khác. Nghiên cứu này giúp nhóm Chrome tìm ra những gì còn thiếu trên nền tảng hoặc những gì cần thay đổi. Ban đầu, đề xuất thay đổi hoặc tính năng mới trên nền tảng web chỉ là những từ trên một trang. Các kỹ sư chia sẻ tài liệu để nhận ý kiến phản hồi và thảo luận với đồng nghiệp.

Ví dụ: FedCM

Federated Credential Management (FedCM) là một API cung cấp các cơ chế mới và tốt hơn cho các nền tảng quản lý việc đăng ký và đăng nhập của người dùng, còn gọi là danh tính liên kết – ví dụ: khi bạn chọn "Đăng nhập bằng Google" hoặc "Đăng nhập bằng GitHub".

Khi một đề xuất như FedCM đã sẵn sàng để thảo luận công khai, đề xuất đó sẽ được xuất bản lên GitHub dưới dạng nội dung giải thích. Tại thời điểm này, bất kỳ ai cũng có thể đặt câu hỏi hoặc nhận xét về thiết kế của một tính năng bằng cách tạo một Vấn đề trên kho lưu trữ nội dung giải thích trên GitHub. Ý kiến phản hồi có thể mô tả các trường hợp sử dụng hoặc quy tắc ràng buộc khác, đưa ra ý tưởng cải tiến hoặc chỉ thể hiện sự ủng hộ.

Nội dung giải thích về FedCM trên GitHub.

Sau khi một đề xuất được một tổ chức tiêu chuẩn hoá (chẳng hạn như W3C) thông qua, các bên liên quan có thể tham gia thảo luận và xem các bản trình bày trong các nhóm tiêu chuẩn web, chẳng hạn như Nhóm làm việc của W3C.

Đối với mỗi mốc quan trọng khi các kỹ sư đang làm việc trên một tính năng mới hoặc thay đổi đối với công cụ kết xuất Blink, họ sẽ xuất bản một bài đăng trên nhóm thảo luận blink-dev, giải thích rằng họ dự định chuyển sang giai đoạn tiếp theo để triển khai một tính năng. Những bài đăng này được gọi là "ý định". Bất cứ ai cũng có thể đăng ký nhóm blink-dev để nhận thông báo khi có tiến trình về các tính năng mới trong Blink hoặc đăng ký một tính năng riêng lẻ để nhận thông tin cập nhật.

Ý định tạo nguyên mẫu: Điểm kiểm tra đầu tiên

Tại thời điểm này, các kỹ sư Chromium có thể bắt đầu triển khai một tính năng. Điều này có nghĩa là chức năng nguyên mẫu cho tính năng này có thể được cung cấp cho nhà phát triển kiểm thử sau một cờ tính năng, ban đầu trong Chrome Canary, sau đó trong các kênh phát hành khác. Mọi người dùng đều có thể đặt cờ trên trang chrome://flags để kích hoạt và thử nghiệm một tính năng trong trình duyệt của họ.

Tuy nhiên, không phải cờ nào cũng có thể được đặt trên trang chrome://flags. Để kiểm soát chi tiết hơn, bạn có thể chạy Chrome từ một thiết bị đầu cuối bằng cách sử dụng cờ dòng lệnh. Xin lưu ý rằng một số tính năng mới sẽ không hoạt động cho đến khi tính năng đó được phát hành để thử nghiệm trong Chrome Canary, mặc dù điều này khá hiếm khi xảy ra. Một số tính năng không có cờ riêng, nhưng sẽ được cung cấp nếu bạn bật cờ experimental-web-platform-features. Điều này thường xảy ra với các tính năng "nhỏ hơn", chỉ mất tối đa từ 3 đến 6 tháng để triển khai.

Thu thập ý kiến phản hồi về nguyên mẫu

Sau khi bắt đầu tạo bản minh hoạ cho một tính năng mới, các kỹ sư Chromium sẽ mời mọi người thảo luận và thử nghiệm sớm. Ý kiến phản hồi tại thời điểm này rất quan trọng để xác thực và lặp lại các đề xuất. Lỗi Chromium là nơi để bình luận về việc triển khai trong Chrome.

Tạo vấn đề trong Công cụ theo dõi lỗi Chromium.

Ý định thử nghiệm: Kiểm thử trong thế giới thực

Bài đăng về Ý định thử nghiệm trên blink-dev là bước tiếp theo không bắt buộc, nếu các kỹ sư Chrome muốn yêu cầu chạy bản dùng thử theo nguyên gốc.

Ý định thử nghiệm cho FedCM.

Bản dùng thử theo nguyên gốc là một cách để thử nghiệm một tính năng mới hoặc tính năng thử nghiệm trên nền tảng web. Bạn đăng ký bản dùng thử theo nguyên gốc của một tính năng, sau đó nhận được mã thông báo cho bản dùng thử đó. Tính năng này sẽ được kích hoạt trên mọi trang cung cấp mã thông báo.

Danh sách Bản dùng thử theo nguyên gốc của Chrome hiện có.

Để tiến trình triển khai một tính năng tiếp tục, chủ sở hữu Blink API phải phê duyệt bằng cách trả lời ý định bằng một bài đăng "looks good to me" (tôi thấy ổn), còn gọi là LGTM.

Chủ sở hữu API Blink là một nhóm nhỏ các cộng tác viên Chromium, có nhiều kinh nghiệm về nền tảng web và các API của nền tảng này, đồng thời được cộng đồng Blink đồng ý là có uy tín, cam kết với sứ mệnh và giá trị của Blink. Ngoài việc phê duyệt (hoặc không!) các tính năng để tiếp tục triển khai, Chủ sở hữu API còn giám sát chính quy trình Ý định Blink.

Ý định thử nghiệm phải nhận được ít nhất một LGTM từ chủ sở hữu API.

LGTM trên bài đăng về Ý định thử nghiệm FedCM.

Giá trị của bản dùng thử theo nguyên gốc

Nhà phát triển có thể đăng ký dùng thử phiên bản gốc của một tính năng, sau đó kiểm thử tính năng đó trong môi trường thực tế với người dùng thực mà không cần người dùng phải làm gì để kích hoạt tính năng. Nhà phát triển có thể chia sẻ kết quả kiểm thử của họ. Điều này cung cấp thông tin chi tiết và dữ liệu có giá trị để giúp lặp lại và phát triển tính năng.

Ý định vận chuyển: Cột mốc cuối cùng

Ý định phát hành cho biết một tính năng hiện đã hoàn tất và sẵn sàng được triển khai rộng rãi cho tất cả người dùng trong Chrome phiên bản ổn định mà không cần cờ hoặc mã thông báo dùng thử. Ý định phân phối phải nhận được 3 LGTM từ chủ sở hữu API thì mới có thể triển khai.

Ra mắt tính năng mới

Sau khi được phê duyệt, một tính năng sẽ được hợp nhất vào một bản phát hành sắp tới, sau đó tiến triển thông qua các kênh phát hành của Chrome. Việc thử nghiệm và triển khai các tính năng mới thường được xử lý một cách đặc biệt cẩn thận. Một số tính năng được triển khai dần dần cho tỷ lệ người dùng ngày càng tăng. Bạn cũng có thể khôi phục và làm lại các tính năng nếu có tác dụng phụ không mong muốn.

Quản lý vòng đời tính năng: Ngừng sử dụng và xoá

Có hai loại ý định Blink khác:

  • Ý định ngừng sử dụng
  • Ý định xoá

Điều này nghe có vẻ hơi buồn, nhưng thực sự là rất quan trọng đối với sự thành công của quá trình phát triển Blink.

Các kỹ sư đăng Ý định ngừng sử dụng khi họ muốn bắt đầu cảnh báo nhà phát triển rằng một tính năng sắp ngừng hoạt động. Ví dụ: bằng cách cung cấp dịch vụ hỗ trợ và thông tin về việc ngừng sử dụng trong bảng điều khiển Chrome DevTools.

Ý định xoá được đăng khi các kỹ sư dự định vô hiệu hoá mã theo mặc định.

LGTM về Ý định ngừng sử dụng trên blink.dev.

Tầm quan trọng của việc ngừng sử dụng và xoá

Việc ngừng sử dụng và xoá đều rất quan trọng đối với tình trạng của nền tảng web. Các công cụ này đảm bảo Chrome có thể xoá những tính năng không hoạt động tốt đối với người dùng cuối hoặc nhà phát triển web, đồng thời giúp giảm độ phức tạp của cơ sở mã. Ví dụ: các vấn đề về thiết kế của AppCache đã được phát hiện sau khi được sử dụng trên các trang web chính thức trong các trình duyệt ổn định và cuối cùng API này đã bị xoá. Việc ngừng sử dụng và xoá cũng giúp Chrome an toàn và bảo mật hơn bằng cách giảm các vectơ tấn công tiềm ẩn.

Giống như với tất cả ý định Blink, nhóm Chrome cố gắng hết sức để đưa ra quyết định một cách cẩn thận. Họ xem xét tỷ lệ sử dụng tính năng và dữ liệu khác trước khi tiếp tục. Chuẩn để xoá tính năng thực sự rất cao và một tính năng sẽ chỉ bị xoá nếu chỉ có một tỷ lệ rất nhỏ người dùng sử dụng và nếu có các giải pháp thay thế tốt hơn.

Bạn có thể theo dõi tiến trình của các tính năng trên trang Trạng thái Chrome. Tại đây, bạn có thể đăng ký nhận thông tin cập nhật, báo cáo lỗi và tìm các tài nguyên khác.

Lộ trình phát triển tính năng của Chrome trên chromestatus.com.

Để theo dõi các tính năng mới, bạn có thể theo dõi Blog Chromium. Bạn có thể nắm bắt tất cả ý định Blink bằng cách tham gia nhóm thảo luận blink-dev. Điều đó có thể dẫn đến rất nhiều email! Ngoài ra, bạn nên đăng ký một ý định duy nhất. Bạn có thể xem bảng tính về ý định Blink tại bit.ly/blinkintents. Nếu thực sự thích Ý định của Blink, bạn thậm chí có thể xây dựng dựa trên các dịch vụ Trình theo dõi ý định của Blink tự động.

Các bước tiếp theo

Hãy xem bài viết Kênh phát hành của Chrome là gì?.