Intro
Progressive Web Apps or PWA technology is expected to end the nightmare of developing platform specific apps for achieving one purpose. Currently this is tough for mobile developers as they have to develop for Android and iOS. Thanks to Microsoft for ending Windows phones. But still there is Windows app store where applications for Windows 10 can be downloaded. Still its nightmare to have one app working for all the platforms though there are many technologies are there to address the same such as Xamarin. Yes that is a big prediction that one day PWA will make Xamarin like platforms obsolete similar to how HTML5 made Flash & Silverlight into history.
https://en.wikipedia.org/wiki/Progressive_Web_Apps
The purpose of this post is to index all the links related to PWA in one place at least for my personal use. It will be including links my future PWA related posts as well. I am not the person doing it and I tried to include similar indexes at the end of this post.
Basics
Some basics on what is PWA.
https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
Feature detection
Not all browsers support PWA also not all support all features. Since PWA included bunch of features, better do feature detection than checking the browser version.
Features
Below are the features of PWA. Not a complete list as its still evolving.
Navigation Preload
Offline Storage
This is not really PWA feature but can be leveraged to build offline application.
https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/offline-for-pwa
Important thing to note here is the eviction criteria. If there is pressure browser may delete the offline data.
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria
Important thing to note here is the eviction criteria. If there is pressure browser may delete the offline data.
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria
Service Worker
Highlight of PWA which help us to develop offline applications
https://w3c.github.io/ServiceWorker/
https://developers.google.com/web/fundamentals/codelabs/offline/
https://developers.google.com/web/fundamentals/primers/service-workers/
Messaging between ServiceWorker and application.
http://craig-russell.co.uk/2016/01/29/service-worker-messaging.html#.W_QjVjhKiUn
https://developers.google.com/web/fundamentals/codelabs/offline/
https://developers.google.com/web/fundamentals/primers/service-workers/
Messaging between ServiceWorker and application.
http://craig-russell.co.uk/2016/01/29/service-worker-messaging.html#.W_QjVjhKiUn
Push notification
This will take the web apps further towards native feel. Also help us to reengage users.
Installation
Another highlight. This feature is going to help us to get our web apps installed as native apps.
Publishing to AppStores
The app stores are getting PWA apps along with native apps. One day there will be more PWA apps than native. The day where all the device capabilities/APIs are exposed via PWA specs.
https://www.pwabuilder.com/ - Make existing app as installable via store.
https://medium.freecodecamp.org/i-built-a-pwa-and-published-it-in-3-app-stores-heres-what-i-learned-7cb3f56daf9b
https://medium.freecodecamp.org/i-built-a-pwa-and-published-it-in-3-app-stores-heres-what-i-learned-7cb3f56daf9b
Developing PWA
What developers needs to know about PWA.
https://developers.google.com/web/fundamentals/codelabs/your-first-pwapp/
https://medium.com/codingthesmartway-com-blog/getting-started-with-progressive-web-apps-pwa-ab05bcc25bfd
https://medium.com/codingthesmartway-com-blog/getting-started-with-progressive-web-apps-pwa-ab05bcc25bfd
Debugging and experiences
Seems little difficult to debug at this point. But will definitely get improvements over time.
https://developers.google.com/web/fundamentals/codelabs/debugging-service-workers/
https://developers.google.com/web/fundamentals/codelabs/debugging-service-workers/
https://gist.github.com/Rich-Harris/fd6c3c73e6e707e312d7c5d7d0f3b2f9
Lighthouse for debugging - https://developers.google.com/web/tools/lighthouse/
Lighthouse for debugging - https://developers.google.com/web/tools/lighthouse/
Testing PWA
In the world of DevOps we need to have coded test cases to have continuous delivery. This space needs more innovations.
Platform specific
Not all platforms started supporting same way. Below goes platform specific details. Hope some day I can make this section obsolete.
Windows
https://docs.microsoft.com/en-us/microsoft-edge/progressive-web-apps
https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/
https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/
Sample apps
We are not alone. There are apps out there which use PWA. Its reality.
https://pwa.rocks/
For quick demos
https://expensemanager.demo.vaadin.com/ - Keeps data in local cache, InstallableSource code
Some repos to browse for PWA.
https://github.com/GoogleChromeLabs/airhorn - This demonstrates the installation scenario
2 comments:
Progressive web apps are web apps that use emerging web browser apis and features along with traditional progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications. With progressive web app development, web developers can create reliably fast web pages and offline experiences.
The future of PWAs is looking up. Most of the major brands are now considering PWAs instead of native apps.Looking to extend your online presence? Make your brand stand out with a cross-platform progressive web app (PWA).please visit:-Why Is Progressive Web App The Future Of Web Development?
Post a Comment