3 ms·
There's a $cache action where you can store any JSON object into cache associated with the current url and reuse it later https://jasonette.github.io/documentat
by gliechtenstein 10y ago
There's a $cache action where you can store any JSON object into cache associated with the current url and reuse it later https://jasonette.github.io/documentation/actions/#cache-vs-local-variable https://jasonette.github.io/documentation/actions/#cache-vs-...
Also there's an undocumented mode called "offline", where the JSON loads from the server once and after that it always loads from the initially fetched JSON stored locally. You just need to set "head": {"offline": "true}
Hope this answers the question!
- joelhaasnoot 10y agoIt'd be even better if you could ship a version to the App Store with an embedded JSON. That way you'll always have some version of your app. Or does it do that already?
- gliechtenstein 10y agoWhy would you want to have a version of your app? I think one of the coolest part is it works like a website but natively. If you wanted to version apps, I think you could version it at git level, or just think of it as an API deployment. No?
- CJKinni 10y agoI didn't ask the question, but had the same thought. Basically, what if the first time someone loads your app, they don't have a network connection? After the first load, it sounds like I can handle the issue with the cache, but I care a lot about a good experience the first time someone opens the app. Still, very cool!
- joelhaasnoot 10y agoThis indeed: there are more cases than you think where someone downloads your app but has no internet connection when using it. And that could be the first time. Shipping a JSON file ensures the end user will always have something. That something could be as simple as a message "I'm loading data, internet connection is required".
- gliechtenstein 10y agoCurrently, it is possible to set a data-uri as the root url (in a correct format https://en.wikipedia.org/wiki/Data_URI_scheme https://en.wikipedia.org/wiki/Data_URI_scheme) I think that's one way you could handle this situation. Or one could fork the code and change a couple of lines to make this work, technically it would be just a couple of lines of code, but I think policy-wise it needs to be thought out. Please follow the project and feel free to start an issue thread, we can discuss further! :)
- shakna 10y agoVersioning means you can use Continuous Deployment easier. Once all the tests pass for your new feature, it gets shipped, but not before.
- gliechtenstein 10y agoYup that's what I meant by API versioning. Instead of having to deploy the physical app to the appstore, you are deploying your API, since basically you're building your native app on the server.