Bài viết này giới thiệu tổng quan này là những điều được mình đúc kết lại từ course Progressive Web Apps (PWA) – The Complete Guide cùng với những suy nghĩ dựa trên quan điểm của mình về Progressive Web App. Bạn cũng có thể tham gia khóa học này để ủng hộ tác giả. Còn bây giờ mời mọi người cùng đón đọc!
Progressive Web App là gì?
Để tìm hiểu về Progressive Web Apps thì trước tiên chúng ta cần trả lời một câu hỏi quan trọng:
Vậy Progressive Web App là gì?
Mình cũng hơi khó để giải thích cho các bạn nghĩa của 3 từ Progressive Web App là gì!!! Và tốt nhất thì mình nghĩ bạn đừng nên cố gắng giải nghĩa nó làm gì!
Mục đích cuối cùng khi cải tiến web sang Progressive Web App là để mang lại cho người dùng sự trải nghiệm mới có cách thức hoạt động giống như là một ứng dụng native trên điện thoại mà bạn cài từ AppStore hay PlayStore về.
Bạn đang xem: Pwa là gì
Có thể tạm phân chia ứng dụng bạn dùng trên điện thoại thành ba loại theo cách thức nó được triển khai:
Native app: Các app viết theo ngôn ngữ riêng của từng nên tảng điện thoại như Java/Android, Swift/IOS..Web app: Chính là các hệ thống website truy cập thông qua browserHybrid app: Là các app viết bằng các ngôn ngữ sử dụng trên web (Javascript) nhưng lại build thành kiểu native app để upload lên store. => PWA, React Native sẽ nằm thuộc nhóm app loại này.
Nếu nói tới đây có thể các bạn đã liên tưởng luôn tới web app có hỗ trợ responsive – co giãn được theo màn hình điện thoại. Cái này chúng ta đã làm dăm bảy năm nay rồi nhưng nó lại không phải là progressive web app. Xin anh em đừng hiểu nhầm nhé!
Chúng ta sẽ so sánh một chút giữa Mobile Web (không phải PWA) và Native apps trong biểu đồ trên. Đây là số liệu khá cũ được thống kê từ năm 2015 được thực hiện bởi comScore tại Mỹ về thời lượng sử dụng smartphone mà chúng ta có thể dùng làm tư liệu tham khảo.
Trong đó thì 87% thời gian người dùng sử dụng smartphone sẽ dành cho các ứng dụng native. Chỉ 13% là sẽ mở browser lên để vào web. Theo cá nhân mình nghĩ thì cũng bởi bản thân người dùng đã quen với việc sử dụng các app đang cài sẵn trên điện thoại bởi tính tiện lợi không phải đắn đo sau khi mở browser xem URL là gì rồi mới truy cập. Thay vào đó thì các icon của app đã hiển thị ở homescreen luôn rồi.
Ngoài ra, một điểm rất quan trọng đó là native app thì có Push Notification tới điện thoại. Điều mà mobile web không có. Và tất nhiên, nó sẽ làm tăng lượt tương tác giữa người dùng với ứng dụng native lên. Và đây là điểm lôi kéo người dùng mở lại ứng dụng trên điện thoại. Chưa kể tới các chức năng khác mà native app có đã được liệt kê ở phần trước.
Xem thêm: Phản ứng Oxi Hóa Khử Là Gì, ôxy Hóa Khử
Chính bởi vậy, khi dùng PWA được ra đời để xóa bỏ lằn ranh giới về chức năng ở trên. PWA sẽ mang cơ hội để chia sẻ miếng bánh 87%. (y)
80% thời gian dùng điện thoại chỉ cho top 3 app
Nếu 87% thời lượng user là sẽ dành cho các ứng dụng native thì 80% thời lượng đó lại sẽ chỉ dành cho Top 3 apps được dùng trên điện thoại. Những app thuộc top này chắc có lẽ như là Facebook, Google, Twitter. Vậy thì chỉ còn lại 20% thời lượng ít ỏi là sẽ dành cho tất cả các ứng dụng còn lại trên điện thoại.
Một thống kê khác với top 1000 native apps chỉ ra rằng, với top 1000 native app này thì có 3.3 triệu người dùng native, nhưng có tới 8.9 triệu người sử dụng web. Điều này nói lên, web thực sự tiếp cận được tới nhiều người dùng hơn là native app. Trong khi với native, hầu như hàng tháng chúng ta chẳng cài thêm mới ứng dụng nào vào máy cả.
Liệu có một cách nào đó để 80% thời lượng của user sẽ dành thêm được cho web của bạn? PWA sẽ chính là giải pháp mang web của bạn chạy giống như một ứng dụng native dưới mobile. Chủ động gợi ý cài web app vào điện thoại khi chúng ta vào web trên trình duyệt điện thoại và họ không cần phải truy cập vào PlayStore, AppStore để tìm kiếm.
Vậy nên PWA như đã tổng hợp được ưu điểm của Native app với các chức năng mà trước đây web không làm được + khả năng tiếp cận được người dùng cao của nền tảng web.
Xem thêm: Rogue Là Gì
Chi phí phát triển
Quay lại với các loại app mà mình đã nêu ở phần đầu bài viết: Native app, Web app và Hybrid app.
Nếu phát triển một sản phẩm mình thí dụ bạn cần:
Nếu biến web của bạn thành Progressive Web App, thì đồng nghĩa với việc bạn không cần thiết tới dev riêng chuyển để phát triển bản mobile native hoặc react-native nữa. Hãy nhớ lại là progressive web app vẫn tạo Icon ứng dụng, sử dụng location, camera và push notification về điện thoại nhé. Tất nhiên, nó còn phù thuộc lớn vào loại hình của web, những dạng business logic không quá phức tạp như tin tức, blog.. thì việc dùng PWA mình nghĩ đó sẽ là hợp lý.
Tổng kết
Với những phần nội dung đã đề cập ở trên, bạn có thể thấy được rằng Progressive web app chung quy rút lại sẽ có 3 điểm chính:
Be reliable: Lần đầu tải trang nhanh hơn, hỗ trợ chạy app ngay cả khi offlineFast: Phản hồi lại các hành động của người dùng trên app trở lên nhanh chóngEngaging: Cung cấp trải nghiệm tốt hơn khi hoạt động của app trở nên giống native app
Trên đây là nội dung mà mình muốn chia sẻ, cảm ơn mọi người đã theo dõi và đọc bài viết này. Mọi câu hỏi thắc mắc, góp ý mọi người hãy thả cho mình comment phía dưới nhé! Xin chân thành cảm ơn!
Chuyên mục: Hỏi Đáp