Vùng đất

Peter Conn
Peter Conn

Có khá nhiều hệ sinh thái xoay quanh Hoạt động đáng tin cậy trên web và có thể khá khó để biết được mối liên hệ của mọi thứ với nhau và bạn nên sử dụng những gì. Bài viết này hy vọng sẽ giải quyết được vấn đề đó.

Nếu bạn mới sử dụng Hoạt động đáng tin cậy trên web hoặc chỉ đang tìm bộ công cụ đề xuất mà bạn nên dùng ngay hôm nay, thì sau đây là những điều bạn cần lưu ý:

  • Bubblewrap: một công cụ NodeJS cho phép các nhà phát triển tạo và xây dựng một APK Android bao bọc một PWA hiện có. Ứng dụng được tạo dựa trên Hoạt động đáng tin cậy trên web, nhưng nhà phát triển phải biết rõ điều này. Bạn không cần có kinh nghiệm phát triển trên Android. Xem tài liệu về Bubblewrap để bắt đầu.
  • android-browser-helper: một Thư viện Android đóng gói giao thức Hoạt động đáng tin cậy trên web. Phù hợp với những nhà phát triển quen thuộc với việc phát triển Android và muốn sử dụng Hoạt động đáng tin cậy trên web làm một trong các Hoạt động trong ứng dụng Android của họ, hoặc thực hiện các tuỳ chỉnh không được Bubblewrap hỗ trợ. Để bắt đầu với android-browser-helper, hãy xem tài liệubản minh hoạ của chúng tôi.

Phần tiếp theo đưa ra nội dung tóm tắt ngắn gọn về tất cả dự án có liên quan với nhau. Cuối cùng, (dành cho những người thực sự hiếu kỳ), có một phần lịch sử để giới thiệu cách chúng tôi đến đây và nơi chúng tôi dự định thực hiện trong tương lai gần.

Tổng quan về các thư viện

Sau đây là bản tóm tắt một câu ngắn gọn, ngắn gọn về từng thư viện mà có thể bạn sẽ sử dụng:

  • androidx.browser, một thư viện Android để tương tác với trình duyệt được cài đặt trên thiết bị của người dùng.
  • Trình trợ giúp trình duyệt Android, một thư viện được xây dựng trên androidx.browser dành cho ứng dụng Hoạt động đáng tin cậy trên web, cung cấp các phương thức tiện lợi và các giá trị mặc định hợp lý.
  • Bubblewrap, một công cụ giúp tạo Hoạt động đáng tin cậy trên web từ PWA mà không cần sử dụng đến bất kỳ mã Java nào.

Ngoài ra, mỗi thư viện/công cụ này sẽ thay thế một thư viện/công cụ cũ hơn:

Cập nhật trước đây

Thư viện hỗ trợ Android

Thư viện hỗ trợ Android mở rộng nền tảng Android bằng các API và tính năng tương thích mới. Thư viện này được chia thành nhiều gói, với Thư viện hỗ trợ thẻ tuỳ chỉnh chứa chức năng tương tác với các trình duyệt trên hệ thống của người dùng. Quá trình phát triển Thư viện hỗ trợ thẻ tuỳ chỉnh chủ yếu được thực hiện trong kho lưu trữ GitHub custom-tabs-client, với các thay đổi được chuyển lên lại Thư viện hỗ trợ Android.

Thẻ tuỳ chỉnh là một Hoạt động trên Android sử dụng trình duyệt để hiển thị một trang web. Lợi ích chính dành cho nhà phát triển là ứng dụng có thể được tuỳ chỉnh giao diện và có nút đóng, nên người dùng vẫn ở trong ứng dụng của nhà phát triển (thay vì rời khỏi ứng dụng và chuyển sang trải nghiệm duyệt web đầy đủ). Là một API Android, Thẻ tuỳ chỉnh có thể được bất kỳ trình duyệt nào hỗ trợ và sẽ sử dụng trình duyệt mặc định của người dùng (mặc dù nhà phát triển có thể ghi đè điều này).

Hoạt động đáng tin cậy trên web được tạo dựa trên Thẻ tuỳ chỉnh, nên các hoạt động này đã bắt đầu trong thư viện thẻ tuỳ chỉnh-ứng dụng này. Hoạt động đáng tin cậy trên web sẽ xoá thanh trên cùng của Thẻ tuỳ chỉnh khi người dùng duyệt xem một trang web do nhà phát triển ứng dụng sở hữu. Việc này sẽ mở ra cơ hội tích hợp liền mạch trang web của bạn trong một ứng dụng Android gốc và có thể dùng để tạo ứng dụng mà trong đó tất cả chức năng đều là do web cung cấp.

AndroidX

Thư viện hỗ trợ Android sau đó đã được đổi thương hiệu thành AndroidX. Thư viện này là một phần trong nỗ lực lớn hơn nhằm cải thiện trải nghiệm của nhà phát triển có tên là JetPack. Vì vậy, các Thẻ tuỳ chỉnh và Hoạt động đáng tin cậy trên web phải di chuyển từ Thư viện hỗ trợ thẻ tuỳ chỉnh sang androidx.browser mới.

Một số mã mà chúng tôi đã viết trong custom-tabs-client chỉ phù hợp cho thư viện các lớp trình trợ giúp Hoạt động trên web đáng tin cậy nhưng không phù hợp với API Android. Mã xử lý việc kiểm tra các phiên bản Chrome lỗi thời và nhắc người dùng cập nhật hoặc đưa ra quyết định về cách lưu trữ dữ liệu không thể chuyển sang AndroidX. Do đó, chúng tôi đã tạo một thư viện thay thế để chứa các phần sau đây của custom-tabs-client không thể truy cập vào androidx.browser, do đó, Trình trợ giúp trình duyệt Android đã ra đời.

Trình trợ giúp trình duyệt Android được tạo ra để chứa mã dành riêng cho các trình duyệt (không chỉ Chrome, chúng tôi sẵn sàng lập trình riêng cho các trình duyệt khác) và có thể đưa ra quyết định cụ thể mà các thư viện không nên sử dụng. Chúng tôi nhân cơ hội này để tách riêng vai trò của hai thư viện này:

  • androidx.browser chứa các thành phần cơ bản để tương tác với các trình duyệt trên hệ thống của người dùng.
  • Trình trợ giúp trình duyệt Android chứa các phương pháp triển khai mặc định hợp lý và dễ sử dụng.

Tự thân khởi nghiệp

Nhà phát triển là những người bận rộn với rất nhiều việc phải làm và thời hạn cần đáp ứng. Để giúp giải quyết vấn đề này, chúng tôi tạo ra 2 công cụ cho phép người dùng tự khởi động hoạt động đáng tin cậy của họ trên web.

Cách đầu tiên (và cũ nhất) là svgomg-twa, một dự án Android được lưu trữ trên GitHub nhằm khởi chạy một Hoạt động đáng tin cậy trên web. Ban đầu, nó được thiết kế để trở thành một dự án minh hoạ và phát triển thành nhiều mẫu hơn. Người dùng có thể sao chép kho lưu trữ đó và sửa đổi tệp build.gradle để trỏ đến trang web của riêng họ, tạo và tạo một Hoạt động đáng tin cậy trên web mà không cần sử dụng đến bất kỳ mã Java nào. (Bạn cần nỗ lực nhiều hơn để xác minh Đường liên kết đến tài sản kỹ thuật số, hãy đọc thêm tại đây.)

svgomg-twa bắt đầu phụ thuộc vào custom-tabs-client, nhưng sau đó chuyển sang Trình trợ giúp trình duyệt Android (và androidx.browser theo cách bắc cầu).

Công cụ mới nhất và sáng tạo nhất là Bubblewrap, một công cụ Node.js sẽ lấy Tệp kê khai ứng dụng web và tạo Hoạt động đáng tin cậy trên web cho bạn. Đây là cách dễ nhất để tạo Hoạt động đáng tin cậy trên web từ một ứng dụng web tiến bộ (PWA) hiện có mà không cần đến kiến thức phát triển Android.

Tương lai gần

Chúng tôi sẽ ngừng sử dụng svgomg-twa vì hai lý do:

  • Bong bóng trò chuyện về cơ bản tạo ra một svgomg-twa đã được điền sẵn cho một nhà phát triển. Thư viện này thực hiện việc này theo cách tương tác và có thể lấy cấu hình từ một tệp kê khai của ứng dụng web (mà PWA có thể đã có).
  • Nếu muốn tham khảo cách bắt đầu dự án Hoạt động đáng tin cậy trên web của riêng mình từ đầu, nhà phát triển có thể xem thư mục demo của Trình trợ giúp trình duyệt Android.

Thay vào đó, nhà phát triển mới nên sử dụng Bubblewrap để tạo dự án. Nếu đang sử dụng svgomg-twa và thực hiện một số sửa đổi lớn, thì bạn có thể tiếp tục sử dụng nhưng sẽ không nhận được thông tin cập nhật.

Chúng tôi dự định cải tiến hoạt động hiệu quả nhất có thể của Bubblewrap. Vì vậy, nếu có một tính năng rõ ràng bị thiếu hoặc bạn gặp lỗi, vui lòng tạo vấn đề.