Ứng dụng web tiến bộ có những tính năng gì so với ứng dụng gốc và ngược lại, trên Android [đã đóng]


112

Vào năm 2015, Google đã giới thiệu một cách tiếp cận mới để phát triển ứng dụng web cho Android: ứng dụng web tiến bộ . Người ta có thể tạo một ứng dụng trông giống như một ứng dụng gốc, sẽ có thể sử dụng phần cứng của thiết bị như máy ảnh và máy đo gia tốc, nhận thông báo đẩy, có biểu tượng trình khởi chạy, hoạt động ngoại tuyến, lưu trữ dữ liệu cục bộ, v.v.

Trên Android, ứng dụng gốc cung cấp những tính năng nào mà các ứng dụng web tiến bộ không hỗ trợ và ngược lại.

Câu trả lời:


201

TL; DR - Kể từ tháng 2 năm 2017, Ứng dụng web tiến bộ là một nền tảng đủ mạnh mà Twitter đã chuyển tất cả lưu lượng truy cập web di động của họ sang React PWA .

Kể từ tháng 8 năm 2016, Ứng dụng web tiến bộ thực sự cung cấp nhiều quyền truy cập phần cứng hơn người ta thường nghĩ. Đây là ảnh chụp màn hình whatwebcando.today từ Chrome 52 ổn định trên Android của tôi:

Web có thể làm gì hôm nay - Chrome 52 trên Android

Quyền truy cập phần cứng bao gồm

Quyền truy cập phần cứng sắp tới

Các tính năng này đang được triển khai hoặc đã hoạt động trong một số trình duyệt:

Một điểm quan trọng khác cần lưu ý là Khung thử nghiệm gốc (được triển khai trong Chrome ) cho phép các nhà sản xuất bộc lộ và kiểm tra các khả năng của phần cứng (hoặc phần mềm) mà không cần phải trải qua quá trình tiêu chuẩn hóa. Ví dụ: một nhà sản xuất điện thoại có thể để lộ một API để đọc các giá trị của cảm biến áp suất, tinh chỉnh nó, sau đó gửi nó để W3C xem xét.

Bên cạnh quyền truy cập phần cứng, còn có các tính năng phần mềm được các ứng dụng gốc sử dụng theo truyền thống hiện đã có sẵn cho các ứng dụng web.

Các tính năng gốc truyền thống mà PWA cũng có thể sử dụng

Các tính năng này bao gồm rất nhiều trường hợp sử dụng và nhiều ứng dụng gốc phổ biến hiện nay có thể được viết lại dưới dạng PWA. Lấy ví dụ như Slack. Thay thế mã nguồn mở của nó, Rocket.Chat, đang xây dựng một phiên bản PWA . Để biết thêm các bản trình diễn PWA, hãy xem https://pwa.rocks .

Các tính năng giống bản địa sắp có trong PWA

Các tính năng Android gốc chưa có sẵn cho PWA

  • truy cập vào cảm biến vân tay ( đang được phát triển )
  • quyền truy cập danh bạ, lịch và dấu trang trình duyệt (thiếu quyền truy cập vào những thứ này có thể được người dùng quan tâm đến quyền riêng tư xem như một tính năng )
  • báo thức
  • tính năng điện thoại - chặn SMS hoặc cuộc gọi, gửi SMS / MMS, lấy số điện thoại của người dùng, đọc thư thoại, gọi điện mà không cần hộp thoại Dialer
  • quyền truy cập cấp thấp vào một số tính năng và cảm biến phần cứng: đèn pin, cảm biến áp suất khí quyển
  • truy cập hệ thống: quản lý tác vụ, sửa đổi cài đặt hệ thống, nhật ký

Ứng dụng web tiến bộ cung cấp các tính năng mà ứng dụng gốc thiếu

  • khả năng phát hiện - nội dung trong các ứng dụng web tiến bộ có thể dễ dàng được tìm thấy bởi các công cụ tìm kiếm nhưng một ứng dụng gốc lấy nội dung làm trung tâm như StackOverflow sẽ không hiển thị giữa các kết quả tìm kiếm trên cửa hàng ứng dụng cho nội dung mà nó cung cấp quyền truy cập, chẳng hạn như "pwa so với native". Đây là một vấn đề đối với các cộng đồng như Reddit, cộng đồng này không thể hiển thị nhiều cộng đồng con của họ trên cửa hàng ứng dụng dưới dạng "ứng dụng" riêng lẻ.
  • khả năng liên kết - bất kỳ trang / màn hình nào cũng có thể có liên kết trực tiếp, có thể được chia sẻ dễ dàng
  • khả năng đánh dấu - lưu liên kết đó để truy cập trực tiếp vào chế độ xem của ứng dụng
  • luôn mới - không cần phải đi qua các cửa hàng ứng dụng để đẩy các bản cập nhật
  • truy cập toàn cầu - không phải tuân theo các cửa hàng ứng dụng đôi khi là các chính sách tùy ý hoặc các hạn chế địa lý (ngoài ý muốn)
  • tiết kiệm dữ liệu lớn , cực kỳ quan trọng ở các thị trường mới nổi có tốc độ truy cập Internet đắt đỏ và / hoặc chậm. Ví dụ: trang web thương mại điện tử Konga đã cắt giảm 92% mức sử dụng dữ liệu cho lần tải đầu tiên bằng cách chuyển sang PWA .
  • mức độ phân phối thấp - nếu ứng dụng web tiến bộ của bạn trực tuyến, thì người dùng Android (và các thiết bị di động khác) đã có thể truy cập được.

Lưu ý cuối cùng: PWA chạy, với cùng một cơ sở mã, trên máy tính để bàn cũng như hầu hết các thiết bị di động. Trên môi trường máy tính để bàn (ChromeOS, và sau đó Mac và Windows), họ đang đưa ra theo cách tương tự như các ứng dụng khác, và chạy trong một cửa sổ ứng dụng thường xuyên (không có tab trình duyệt).


1
Một lưu ý nhỏ: với "Ứng dụng Android tức thì", bạn có thể tranh luận rằng Ứng dụng gốc (ít nhất là trên Android) không còn thiếu khả năng liên kết.
shawnjan

Câu trả lời hay đấy Dan! Có cách nào để PWA truy cập số điện thoại của thiết bị chủ không?
Alexander Mills

@Alexander: không (xem gạch đầu dòng "tính năng điện thoại"), vì nó sẽ vi phạm quyền riêng tư. Thay vào đó, hãy cân nhắc sử dụng tính năng tự động điền .
Dan Dascalescu


12

Ưu điểm chính cho các ứng dụng gốc là chúng có thể truy cập tất cả các API gốc mà một nền tảng có thể cung cấp (danh bạ, đèn flash máy ảnh, SMS, điện thoại, mạng, bluetooth, cảm biến, ổ cắm thô ...) trong khi một ứng dụng web tiến bộ thì không (chưa) vì chúng bị hạn chế bởi các khả năng của Web Chuẩn.

Mục tiêu của các ứng dụng web tiến bộ là mở rộng các khả năng này để đáp ứng các trường hợp quan trọng nhất. Trong tâm trạng này, hãy xem Ứng dụng web tiến bộ: Thoát khỏi tab mà không làm mất linh hồn của chúng ta , nơi bạn có thể tìm thấy danh sách những gì một ứng dụng web tiến bộ sẽ cung cấp:

  • Đáp ứng: để phù hợp với mọi yếu tố hình thức
  • Khả năng kết nối độc lập: Được cải tiến liên tục với Service worker để cho phép họ làm việc ngoại tuyến
  • Tương tác giống ứng dụng: Áp dụng mô hình ứng dụng Shell + Nội dung để tạo điều hướng và tương tác ứng dụng
  • Mới: Rõ ràng luôn được cập nhật nhờ quy trình cập nhật Service Worker
  • An toàn: Được cung cấp qua TLS (yêu cầu của Service Worker) để ngăn chặn việc theo dõi
  • Có thể phát hiện: Có thể nhận dạng là “ứng dụng” nhờ W3C Manifests và phạm vi đăng ký Service Worker cho phép các công cụ tìm kiếm tìm thấy chúng
  • Tương tác lại: Có thể truy cập vào giao diện người dùng tương tác lại của Hệ điều hành; ví dụ: Thông báo đẩy
  • Có thể cài đặt: vào màn hình chính thông qua lời nhắc do trình duyệt cung cấp, cho phép người dùng "giữ" các ứng dụng mà họ thấy hữu ích nhất mà không gặp rắc rối với cửa hàng ứng dụng
  • Có thể liên kết: nghĩa là chúng không có ma sát, không cần cài đặt và dễ chia sẻ. Sức mạnh xã hội của URL rất quan trọng.

Từ những điểm này, có thể kết nối là một trong những đặc điểm đầu tiên được nhập khẩu bởi các ứng dụng có nguồn gốc từ Web mở theo hình thức liên kết sâu thoại di động .

Nhưng đặc biệt cần đề cập đến sự kết hợp mới + có thể cài đặt vì nó đại diện cho một trong những lợi thế chính của Web như một nền tảng so với các lựa chọn thay thế gốc . Ở đây có thể cài đặt có nghĩa là nó xuất hiện trên màn hình chính của bạn. Nó không có nghĩa là bạn phải vượt qua các giai đoạn tải xuống và cài đặt. Bạn mở một URL hoặc khám phá một dịch vụ trong khi duyệt và nó đã hoàn tất: nó xuất hiện trên màn hình chính của bạn .

Fresh đề cập đến cách một trang web thông thường hoạt động, cung cấp tải tức thì và cập nhật liền mạch. Bạn không được yêu cầu cài đặt bản cập nhật từ web YouTube, bản cập nhật này được triển khai và bạn sử dụng nó vào lần tiếp theo khi truy cập.

Tôi không nói về lợi ích của những điểm còn lại bởi vì bạn đang yêu cầu sự khác biệt và ví dụ: tương tác lại là thứ mà các ứng dụng gốc đã có thông qua các dịch vụ đẩy và thông báo và bây giờ các ứng dụng web đã bắt kịp.

Câu hỏi quan trọng và liên quan khác là về nền tảng nào phù hợp hơn với nhu cầu của bạn. Nếu bạn không truy cập vào các khả năng phần cứng đặc biệt, thì Web phải là đủ và chọn web mà bạn không có thị trường, hệ sinh thái độc quyền và bằng cách này, bạn có thể đảm bảo mức độ phổ biến và khả năng tương tác nhất định .

Lưu ý cuối cùng, tôi khuyên bạn nên duyệt www.flipkart.com từ điện thoại di động có Chrome. Nó khá tuyệt vời: không có lỗi, điều hướng mượt mà, cảm giác giống như ứng dụng. Chuyển sang chế độ ngoại tuyến và nó sẽ tiếp tục hoạt động. Một ví dụ thực sự thực sự về bài đăng đó. Thêm ứng dụng vào màn hình chính và lần sau khi bạn mở nó, trải nghiệm thậm chí còn tốt hơn.

Bạn có thể xem qua Firefox OS cũng như một ví dụ về việc đưa nhiều API nền tảng hơn vào Web Chuẩn (với ít nhiều thành công).


PWA thực sự có thể truy cập vào máy ảnh, cũng như một số cảm biến .
Dan Dascalescu,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.