Tùy chọn di chuyển
Có hai tuỳ chọn chính để di chuyển từ Ứng dụng Chrome: ứng dụng web và Tiện ích của Chrome:
Trong hầu hết các trường hợp, ứng dụng web là đường dẫn ưu tiên. Bạn có thể sử dụng Tiện ích của Chrome trong một số trường hợp với các trường hợp sử dụng mà web không hỗ trợ, chẳng hạn như chạy trong nền mà không có giao diện người dùng.
Ứng dụng web
Phương án thay thế ưu tiên để di chuyển từ Ứng dụng Chrome là tạo ứng dụng web. Nhờ vậy, bạn có thể sử dụng các tính năng nâng cao, chẳng hạn như các tính năng của dự án về các chức năng web. Các API thuộc dự án Khả năng hiện bao gồm hầu hết các trường hợp sử dụng mà trước đây có thể đạt được bằng API Ứng dụng Chrome. Tuy nhiên, bạn không bắt buộc phải sử dụng bất kỳ tính năng nào trong số những tính năng này: tính linh hoạt của web cho phép nhà phát triển chọn mức độ phức tạp phù hợp nhất với nhu cầu của họ.
Ưu điểm của ứng dụng web
Ứng dụng web có một số ưu điểm so với Ứng dụng Chrome:
- Tính di động: Ứng dụng Chrome chỉ chạy trong Chrome. Các ứng dụng web chạy trên hầu hết các trình duyệt và hệ điều hành, mặc dù sự hỗ trợ cho các API khác nhau giữa các trình duyệt và hệ điều hành đó.
- Trải nghiệm của nhà phát triển: Ứng dụng Chrome sử dụng công nghệ giống như ứng dụng web (HTML, JavaScript và CSS). Tuy nhiên, một số tính năng nâng cao của Ứng dụng Chrome (ví dụ: trang nền) không theo tiêu chuẩn nên bạn cần bổ sung thêm kiến thức.
- Bộ tính năng: Ứng dụng Chrome dựa vào các API không còn được duy trì hoặc cập nhật các tính năng mới. Các ứng dụng web phụ thuộc vào môi trường web mở. Nền tảng web này phát triển liên tục và có quyền truy cập vào tất cả các API mới nhất.
- Cài đặt và cập nhật: Ứng dụng Chrome yêu cầu cài đặt và cập nhật theo cách thủ công, đôi khi phải xem xét cửa hàng. Các ứng dụng web có thể truy cập được trực tiếp từ trình duyệt và có thể được cài đặt nếu muốn. Các bản cập nhật dành cho các ứng dụng web sẽ được cập nhật ngay khi triển khai, ngay khi trình duyệt tìm nạp tệp mới.
- Hỗ trợ: Mặc dù cả Ứng dụng Chrome và ứng dụng web đều có cộng đồng lớn, nhưng nền tảng web này có sự hiện diện rộng lớn hơn nhiều và cung cấp nhiều công cụ phát triển hơn, chẳng hạn như khung và thư viện, để hỗ trợ nhà phát triển.
Ứng dụng web tiến bộ
Ứng dụng web tiến bộ (PWA) là các ứng dụng web được xây dựng và tối ưu hoá bằng các API hiện đại nhằm mang lại khả năng, khả năng cài đặt và độ tin cậy được nâng cao. Việc triển khai các chức năng này cho phép bạn có được trải nghiệm giống như ứng dụng trên web.
Khả năng cài đặt
PWA có thể cài đặt trên cả nền tảng máy tính và thiết bị di động, nhưng đây là không bắt buộc, vì bạn vẫn có thể truy cập vào PWA trực tiếp từ trình duyệt. Người dùng chọn cài đặt PWA có thể chạy PWA thông qua các biểu tượng và lối tắt. Bạn có thể cung cấp siêu dữ liệu trong tệp kê khai web của PWA để cho biết rằng khi khởi chạy sau khi cài đặt, siêu dữ liệu sẽ mở trong cửa sổ riêng.
Độ tin cậy
PWA có khả năng hoạt động nhất quán ngay cả trong những điều kiện mạng khó khăn. Điều này có được là nhờ một thành phần cốt lõi của PWA, còn gọi là trình chạy dịch vụ. Service worker cho phép bạn chặn các yêu cầu mạng và phân phát nội dung được lưu vào bộ nhớ đệm để đảm bảo ứng dụng hoạt động khi không có mạng hoặc trong các trường hợp kết nối kém. Các thư viện như Workbox, cung cấp một tập hợp chiến lược đột phá để cho phép bạn triển khai các chức năng ngoại tuyến phổ biến, giúp đơn giản hoá đáng kể quá trình phát triển.
Chức năng nâng cao
Dự án Khả năng web giúp các ứng dụng web đạt được nhiều trường hợp sử dụng mà Ứng dụng Chrome có thể triển khai. Tuy nhiên, mô hình bảo mật của web có một số giới hạn nhất định. Dưới đây là một số ví dụ về các tính năng nâng cao dành cho web mà bạn có thể dùng thay cho các API Ứng dụng Chrome hiện có:
- Truy cập qua Bluetooth và USB: Bluetooth qua web và USB web cung cấp một giải pháp thay thế cho
chrome.bluetooth
vàchrome.usb
tương ứng. - Quản lý hệ thống tệp: File System Access API (API Truy cập hệ thống tệp) là giải pháp thay thế cho API
chrome.fileSystem
. - Phím tắt: Các ứng dụng web có thể hỗ trợ phím tắt bằng cách nghe nhiều sự kiện phím (ví dụ: phím tắt). Tuy nhiên, các phím tắt mà bạn có thể hỗ trợ chỉ bị hạn chế. Khi ứng dụng web được dùng ở chế độ toàn màn hình, bạn có thể chặn các phím tắt hệ thống này bằng Keyboard Lock API.
- Bộ nhớ liên tục: Việc yêu cầu quyền Bộ nhớ liên tục trong ứng dụng web có thể cung cấp các tính năng tương tự như quyền
unlimitedStorage
trong các ứng dụng Chrome. - Vị trí địa lý: Có thể sử dụng API vị trí địa lý trong ứng dụng web để định vị vị trí của người dùng, thay cho quyền truy cập thông tin vị trí địa lý.
- Xử lý nền: Các lựa chọn thay thế cho quyền
background
bao gồm API Đồng bộ hoá nền và API đồng bộ hoá định kỳ trong nền. - Sao chép vào bảng nhớ tạm: API Bảng nhớ tạm không đồng bộ cho phép bạn sao chép và dán cả văn bản và hình ảnh theo phương thức lập trình.
Tiện ích của Chrome
Các ứng dụng web là lựa chọn thay thế tốt nhất để di chuyển từ Ứng dụng Chrome, nhưng Tiện ích của Chrome có thể là tuỳ chọn trong một số trường hợp. Các tiện ích cũng được xây dựng bằng công nghệ web (HTML, CSS và JavaScript) và có thể dùng để thêm hoặc sửa đổi các tính năng của trình duyệt cũng như tuỳ chỉnh các ứng dụng web khác nhằm mang lại trải nghiệm người dùng tốt hơn.
Tạo một tiện ích độc lập
Tuỳ thuộc vào trải nghiệm người dùng bạn muốn cung cấp, bạn có thể chuyển đổi Ứng dụng Chrome thành một tiện ích. Ví dụ: bạn có thể cung cấp nút thao tác trên trình duyệt để hiển thị cửa sổ bật lên nhỏ cho giao diện người dùng hoặc điều hướng đến một trang mà tiện ích của bạn cung cấp. Mô hình giao diện người dùng này có thể phù hợp hơn với các ứng dụng thực hiện hầu hết hoạt động ở chế độ nền.
Kết nối một tiện ích của Chrome từ một ứng dụng web
Nếu Ứng dụng Chrome của bạn cung cấp các tính năng không có trên nền tảng web, bạn có thể kết nối tiện ích của Chrome với một ứng dụng web và cấp cho tiện ích đó quyền truy cập vào API tiện ích.Nhược điểm của phương pháp này là người dùng / quản trị viên CNTT phải quản lý hai phần khác nhau (ứng dụng web và tiện ích đồng hành). Điều quan trọng cần lưu ý là không thể chạy các tiện ích của Chrome trên một số trình duyệt, bạn nên phát hiện khi chức năng được yêu cầu không có sẵn và cung cấp văn bản giải thích cho người dùng trên các trình duyệt khác này.
Tôi nên tạo ứng dụng web hay tiện ích của Chrome?
Ứng dụng web là công nghệ ưu tiên để di chuyển từ Ứng dụng Chrome sang. Có một số trường hợp sử dụng mà tiện ích của Chrome có thể là lựa chọn phù hợp hơn. Trước khi quyết định, hãy phân tích xem lựa chọn nào tốt hơn dựa trên các yếu tố khác nhau:
- Mục đích: Các tiện ích của Chrome chủ yếu được dùng để mở rộng chức năng của trình duyệt. Các trường hợp sử dụng phổ biến bao gồm: công cụ cải thiện hiệu suất, làm phong phú nội dung trang web và tổng hợp thông tin. Các ứng dụng web có thể có nhiều trường hợp sử dụng hơn nhờ sử dụng toàn bộ sức mạnh của web.
- Trải nghiệm người dùng: Các tiện ích của Chrome thường có giao diện người dùng hạn chế hơn và được thiết kế để tích hợp với trình duyệt. Ứng dụng web có thể có giao diện người dùng phong phú giống như ứng dụng gốc và có khả năng tuỳ chỉnh cao.
- Tính di động: Các tiện ích của Chrome dành riêng cho Chrome. Một số trình duyệt (ví dụ: Firefox và Edge) hỗ trợ các API tiện ích giống như Chrome, nhưng cách hỗ trợ này không phổ biến. Ứng dụng web được tất cả trình duyệt hỗ trợ (mặc dù không phải tất cả API đều có thể).
- Khả năng được khám phá: Bạn cần cài đặt các tiện ích của Chrome (ví dụ: từ Cửa hàng Chrome trực tuyến hoặc qua chế độ tự lưu trữ) và truy cập vào những tiện ích này qua thanh công cụ của trình duyệt. Các ứng dụng web có thể được tải tức thì qua URL và được truy cập từ tất cả các trình duyệt. Bạn có thể cài đặt các tiện ích bổ sung này nếu muốn, nhưng điều này là không bắt buộc.
- Bộ tính năng: Tiện ích của Chrome được tích hợp sâu với Chrome, thông qua các API Chrome. Các ứng dụng web có thể bị hạn chế nhiều hơn trong các tác vụ cấp thấp hoặc cấp hệ thống. Như đã thảo luận, bạn có thể gọi một tiện ích qua ứng dụng web để có quyền truy cập vào các API chỉ dành cho tiện ích.
- Hoạt động trong nền: Tiện ích của Chrome có thể thực hiện các tác vụ trong nền và chạy ngay cả khi cửa sổ trình duyệt đã đóng. Mặt khác, các ứng dụng web thường được thiết kế để chạy ở nền trước và có ít khả năng ở chế độ nền hơn, chủ yếu được dùng để đảm bảo hiệu suất và độ tin cậy.
Các bước di chuyển
Di chuyển ứng dụng Chrome
Hãy làm theo các bước sau để di chuyển từ Ứng dụng Chrome sang các ứng dụng web hoặc tiện ích của Chrome:
- Giới hạn chức năng của ứng dụng: Trong một số trường hợp, ứng dụng của bạn sẽ đưa ra quyết định nếu bạn phải sử dụng một ứng dụng web hay nếu bạn chỉ lựa chọn tạo một Tiện ích của Chrome. Trong trường hợp cả hai có thể phù hợp với nhu cầu của mình, bạn có thể lựa chọn. Xem trang web về Khả năng web và tài liệu tham khảo API Tiện ích Chrome để tìm hiểu thêm về những lợi ích của mỗi công nghệ.
- Tìm hiểu và xây dựng: Theo dõi các tài nguyên học tập để biết về các công nghệ, cũng như cách thiết lập và chạy ứng dụng của bạn. Chương trình đào tạo về PWA và hướng dẫn Bắt đầu sử dụng tiện ích của Chrome là những tài nguyên hữu ích giúp bạn bắt đầu sử dụng từng công nghệ này.
- Thử nghiệm và phân phối: Cung cấp ứng dụng mới của bạn cho một tỷ lệ phần trăm người dùng nhỏ hơn trước khi phát hành rộng rãi hơn để đảm bảo ứng dụng hoạt động tốt. Để phân phối các ứng dụng này rộng rãi hơn, người dùng có thể truy cập và cài đặt các ứng dụng web từ trình duyệt. Tiện ích Chrome thường được phân phối qua Cửa hàng Chrome trực tuyến hoặc tự lưu trữ. Quản trị viên có thể buộc cài đặt cả hai trong các trường hợp được quản lý.
Di chuyển người dùng
Bất kể công nghệ bạn đã chọn để di chuyển từ Ứng dụng Chrome là gì, bạn đều cần thông báo cho người dùng gỡ cài đặt ứng dụng hiện tại và hướng dẫn họ chuyển sang trải nghiệm mới.
Bạn nên cập nhật ứng dụng để đưa vào thông báo cho biết rằng ứng dụng đã bị ngừng hoạt động và người dùng nên truy cập vào trang web của bạn hoặc Cửa hàng Chrome trực tuyến từ bây giờ (xem ví dụ sau). Bạn cũng có thể thêm nút "gỡ cài đặt" để gọi phương thức uninstallSelf()
.
Từ Chrome 75, bạn có thể dùng phương thức installReplacementWebApp()
trong Ứng dụng Chrome để phản hồi một lượt nhấp vào nút hoặc cử chỉ khác của người dùng để tự động kích hoạt quy trình cài đặt cho ứng dụng web thay thế.
Một vấn đề khác cần cân nhắc là thông báo cho quản trị viên trình duyệt Chrome Enterprise và ChromeOS Enterprise để cập nhật chính sách ứng dụng cho tổ chức của họ. Thông thường, người dùng do những người dùng do người dùng quản lý là Enterprise và Education quản lý sẽ buộc cài đặt thông qua chính sách quản lý. Nhà phát triển nên thông báo cho quản trị viên để cập nhật chính sách ExtensionInstallForcelist (dùng để cài đặt Ứng dụng Chrome) và thay thế bằng chính sách WebAppInstallForceList bằng URL của ứng dụng web của bạn.
Hỗ trợ
Nếu có câu hỏi về kỹ thuật, bạn có thể sử dụng một số tài nguyên hỗ trợ sau đây:
- Nếu bạn có thắc mắc liên quan đến việc di chuyển từ Ứng dụng Chrome sang Ứng dụng web hoặc Tiện ích của Chrome, hãy tham gia cộng đồng nhà phát triển ChromeOS trên Discord.
- Đối với các chức năng còn thiếu của ứng dụng web, hãy yêu cầu một chức năng mới trong phần Khả năng, còn gọi là Project Fugu.