3 ms·
At the moment we are in the process of evaluating different frameworks/solutions to build a simple native App for iOS and Android. Its mostly some basic forms t
by cseelus 10y ago
At the moment we are in the process of evaluating different frameworks/solutions to build a simple native App for iOS and Android. Its mostly some basic forms to build simple objects that eventually get posted to a JSON API.
What astounded me most was that nearly none of the established solutions offers a simple way to just cache these requests until when the device is online or any other simple ways to get such basic stuff working when offline/the connection is bad.
Generally speaking: In early 2017 its still way to hard to get very basic stuff on native (let alone web based) mobile apps working offline. The whole offline-first movement still has a lot of educational work to do.
- ChicagoBoy11 10y agoI'm not sure I agree with this 100%. About two years ago I had to have shoulder surgery and so couldn't go golfing with my buddies -- I ended up making a mobile app to mimick the one used by the PGA Tour where I could track all of their scores online as they played so I could still participate in the banter with my golf buddies. A big issue was the fact that I wanted the live updates but had to deal with pretty spotty connection around the course. I ended up using Firebase and it handled that case just BEAUTIFULLY right out of the box; the data updates optimistically on the player's own device, and once a connection is established Firebase syncs it with the datastore and all other phones update accordingly. I would say that this is some pretty sophisticated behavior that I, the developer, just used right out the box following documentation.
- jinjin2 10y agoHave you tried Realm? It works both with native apps and React Native, and is awesome for making apps that works seamlessly offline.
- cyberferret 10y agoFirebase integrates beautifully with Ionic, and allows real time push, as well as offline caching. I've done it and it works great. You can also use CouchBase (disclaimer, I haven't tried it yet, but have an app that I will be using it for in the near future). As a last resort, we also have an app that uses LocalStorage on the device to store an 'offline copy' of a database, and sync up when the user wants to. It works surprisingly well in this particular use case, and no need for any complex library. Just load up the local storage database when the app is launched for the very first time, and then whenever the user does a 'pull to refresh', it goes looking for the latest data from our server - if it cannot find a server connection, it fails gracefully.