Using PWA service workers to save/serve web service in offline mode
up vote
1
down vote
favorite
I have a vue.js/Cordova app in which I want data coming from Rest web services to be available in offline mode, the trivial solution first coming to my mind is using local storage API by indexing each w.s response and make my frontend service return data from local storage in offline mode or in case of a slow internet connection. But I think doing this directly using local storage API is very tricky, and I thought maybe using service workers and pwa concept can do the task properly.
Now, my question is: in my use case, can service workers do the job? second, are service workers available in a Cordova android/iOS app ? Finally, what are probably the compatibility issues/usage risks when running on mobile devices ?
javascript cordova vue.js web-worker progressive-web-apps
add a comment |
up vote
1
down vote
favorite
I have a vue.js/Cordova app in which I want data coming from Rest web services to be available in offline mode, the trivial solution first coming to my mind is using local storage API by indexing each w.s response and make my frontend service return data from local storage in offline mode or in case of a slow internet connection. But I think doing this directly using local storage API is very tricky, and I thought maybe using service workers and pwa concept can do the task properly.
Now, my question is: in my use case, can service workers do the job? second, are service workers available in a Cordova android/iOS app ? Finally, what are probably the compatibility issues/usage risks when running on mobile devices ?
javascript cordova vue.js web-worker progressive-web-apps
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have a vue.js/Cordova app in which I want data coming from Rest web services to be available in offline mode, the trivial solution first coming to my mind is using local storage API by indexing each w.s response and make my frontend service return data from local storage in offline mode or in case of a slow internet connection. But I think doing this directly using local storage API is very tricky, and I thought maybe using service workers and pwa concept can do the task properly.
Now, my question is: in my use case, can service workers do the job? second, are service workers available in a Cordova android/iOS app ? Finally, what are probably the compatibility issues/usage risks when running on mobile devices ?
javascript cordova vue.js web-worker progressive-web-apps
I have a vue.js/Cordova app in which I want data coming from Rest web services to be available in offline mode, the trivial solution first coming to my mind is using local storage API by indexing each w.s response and make my frontend service return data from local storage in offline mode or in case of a slow internet connection. But I think doing this directly using local storage API is very tricky, and I thought maybe using service workers and pwa concept can do the task properly.
Now, my question is: in my use case, can service workers do the job? second, are service workers available in a Cordova android/iOS app ? Finally, what are probably the compatibility issues/usage risks when running on mobile devices ?
javascript cordova vue.js web-worker progressive-web-apps
javascript cordova vue.js web-worker progressive-web-apps
asked Nov 10 at 22:08
jemlifathi
3251726
3251726
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
Unfortunately, if you are using cordova to serve up files from either file urls or http urls, as you probably will do unless serving from a website, it will not work on android, due to the fact that service workers only work in secure contexts. see https://www.w3.org/TR/service-workers-1/#secure-context.
However, on iOS there is a plugin that allows you to use service workers, even on older versions of iOS that have no native support.
even without the lack of support in android, service workers wouldn't be present in enough platforms to be used as a core part of your app.
In your case, as you are already using vue, i recomend using Vuex, Vue’s Application Data Store.
You also get some other benefits.
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
Unfortunately, if you are using cordova to serve up files from either file urls or http urls, as you probably will do unless serving from a website, it will not work on android, due to the fact that service workers only work in secure contexts. see https://www.w3.org/TR/service-workers-1/#secure-context.
However, on iOS there is a plugin that allows you to use service workers, even on older versions of iOS that have no native support.
even without the lack of support in android, service workers wouldn't be present in enough platforms to be used as a core part of your app.
In your case, as you are already using vue, i recomend using Vuex, Vue’s Application Data Store.
You also get some other benefits.
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
add a comment |
up vote
2
down vote
accepted
Unfortunately, if you are using cordova to serve up files from either file urls or http urls, as you probably will do unless serving from a website, it will not work on android, due to the fact that service workers only work in secure contexts. see https://www.w3.org/TR/service-workers-1/#secure-context.
However, on iOS there is a plugin that allows you to use service workers, even on older versions of iOS that have no native support.
even without the lack of support in android, service workers wouldn't be present in enough platforms to be used as a core part of your app.
In your case, as you are already using vue, i recomend using Vuex, Vue’s Application Data Store.
You also get some other benefits.
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
Unfortunately, if you are using cordova to serve up files from either file urls or http urls, as you probably will do unless serving from a website, it will not work on android, due to the fact that service workers only work in secure contexts. see https://www.w3.org/TR/service-workers-1/#secure-context.
However, on iOS there is a plugin that allows you to use service workers, even on older versions of iOS that have no native support.
even without the lack of support in android, service workers wouldn't be present in enough platforms to be used as a core part of your app.
In your case, as you are already using vue, i recomend using Vuex, Vue’s Application Data Store.
You also get some other benefits.
Unfortunately, if you are using cordova to serve up files from either file urls or http urls, as you probably will do unless serving from a website, it will not work on android, due to the fact that service workers only work in secure contexts. see https://www.w3.org/TR/service-workers-1/#secure-context.
However, on iOS there is a plugin that allows you to use service workers, even on older versions of iOS that have no native support.
even without the lack of support in android, service workers wouldn't be present in enough platforms to be used as a core part of your app.
In your case, as you are already using vue, i recomend using Vuex, Vue’s Application Data Store.
You also get some other benefits.
answered Nov 10 at 22:40
DerpMarine
13012
13012
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
add a comment |
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Thank you for the response, but is there a plug-in or an API to properly synchronize vuex store content with localstorage ?
– jemlifathi
Nov 11 at 7:59
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
Yes, there is a plugin: github.com/championswimmer/vuex-persist
– DerpMarine
Nov 11 at 8:38
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243910%2fusing-pwa-service-workers-to-save-serve-web-service-in-offline-mode%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown