Service Worker, Progressive Web Apps là gì? – Phần 2

PWA (Ứng dụng web tiến bộ) là một trong những thay đổi công nghệ được nhắc đến nhiều nhất trên web trong những thời gian qua. Và hiện đã có rất nhiều sự chú ý trong việc xây dựng PWA và những lợi thế của nó.

1. PWA – Ứng dụng web lũy tiến là gì?

Ứng dụng web lũy tiến(PWA) là một thuật ngữ được sử dụng để biểu thị một phương pháp phát triển phần mềm mới . Không giống như các ứng dụng truyền thống , các ứng dụng web lũy tiến là sự kết hợp của các trang web thông thường và một ứng dụng di động . Mô hình ứng dụng mới này cố gắng kết hợp các tính năng được cung cấp bởi hầu hết các trình duyệt hiện đại với lợi ích của trải nghiệm di động.

Service Worker, Progressive Web Apps là gì?
Service Worker, Progressive Web Apps là gì?

PWA giúp tải trang web một cách nhanh chóng, thậm chí trên mạng chậm không ổn định (3G), gửi thông báo (push notification), có thể cài đặt biểu tượng lên màn hình điện thoại như một biểu tượng ứng dụng di động, có thể hoạt động ngoại tuyến (offline/không phụ thuộc mạng internet), và có thể chạy được trên mọi trình duyệt.

3 điểm nổi bật của PWA:

  1. Đáng tin cậy: Tải nhanh và hoạt động ngoại tuyến.
  2. Nhanh: Hình ảnh động mượt mà, jank free scrolling và điều hướng liền mạch ngay cả trên các mạng không ổn định.
  3. Hấp dẫn: Truy cập từ màn hình chính và có thể nhận thông báo đẩy, cảm giác giống như một ứng dụng tự nhiên trên thiết bị, với trải nghiệm người dùng tuyệt vời.

2. Đặc điểm của PWA

Một trang web được gọi là PWA khi thỏa mãn các điều kiện sau đây:

  • Tiến bộ (Progressive) – hoạt động đối với mọi người dùng mà không quan tâm trình duyệt được sử dụng (nói ngắn gọn là chạy được trên mọi trình duyệt) vì nó được xây dựng với nguyên lý cốt lõi là tiến bộ tăng cường.
  • Responsive – phù hợp với bất kỳ kích cỡ màn hình: máy tính để bàn, điện thoại di động, máy tính bảng hay bất cứ thiết bị nào trong trong lai – có sử dụng trình duyệt web ?
  • Khả năng kết nối độc lập (Connectivity independent) – khả năng kết nối được tăng cường bởi service-worker giúp ứng dụng web có thể hoạt động offline hoặc trên mạng chất lượng thấp.
  • App-like – như một ứng dụng di động để người dùng tương tác bao gồm giao diện, tương tác và trình đơn điều hướng (người dùng sử dụng các trình đơn này để sử dụng thay cho các trình đơn điều hướng (Back/Forward) của trình duyệt)
  • Làm mới (Fresh) – luôn luôn cập nhật nhờ service-worker
  • An toàn (Safe) – sử dụng HTTPS để ngăn chặn snooping và đảm bảo nội dung đã không bị giả mạo.
  • Dễ dàng phát hiện (Discoverable) –  là nhận biết như một “ứng dụng” nhờ W3C đăng ký kê khai và dịch vụ, cho phép công cụ tìm kiếm dễ dàng
  • Re-engageable – kết nối người dùng dễ dàng hơn với tính năng.
  • Installable – cho phép người dùng đánh dấu ứng dụng web lên trên màn hình điện thoại để dễ dàng truy cập lại sau đó, bỏ qua sự rắc rối của việc cài đặt ứng dụng.
  • Linkable – Dễ dàng chia sẻ thông qua URL, ứng dụng di động không thể làm được điều này.

3. Những thách thức trong PWA

Có một số thách thức trong PWA phải được xem xét trong khi lựa chọn nó.

a) Hỗ trợ trình duyệt chéo: Trong khi Chrome, Opera và trình duyệt Android của Samsung hỗ trợ PWA, IE, Edge và Safari vẫn chưa mở rộng hỗ trợ của họ.

b) Chức năng hạn chế: PWA không hỗ trợ cho bất kỳ phần cứng nào không được HTML5 hỗ trợ

c) Tính hợp pháp hạn chế: Vì không có Cửa hàng tải xuống trung tâm cho PWA, họ thiếu cảm giác về tính hợp pháp và tự tin thường được cung cấp bởi các ứng dụng gốc từ Play Store / App Store.

d) Hỗ trợ đăng nhập ứng dụng chéo: Các ứng dụng gốc có khả năng giao tiếp với các ứng dụng khác và xác thực đăng nhập (Facebook, Twitter, Google). Là một trang web, PWA không có khả năng giao tiếp với các ứng dụng khác đã được cài đặt.

4. Phần kết luận

Không thể nói rằng PWA sẽ giết Ứng dụng gốc trong tương lai. Nhưng vẫn có một mối quan tâm ngày càng tăng đối với phương pháp này trong cộng đồng. PWAs vẫn còn trong giai đoạn trứng nước với rất nhiều thách thức phải giải quyết. Tuy nhiên, nó có tiềm năng tạo ra sự thay đổi trong cách thức hoạt động của web.

Bạn có thể xem thêm phần 1 về Service Worker là gì?

Oh My Zsh: Nâng cao trải nghiệm terminal với giao diện đẹp và các plugin tăng hiệu suất! Git cherry-pick là gì? Cách sử dụng và ví dụ Git Rebase: Gộp nhiều commit thành một để tối ưu hóa lịch sử commit 11 tính năng JavaScript mới tuyệt vời trong ES13 (ES2022) CSS diệu kỳ: Các thuộc tính CSS mà bạn có thể chưa biết Auto deploy projects với GitHub Actions – sử dụng ssh-action WordPress Gutenberg Block Server Side Render Add, Upload image trong Gutenberg Block Development Tạo Block Controls – Block Toolbar và Settings Sidebar trong WordPress Gutenberg Làm quen với các components thường dùng khi tạo Gutenberg Block

2 thoughts on “Service Worker, Progressive Web Apps là gì? – Phần 2

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.