Ứng dụng web tiến bộ (PWA) là một trang web được xây dựng với các khả năng cho phép nó hoạt động giống như một ứng dụng được cài đặt: nó có thể được thêm vào màn hình chính của thiết bị, khởi chạy mà không cần trình duyệt, hoạt động ngoại tuyến hoặc trên các kết nối không ổn định, và trong các môi trường được hỗ trợ, nhận được thông báo đẩy. Nó là một tập hợp các khả năng được áp dụng cho một trang web thông thường chứ không phải là một công nghệ riêng biệt.
Các nền tảng kỹ thuật bao gồm một service worker, là một đoạn mã chạy độc lập với trang web, có khả năng chặn các yêu cầu mạng và cung cấp các phản hồi đã được lưu vào bộ nhớ cache, và một web app manifest mô tả cách ứng dụng sẽ hiển thị khi được cài đặt. Cả hai đều yêu cầu trang web phải được phục vụ qua kết nối an toàn. Ngoài ra, các khả năng này mang tính tiến bộ: trình duyệt hỗ trợ chúng sẽ cung cấp trải nghiệm nâng cao trong khi các trình duyệt khác chỉ nhận được trang web thông thường.
Khả năng xử lý kết nối ngoại tuyến và không ổn định là tính năng có giá trị thực tiễn rõ ràng nhất. Một service worker có thể lưu trữ giao diện ứng dụng và nội dung đã xem trước đó, do đó người dùng truy cập bằng kết nối di động không ổn định vẫn thấy nội dung thay vì trang lỗi, và khi quay lại, nội dung sẽ được tải từ bộ nhớ đệm thay vì từ mạng. Đối với người dùng có kết nối kém, đây là một cải tiến đáng kể chứ không chỉ là một sự nâng cấp nhỏ.
Việc cài đặt trực tiếp giúp loại bỏ những rào cản trong việc phân phối ứng dụng qua cửa hàng ứng dụng, đây là lý do thương mại chính. Không cần quy trình gửi ứng dụng, không bị chậm trễ khi xem xét, không mất phí hoa hồng của cửa hàng, và các bản cập nhật được triển khai ngay lập tức mà không cần chờ người dùng cài đặt. Đối với các doanh nghiệp có ứng dụng không yêu cầu tích hợp nền tảng sâu rộng, điều này giúp tránh được chi phí phát sinh đáng kể và sự phụ thuộc vào các bên kiểm duyệt nền tảng.
Sự khác biệt về khả năng của nền tảng vẫn là hạn chế chính, và sự khác biệt này đã thu hẹp không đồng đều. Khả năng hỗ trợ cài đặt, thông báo và các chức năng chạy nền khác nhau giữa các nền tảng, với iOS từ trước đến nay thường hạn chế hơn Android, và giới hạn dung lượng lưu trữ cũng như chính sách xóa ứng dụng cũng khác nhau. Việc đánh giá những gì thực sự có sẵn trên các nền tảng mà người dùng sử dụng, thay vì giả định sự tương đồng, là cần thiết trước khi áp dụng một phương pháp phụ thuộc vào một khả năng cụ thể nào đó.
Khả năng tiếp cận ứng dụng là một sự đánh đổi thực sự ở cả hai chiều. Phân phối trên web có nghĩa là ứng dụng có thể truy cập được thông qua liên kết và được tìm thấy trong kết quả tìm kiếm, đây là một lợi thế đáng kể so với phân phối qua cửa hàng ứng dụng, nơi khả năng tiếp cận phụ thuộc vào thứ hạng trong cửa hàng. Điều này cũng có nghĩa là ứng dụng không xuất hiện trong cửa hàng nơi nhiều người dùng tìm kiếm ứng dụng, và không có lời nhắc cài đặt tương tự như lời nhắc cài đặt mà danh sách ứng dụng trên cửa hàng cung cấp.
Thông báo đẩy cần được đánh giá thận trọng hơn so với thường lệ. Tính năng này thực sự hữu ích cho các tin nhắn cần phản hồi nhanh chóng và phù hợp với từng cá nhân, nhưng lại bị lạm dụng rộng rãi cho nội dung quảng cáo mà người nhận không lường trước được. Vì yêu cầu cho phép chỉ được thực hiện một lần và việc từ chối sẽ dẫn đến hậu quả vĩnh viễn, nên việc nhắc nhở trước khi xác định được giá trị của thông báo sẽ dẫn đến việc người nhận từ chối mà không thể khắc phục được sau này khi đã có nội dung đáng để gửi.
Việc sử dụng bộ nhớ đệm cho service worker tiềm ẩn những rủi ro riêng, đòi hỏi phải được xử lý cẩn thận. Một chiến lược lưu trữ bộ nhớ đệm cung cấp nội dung cũ vô thời hạn sẽ khiến người dùng thấy thông tin lỗi thời mà không có cách nào rõ ràng để làm mới, và một service worker được triển khai không đúng cách có thể khó gỡ bỏ khỏi các thiết bị đã cài đặt nó. Việc quản lý phiên bản, chiến lược cập nhật và cơ chế buộc làm mới là cần thiết chứ không phải là tùy chọn.
Vì phương pháp này bao trùm kiến trúc giao diện người dùng, chiến lược bộ nhớ đệm và các quyết định phân phối, nên đây là một quyết định về sản phẩm chứ không phải về kỹ thuật. Trên thực tế, tập hợp các khả năng được lựa chọn trong phạm vi... phát triển sản phẩm So với nhu cầu thực tế của người dùng, các vấn đề liên quan đến bộ nhớ đệm và phân phối nội dung nằm ở... hiệu suất web công việc, và sự đánh đổi giữa việc phân phối trên web và tại cửa hàng thường được cân nhắc cùng với chiến lược kênh phân phối rộng hơn. lập kế hoạch chiến lược và tư vấn.