Best way to store large data clientside in an gwt offline application? - gwt

We have written an Vaadin7/GWT application where the user can select multiple images and upload them. The application works offline, so we want to store the images clientside and only upload them when the user is pressing the sync button. The clue is that we want to keep the selected images, even when the user is closing the Tab/Browser. The clientside storage should also work with mobile browsers (Android and iOS)
We have found the following possibilities to store data on the client
Session Storage is killed when the tab/browser is closed. Not suited for our case.
Local Storage is limited to 5MB which is not enough. Is there a way to extend that limit?
IndexedDB does not work on IOS devices (http://caniuse.com/indexeddb)
WebSQL does work on IOS and Android devices (http://caniuse.com/sql-storage) but is deprecated
So the question are. Does anyone know a good Frameworks in conjunction with gwt? Which storage type/DB would you prefer and why? Or even more general, how would you solve the Problem?
Thanks for any advice, suggestion or experiences you had.

Unfortunately, there is no magic solution for all operating systems/browsers. I believe that you your only option for large objects is to build native apps for each platform that use a web browser for their client.

Related

What’s the best way to load content in an iOS app?

I am working on an iOS wallpapers app that lets users explore interesting wallpaper images. I am not sure, however, what the best way to load the images is. I would be most comfortable with a server less approach, as I would not have to worry about server upkeep. However, this means I’d have to include all the images in the app package which would be very heavy and not easy to add new content. I assume I will need to go the server route but am looking for a push in the right direction as to which service I should use, how much it will cost, and if I can support millions of users out of the gate. I am comfortable with Firebase but am not sure if that is the best option. Please help!
In your case keeping static images in your app sounds like a bad idea, for the reasons you listed. For a small project using Firebase Realtime Database or Cloud Firstore along with the Storage module would probably be the safest approach.
If you haven't already check out the Kingfisher (iOS) and Piccaso (Android) libraries to handle the image downloads.

Can PWA share state/data between browsers?

If I have multiple browsers, can PWA share states or data? For example if I’m offline and I interact with the app on Firefox, save some data, etc. Can I access that same data when I open the app in Chrome? I tried it with https://voice-memos.appspot.com/ but it doesn’t work. Perhaps an unimplemented feature?
No, you can't. The browsers implement the cache in different ways, they store the data in different directories, etc..
Browsers have their own private storage for web apps, and there's no API designed specifically for direct, seamless cross-browser data sharing, so only workarounds are available.
When online you can share the data by synchronizing it via a server. This may even be near-realtime with the help of SSE/WebSockets or push notifications.
When offline I don't think you can in any sensible way. You could instruct the user download a file in one app and select it in a file picker in another app (or use drag'n'drop or copy'n'paste). Maybe (I haven't tested) you could establish WebRTC data connection between browsers while online and it'd survive going offline if the direct p2p connection was made over loopback/LAN.

Database driven ios app - first steps

I'm about to start work on my first app which will be an internal release to gather customer information at a trade show.
I'm hopefully looking into using air for ios or maybe one of the various html/js frameworks to develop this app as an alternative to learning C.
ideally I would do it with some server based php > sql to store and share gathered information between a fleet of iPads, unfortunately due to the population of this trade show there will be no guarantee that i can maintain a wireless connection so need to prepare for these apps all being local access only.
in which case, how would you recommend going about the saving/reading of the stored data, and also how to sync it up with a sql server and then back to the iPads each night.
Did you try PhoneGap? It is an HTML5 app platform that allows you to author native applications with web technologies, in other words it will let you make an iphone app without having to learn C.
People have written tutorials and plugins for storing data locally.
PhoneGap basically wraps a web app hence you can use AJAX for sync with server as and when needed. This article might help.
We explored PhoneGap and found it very useful. and easy too. hope this helps you.

How can I store more that 5MB in HTML 5 local storage

I need to write an app to run on iPhone, iPad, Android phones & tablets. WinPhone 7 and desktop browsers would also be nice, but not necessary. I'm a desktop/Silverlight developer, but it seems this is a job for HTML 5 & javascript. Right?
I'm looking at Sencha touch, jquery, and amplify.js to simplify my life. My app has to be available in app stores, so I'm looking at PhoneGap to help with that.
The app needs to work offline which means I have need for local storage of about 10 megs. I don't know how to deal with this requirement because all the local storage options seem to top off at 5 megs.
Any ideas about how to deal with this? (Or any suggestions as to a better approach or libraries?)
I would try your best to get your app down to less than 5 Mb. This means perhaps compression of some sort before locally storing, perhaps only having the essential features available offline, and optimizing your data such that you can reduce any redundancy. Even after all of this, you are still dependent on whether or not the user's browser allows local storage, and whether it allows 5 Mb of it.
As per an answer on a question earlier today, the Web SQL Database spec is your friend here, at least on iOS 4.3

Connecting to the internet with flash iOS development

I was reading that certain API's are not available when making iPhone apps with flash, such as accessing the camera. Is it possible to still get information from the web and display it in the app using the flash method? The overall plan is to have it pull data from an SQL database using XML, and I was just wondering if that was possible still with flash. Thank you very much for your answers.
I heard the same thing about it not being able to connect to the internet, among many other restraints, when developing apps through Flash. It held me back for the first 3 months after Apples 'accept' of the platform.
But now after I've had some time to test things out on my own, I found out that the following is possible (so far):
Getting xml and pictures from the web (so why not SQL)
saving cookies
Saving pictures to the cameraroll.
getting geoLocation data (didn't get the google maps api to work YET tho)
And these are only the features i have tried so far (in development-phase, not submittet to Apple)
I'm surprised that no one else has answered your question by now.
Hope this helps gets you spirit up for developing apps with flash :)