Progressive Web App hay PWA là gì?

Đã bao giờ bạn mong muốn các ứng dụng web có thể hoạt động như các ứng dụng thực sự. Progressive Web App là công nghệ mới, được phát triển nhắm mục đích thực hiện điều đó.

Progressive Web App hay PWA là gì?

Progressive Web App hay PWA là ứng dụng web tiến bộ, mang lại trải nghiệm cho người dùng với khả năng truy cập web và có đặc điểm:

  • Đáng tin cậy: Load ngay lập tức và không bao giờ hiển thị mất kết nối Internet (downasaur), ngay cả trong điều kiện mạng chập chờn.
  • Nhanh: Phản hồi nhanh với các tương tác của người dùng, hiệu ứng mượt mà và không bị nhảy hình.
  • Thu hút hơn: Ứng dụng PWA hoạt động giống hệt như ứng dụng gốc trên thiết bị, nhưng với trải nghiệm người dùng tốt hơn, nhờ đó thu hút người dùng hơn.

Google, Microsoft, Mozilla và các công ty khác đang làm việc trên một tiêu chuẩn ứng dụng web mới hiện đại. Ngay cả Apple cũng đang theo đuổi và thực hiện các hỗ trợ cho nó. Các ứng dụng này là ứng dụng web, nhưng chúng hoạt động giống như các ứng dụng gốc (native app). Cũng giống như các ứng dụng web hiện có, chúng sẽ được lưu trữ trực tiếp trên trang web được liên kết. Các nhà phát triển có thể cập nhật ứng dụng trực tiếp trên máy chủ web của họ mà không phải gửi những cập nhật này cho một số cửa hàng ứng dụng và cùng một ứng dụng sẽ chạy trên tất cả các trình duyệt, nền tảng.

Khi cài đặt một ứng dụng Progressive Web App, bạn sẽ có một màn hình chính, thanh công cụ hoặc phím tắt trên màn hình để khởi chạy ứng dụng (tùy thuộc vào nền tảng của người dùng). Ứng dụng sẽ được tải nhanh hơn và có một số tính năng hỗ trợ ngoại tuyến, đẩy thông báo, hỗ trợ đồng bộ hóa nền và các tiện ích hiện đại khác.

Các ứng dụng này cũng có thể sử dụng các công nghệ web hiện có để truy cập các dịch vụ định vị, webcam và các tính năng khác, thường liên kết với các ứng dụng gốc. Tất nhiên, nó cần phải gửi yêu cầu người dùng cấp quyền truy cập trước khi sử dụng.

Cách Progressive Web App hoạt động?

Cách Progressive Web App hoạt động

Progressive Web App là các ứng dụng web truyền thống và được nâng cấp với công nghệ web hiện đại, mang đến trải nghiệm giống ứng dụng. "Progressive" có nghĩa là chúng được "nâng cấp tăng dần" với các tính năng web hiện đại, không những hoạt động trên các trình duyệt cũ không hỗ trợ mà còn hoạt động tốt với nhiều tính năng trong các trình duyệt hiện đại.

Các ứng dụng này sẽ có cửa sổ và phím tắt riêng trên thanh tác vụ (trên Windows 10 và các hệ điều hành chạy Chrome) hoặc biểu tượng trên màn hình chính (trên thiết bị Android và các điện thoại thông minh khác). Khi mở ứng dụng, bạn sẽ thấy chúng được tải nhanh chóng nhờ Cache API và IndexedDB, lưu trữ các tài nguyên và dữ liệu của ứng dụng trên thiết bị, cho phép ứng dụng hoạt động ngay cả khi offline. Các công nghệ như Service Workers và thông báo đẩy sẽ cho phép ứng dụng thực hiện các tác vụ nền như đồng bộ hóa và gửi thông báo cho người dùng ngay cả khi không chạy, giống như một ứng dụng thực sự. Các Fetch API khiến ứng dụng chạy nhanh hơn và quá trình yêu cầu dữ liệu đơn giản hơn. File Web App Manifest cung cấp tên, biểu tượng, tác giả và mô tả được sử dụng khi cài đặt ứng dụng vào màn hình chính hoặc máy tính để bàn. Chúng luôn sử dụng HTTPS được mã hóa để đảm bảo an toàn và dữ liệu không thể bị giả mạo khi chuyển tiếp.

Progressive Web App không giống như Chrome Packaged App của Google hoặc Hosted Web App của Microsoft. Những ứng dụng này yêu cầu phải được "đóng gói" như một file và gửi đến một cửa hàng ứng dụng. Toàn bộ ứng dụng “sống” trong một gói ngoại tuyến nhỏ và người dùng phải cài đặt nó từ Chrome Web Store hoặc Windows Store. Đây cũng là nền tảng cụ thể và chỉ hoạt động trên Chrome hoặc Windows. Nhà phát triển phải thay đổi file của ứng dụng ngoại tuyến và gửi phiên bản mới tới cửa hàng ứng dụng để cập nhật nó.

Thay vào đó, PWA không bao giờ được đóng gói vào một file ngoại tuyến. Giống như các ứng dụng web truyền thống mà chúng ta sử dụng ngày nay, chúng được lưu trữ hoàn toàn trên các máy chủ của ứng dụng. Nếu nhà phát triển muốn cập nhật ứng dụng Progressive Web App, họ sẽ thực hiện cập nhật chính xác như cập nhật ứng dụng web trên máy chủ. Tất cả các nền tảng và trình duyệt hỗ trợ PWA có thể sử dụng cùng một ứng dụng Progressive Web App.

PWA có thể được đưa vào trong cửa hàng ứng dụng để người dùng có thể dễ dàng tìm và cài đặt, nhưng sau đó cửa hàng ứng dụng sẽ chỉ đến các máy chủ của ứng dụng web. Ngay cả khi ứng dụng không tương thích với chính sách nội dung của cửa hàng ứng dụng, người dùng có thể tìm và cài đặt ứng dụng trực tiếp từ trình duyệt.

Ứng dụng PWA

Công nghệ này không chỉ khiến các ứng dụng hoạt động tốt hơn mà còn đặt ra tiêu chuẩn mới cho các ứng dụng có thể cài đặt được trên mọi nền tảng hỗ trợ.

Ví dụ: Google có thể cho phép các dịch vụ như Gmail và Google Calendar hoạt động như ứng dụng PWA, điều này có nghĩa là chúng sẽ chạy như các ứng dụng chính trên Windows 10 và có trong Windows Store. Điều này giúp người dùng giải quyết các vấn đề ứng dụng của Windows Store vì Google không hỗ trợ Universal Windows Platform (UWP) của Microsoft. Các nhà phát triển khác không muốn tạo ra các ứng dụng UWP độc lập, có thể hỗ trợ Windows 10 với PWA.

Nhờ vào Progressive Web App, các nhà phát triển sẽ có cách dễ dàng hơn để các ứng dụng web hoạt động mạnh mẽ hơn, tích hợp trên nhiều thiết bị mà không cần phải qua bất kỳ cửa hàng ứng dụng nào. Các ứng dụng web hoạt động ở mọi nơi có khả năng cạnh tranh tốt hơn các ứng dụng chỉ hoạt động trên một nền tảng duy nhất. Giờ đây các công ty có thể tạo ra các ứng dụng PWA và hỗ trợ tất cả mọi thứ thay vì tạo các ứng dụng dành riêng cho iOS, Android, Windows và web.

Vì các nhà phát triển cung cấp file Web App Manifest, các công cụ tìm kiếm sẽ thu thập dữ liệu web và giúp cho việc tìm kiếm PWA dễ dàng hơn giống như các trang web.

Những nền tảng nào được hỗ trợ?

Nên tảng được hỗ trợ

Progressive Web App đã được phát triển trong một thời gian, nhưng họ đang tiến tới một bước nhảy vọt lớn hơn trong mắt công chúng.

Với bản cập nhật tiếp theo của Windows 10 có tên mã là Redstone 4, sẽ được phát hành vào tháng 3 năm 2018, Microsoft dự định hỗ trợ cho PWA. Cũng như trên các nền tảng khác, bạn có thể tới trang web của PWA và cài đặt nó qua Microsoft Edge. Tuy nhiên, Microsoft cũng sẽ mang các ứng dụng Progressive Web App vào trong Store để dễ dàng cài đặt. Các nhà phát triển cũng có thể đưa các ứng dụng của họ vào trong Store nhưng Microsoft cũng sẽ sử dụng Bing để tìm các PWA trên web và tự động liệt kê chúng. Những ứng dụng này vẫn được lưu trữ và cập nhật trên trang web của họ, nhưng Microsoft khiến việc tìm và cài đặt chúng dễ dàng hơn. Bạn sẽ không bao giờ cần phải mở trình duyệt Edge để tìm kiếm, cài đặt và chạy PWA trên Windows 10. 

Trên Google Chrome được sử dụng trên hệ điều hành Windows, Mac, Linux hoặc Chrome OS, ứng dụng PWA sẽ thay thế nền tảng "Chrome App" đã ngừng hoạt động. Google cho biết hỗ trợ cài đặt máy tính để bàn của PWA sẽ được phát hành vào giữa năm 2018. Sau đó các ứng dụng PWA sẽ hoạt động với Chrome trên máy tính để bàn. Tính năng này đã được thử nghiệm trong phiên bản phát triển không ổn định của Chrome, mang tên Canary.

Trên Android, Google Chrome cũng như các trình duyệt di động khác như Mozilla Firefox, Opera và trình duyệt Samsung đã được hỗ trợ cài đặt PWA. Google đang nghiên cứu công nghệ WebAPK cho phép chuyển các file PWA thành các file APK (file ứng dụng Android) và cài đặt trên thiết bị giống như các ứng dụng Android khác. Người quản lý dự án của Chrome cho hay PWA có thể được thêm vào Play Store trong tương lai.

Mặc dù Apple không phải là người đề xướng hoặc người tham gia trong xu hướng này, nhưng họ cũng đang thêm các tính năng PWA vào trình duyệt Safari. Năm 2018 sẽ là một năm quan trọng đối với PWA, đặc biệt là trên Windows 10, có thể giúp Microsoft thu hẹp khoảng cách ứng dụng và phát hành nhiều ứng dụng phong phú hơn.

Xem thêm: 

Thứ Năm, 12/04/2018 09:21
52 👨 1.613