Câu hỏi Các ứ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]


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 nâng cao. Người ta có thể tạo ứng dụng trông giống như ứng dụng gốc, có thể sử dụng phần cứng của thiết bị như máy ảnh và gia tốc kế, 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, những ứng dụng gốc nào cung cấp các ứng dụng web tiến bộ không hỗ trợ và ngược lại.


76
2018-02-19 11:27


gốc




Các câu trả lời:


TL; DR - Kể từ tháng 2 năm 2017, Progressive Web Apps 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 PWA phản ứng.

Tính đến tháng 8 năm 2016, Progressive Web Apps thực sự cung cấp truy cập phần cứng nhiều hơn bình thường. Đây là ảnh chụp màn hình của whatwebcando.today từ Chrome 52 ổn định trên Android:

What Web Can Do Today - Chrome 52 on Android

Truy cập phần cứng bao gồm

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 cần lưu ý là Thử nghiệm gốc Khung (được triển khai trong Chrome) cho phép các nhà sản xuất phơi bày và kiểm tra các khả năng phần cứng (hoặc phần mềm) mà không 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ể vạch ra một API để đọc các giá trị của một cảm biến áp suất, tinh chỉnh nó, sau đó gửi nó để xem xét đến W3C.

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

Các tính năng bản địa 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 Slack, ví dụ. Lựa chọn nguồn mở của nó, Rocket.Chat, đang xây dựng phiên bản PWA. Để biết thêm bản trình diễn PWA, hãy xem https://pwa.rocks.

Các tính năng giống như Native đến 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 trong quá trình phát triển)
  • quyền truy cập danh bạ, lịch và trình duyệt (thiếu quyền truy cập vào các liên kết này có thể được xem dưới dạng đặc tính bởi người dùng có ý thức về quyền riêng tư)
  • báo động
  • các tính năng điện thoại - chặn tin nhắn SMS hoặc cuộc gọi, gửi SMS / MMS, nhận số điện thoại của người dùng, đọc thư thoại, thực hiện cuộc gọi điện thoại mà không cần hộp thoại Dialer
  • truy cập ở mức độ thấp đối với 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ý

Progressive Web Apps cung cấp các tính năng mà ứng dụng gốc thiếu

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

Lưu ý cuối cùng: PWA chạy, với cùng một codebase, 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à một lát sau Mac và Windows), chúng được khởi chạy giống như các ứng dụng khác và chạy trong cửa sổ ứng dụng thông thường (không có tab trình duyệt).


134
2017-08-18 21:28



Một lưu ý nhỏ: với "Ứng dụng tức thì Android", bạn có thể cho 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 Dan! Có cách nào để PWA truy cập vào số điện thoại của thiết bị chủ không? - Alexander Mills
@ Alexander: không (xem các "tính năng điện thoại" đạn), bởi vì nó sẽ là một vi phạm quyền riêng tư. Cân nhắc sử dụng tự động điền thay thế. - Dan Dascalescu


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

Mục tiêu cho các ứng dụng web tiến bộ là mở rộng các khả năng này để bao gồm 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 mất linh hồn của chúng tôi nơi bạn có thể tìm thấy danh sách ứng dụng web tiến bộ sẽ cung cấp:

  • Đáp ứng: để phù hợp với bất kỳ yếu tố hình thức nào
  • Kết nối độc lập: Tăng cường nâng cao với Nhân viên dịch vụ để cho phép họ làm việc ngoại tuyến
  • Tương tác ứng dụng: Áp dụng mô hình ứng dụng Shell + Content để tạo điều hướng và tương tác hiệu quả
  • Tươi mới: Rõ ràng luôn được cập nhật nhờ quy trình cập nhật của Nhân viên phục vụ
  • An toàn: Được cung cấp qua TLS (yêu cầu Công nhân dịch vụ) để ngăn chặn tình trạng rình mò
  • Có thể khám phá: Có thể nhận dạng là “ứng dụng” nhờ phạm vi đăng ký W3C Manifests và Service Worker cho phép các công cụ tìm kiếm tìm thấy chúng
  • Có thể 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ụ. Đẩy thông báo
  • 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ề 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ài đặt và dễ chia sẻ. Sức mạnh xã hội của các URL quan trọng.

Từ những điểm này, có thể liên kết là một trong những đặc điểm đầu tiên được nhập bằng ứng dụng gốc từ Web Mở dưới dạng liên kết sâu di động.

Nhưng đề cập đặc biệt xứng đáng với sự kết hợp tươ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 trên tự nhiên lựa chọn thay thế. Đây có thể cài đặt có nghĩa là nó xuất hiện trong màn hình chủ của bạn. Nó không có nghĩa là bạn cầ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à hoàn thành: nó xuất hiện trong màn hình chủ của bạn.

Tươi đề cập đến cách hoạt động của web thông thường, cung cấp tải tức thời 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ừ trang web của YouTube, nó được triển khai và bạn sẽ sử dụng nó trong lần tiếp theo bạn truy cập.

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

Câu hỏi có liên quan và quan trọng 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, Web phải đủ và chọn trang web 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 nhất định và khả năng tương tác.

Lưu ý cuối cùng, tôi khuyên bạn nên duyệt qua www.flipkart.com từ một thiết bị 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 ngoại tuyến và nó sẽ tiếp tục hoạt động. Một ví dụ thế giới thực sự của bài đăng đó. Thêm ứng dụng vào màn hình chính và lần sau khi bạn mở ứng dụng, trải nghiệm thậm chí còn tốt hơn.

Bạn có thể xem Hệ điều hành Firefox cũng như một ví dụ mang lại API nền tảng khác với Web chuẩn (với nhiều thành công hoặc ít hơn).


11
2018-02-26 10:52



PWA thực sự có thể truy cập vào máy ảnh, cũng như một vài cảm biến. - Dan Dascalescu