Khi các kỹ sư muốn thay đổi công cụ kết xuất Blink, họ sẽ đăng lên danh sách gửi thư blink-dev để được phê duyệt tiếp tục. Các bài đăng trong danh sách gửi thư này được gọi là Ý định của Blink.
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.
Khám phá cách hoạt động của Ý định của Blink, tầm quan trọng của chúng và cách các tính năng mới được đưa vào Blink.
Chromium và Blink
Chromium là dự án trình duyệt nguồn mở mà Chrome và một số trình duyệt cũng như khung khác được xây dựng dựa trên đó. Blink là công cụ kết xuất mà Chromium sử dụng.
Để một tính năng mới được đưa vào Blink, tính năng đó cần phải trải qua quy trình phát triển mở của dự án Chromium. "Tính năng mới" là bất kỳ thay đổi hoặc bổ sung nào đố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 cải tiến đáng kể về hiệu suất trong mã Blink hoặc một số thay đổi khác về giao diện hoặc chức năng của trình duyệt.
Quy trình mở và mang tính cộng tác
Chromium là một dự án khổng lồ và phức tạp với hàng nghìn người đóng góp. Khi có các thay đổi đối với Chromium, mỗi cột mốc quan trọng là cơ hội để mời hệ sinh thái web rộng lớn hơn nhận xét về thiết kế và cách triển khai.
Ở bất cứ nơi 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 theo cách bạn mong đợi hoặc khi bạn phải viết mã khác nhau cho các trình duyệt và nền tảng khác nhau. Ý định của Blink giúp cấu trúc và điều chỉnh quy trình thay đổi, giúp các thay đổi trở nên dễ dự đoán hơn và ít gây bất ngờ hơn, điều này rất tốt cho 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 ngừng duy trì trang web. Một số trang web đã không được cập nhật trong nhiều thập kỷ! Nhà cung cấp trình duyệt cần cân nhắc điều này khi thực hiện các thay đổi có thể gây ra lỗi.
Từ ý tưởng đến đề xuất
Các đề xuất về thay đổi và cập nhật đối với nền tảng web xuất phát từ quá trình 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 cho phé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 về một thay đổi hoặc một tính năng mới trên nền tảng web chỉ là các 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 từ đồng nghiệp.
Ví dụ: FedCM
Quản lý thông tin xác thực liên kết (FedCM) là một API cung cấp phương pháp tiếp cận tập trung vào quyền riêng tư và thân thiện với người dùng để đăng ký và đăng nhập người dùng, được gọi là danh tính liên kết. Ví dụ: điều này áp dụng cho Đăng nhập bằng Google và các tính năng đăng nhập bằng mạng xã hội khác.
Để tạo API trình duyệt, bước đầu tiên là chuẩn bị một đề xuất để thảo luận công khai. Đề xuất của FedCM được xuất bản trên GitHub dưới dạng tài liệu giải thích. Mọi người đều được mời đặt câu hỏi hoặc nhận xét về thiết kế tính năng bằng cách tạo một Vấn đề trên GitHub trong kho lưu trữ tài liệu giải thích. Ý kiến phản hồi có thể bao gồm phần mô tả của nhà phát triển về các trường hợp sử dụng bổ sung, các ràng buộc, ý tưởng cải thiện hoặc lời hứa hỗ trợ.
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.
Ý định của Blink: Cột mốc và tiến trình
Đối với mỗi cột 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 công cụ kết xuất Blink, họ sẽ đăng một bài viết 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. Các bài đăng này được gọi là "ý định". Bất kỳ 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
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 có thể được cung cấp để nhà phát triển thử nghiệm đằng sau một cờ tính năng, ban đầu là trong Chrome Canary, sau đó là trong các kênh phát hành khác. Bất kỳ người dùng nào cũng có thể đặt một cờ từ 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 tất cả các cờ đều có thể được đặt từ 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 không có sẵn 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. Một số tính năng không có cờ riêng, nhưng chúng được cung cấp nếu experimental-web-platform-features được bật. Đây thường là trường hợp đối với các tính năng "nhỏ hơn" mất không quá 3 đến 6 tháng để triển khai, nhiều nhất là.
Thu thập ý kiến phản hồi về nguyên mẫu
Sau khi quá trình tạo nguyên mẫu của một tính năng mới bắt đầu, các kỹ sư Chromium sẽ mờ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 là rất quan trọng để xác thực và lặp lại các đề xuất. Lỗi Chromium là nơi để nhận xét về việc triển khai trong Chrome.
Ý định thử nghiệm: Thử nghiệm trong thế giới thực
Bài đăng Ý đị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.
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 của 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ột 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 bất kỳ trang nào cung cấp mã thông báo.
Sự phê duyệt của chủ sở hữu Blink API
Để tiến trình triển khai một tính năng được tiếp tục, chủ sở hữu Blink API phải phê duyệt bằng cách trả lời một ý định bằng bài đăng "looks good to me" (trông có vẻ ổn), được gọi là LGTM.
Chủ sở hữu Blink API là một nhóm nhỏ những người đóng góp cho Chromium, có nhiều kinh nghiệm với nền tảng web và 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 thực hiện sứ mệnh và các giá trị của Blink. Ngoài việc phê duyệt (hoặc không phê duyệt!) để 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 của Blink.
Ý định thử nghiệm phải nhận được ít nhất một LGTM từ chủ sở hữu API.
Giá trị của bản dùng thử theo nguyên gốc
Nhà phát triển có thể đăng ký bản dùng thử theo nguyên gốc của một tính năng, sau đó thử nghiệm tính năng đó trong môi trường thực tế, với người dùng thực – mà người dùng không cần thực hiện hành động nào để kích hoạt tính năng. Nhà phát triển có thể chia sẻ kết quả thử nghiệm 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 phát hành: Cột mốc cuối cùng
Ý định phát hành cho biết rằng một tính năng hiện đã hoàn tất và sẵn sàng được triển khai để cung cấp ở giai đoạn phát hành rộng rãi cho tất cả người dùng trong Bản ổn định của Chrome mà không cần cờ hoặc mã thông báo dùng thử. Ý định phát hành phải nhận được 3 LGTM từ chủ sở hữu API thì mới có thể triển khai.
Triển khai các 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 bản phát hành sắp tới và sau đó tiến hành thông qua các kênh phát hành 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 cho tỷ lệ người dùng ngày càng tăng. Các tính năng cũng có thể được khôi phục và làm lại nếu có tác dụng phụ không mong muốn.
Quản lý việc ngừng sử dụng và xoá
Có 2 loại ý định khác của Blink:
- Ý định ngừng hoạt động
- Ý định xóa
Những điều này có thể nghe có vẻ hơi buồn, nhưng thực ra chúng rất quan trọng đối với sự thành công của quá trình phát triển Blink.
Ý định ngừng hoạt động được các kỹ sư đă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 được lên lịch ngừng hoạt động. Ví dụ: bằng cách cung cấp thông tin và hỗ trợ về việc ngừng sử dụng trong bảng điều khiển Chrome DevTools.
Ý định xóa được đăng khi các kỹ sư dự định tắt mã theo mặc định.
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. Chúng đảm bảo Chrome có thể xoá các tính năng không hoạt động tốt cho người dùng cuối hoặc nhà phát triển web – và 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 thực tế trong trình duyệt ổn định và API này cuối cùng đã 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ư tất cả các ý định của 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à các dữ liệu khác trước khi tiếp tục. Thực tế, tiêu chí để xoá các tính năng là cực kỳ cao và một tính năng sẽ chỉ bị xoá nếu được một tỷ lệ rất nhỏ người dùng sử dụng và nếu có các lựa chọn thay thế tốt hơn.
Luôn cập nhật Ý định của Blink
Bạn có thể theo dõi tiến trình của các tính năng trên Trạng thái Chrome, nơi bạn có thể đăng ký nhận thông tin cập nhật, gửi lỗi và tìm các tài nguyên khác.
Để theo dõi các tính năng mới, hãy theo dõi Blog Chromium và tham gia nhóm thảo luận blink-dev. Nhóm này có thể gửi rất nhiều email, vì vậy, bạn có thể thích đăng ký một ý định duy nhất. Bạn có thể xem một bảng tính về các ý định của Blink.
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 Chrome là gì?.