Database plugin to persist data offline in Icenium-based app - database

I am using Icenium to develop my mobile app. I wanted to know what is the recommended database solution to persist data offline on the device for Phonegap/Cordova based apps for iOS, Android and Windows Phone 8.
I am aware of this SQLite plugin for Phonegap-based apps that works on Android and iOS.

As it stands right now you're going to have a hard time finding a SQLite plugin that is compatible across all three of those platforms. Without too much effort you could add this plugin and conditionally use it for WP8:
https://github.com/marcucio/Cordova-WP-SqlitePlugin
The only sure-fire solution for cross-platform dev at the moment is to use local storage as your offline data storage mechanism.

Related

Limitations with socket.io?

I am planning to use socket.io inside a hybrid mobile application packaged for a mobile device. Are there any limitations that I might encounter with browser adoption or anything of that sort? Will this sort of a set up work with all mobile devices when packaged and distributed?
Updated details
I am going to use it to write a chat application. If I do a basic chat application using socket.io and then package it using PhoneGap or Cordova/Ionic, would there be any issues with compatibility or can I expect all the features to work seamlessly?

realm mobile platform sync and web app

I'm looking at using realm for a project I'm working on which will be a multi-platform mobile app which will needs to sync data between users / devices. I think the realm mobile platform would be perfect.
However, I also need to have a admin / web app. I've seen that realm has a react-native module so I can use react-native to create my mobile app. Question is can I also use react (or react-native) to create a web admin app or even a desktop version using Electron?!.. In effect the admin app syncs to the same realm the mobile app is using via the realm mobile platform.
Hope that makes sense - Thanks is advance..
Update:
The new Professional Edition might be the solution you are looking for.
As EpicPandaForce states, you would need the enterprise license in order to use sync on the server.
There is a Node SDK for Realm: https://realm.io/news/first-object-database-realm-node-js-server/. We are not officially supporting Electron yet though people have managed to make it work. However, that doesn't yet offer sync so it won't help you in this particular case but stay tuned for updates on that situation!

web apps vs mobile apps

Is there a significant advantage of creating a mobile app as opposed to a web application?
I pose this question from the following perspective, which is biased towards my lack of knowledge of the mobile phone architecture.
You can build a web application with pure javascript, css, and html.
You don't have to write different code for iOS, Android, etc.
The user simply goes to a url, and that's your app, served right there from the server.
I would like someone to highlight some of the advantages of writing specific code for a mobile web application.
What does a mobile app fundamentally have a significant advantage over a web application?
Mobile apps have some advantages:
Assets are packaged on the phone - you only need to load data from
the server, not your layout.
Users are familiar with the conventions of their chosen mobile OS,
which your app will follow.
Trends show users are spending more time in Apps than web on mobile
Can work offline (even if limited)
Mobile apps have access to native features like push notifications,
GPS, Camera, etc
There are also hybrid apps - which are web apps running in a native container. You may have heard of Cordova, which is a platform for acheiving this. You basically create your app as a web app, and it runs inside a native WebView - with this you can use a javascript API to access some native features, but you don't get many of the other benefits of a native app.
Easy to use
Use native mobile design
Don't take long time to load just load data and images but web load (data/images/css/js)
I am not very experienced with this topic, but these are some fundamentals of using mobile apps:
They are accessible offline. (but that is restrictable)
The assets of the downloaded app are stored on the phone itself, thus the main content loads much faster.
As stated before, they have access to the hardware of the device (GPS, camera, etc, sensors etc.)
You can store as much data on the device as you want (opposed to, let's say 5mb using the HTML5's Local Storage).
They have access to push notifications (such as in Android or iOS)
They can put all the powerful hardware of the phone to use.

Phonegap app on Microsoft Surface Pro -- offline storage options

We want to develop a hybrid app using Angular.js, Twitter Bootstrap, .Net Rest API, indexedDB, and phonegap and deploy it to iPads and Surface Pros.
We know phonegap based apps using indexeddb as the offline storage method will not work on Surface Pro as IE10/IE11 doesnt support indexeddb. Phonegap SQL Lite Plugin also doesnt support Surface Pro.
What offline storage methods are supported by both Surface Pro and iPad?
I'd suggest to look at IndexedDB. It has maximum size limits but there is always a way to get more space.
https://msdn.microsoft.com/en-us/library/ie/hh772651%28v=vs.85%29.aspx
http://www.w3.org/TR/IndexedDB/

which mobile gis application developing is better for me

i want to develop a mobile app with this features:
1-work offline on mobile and don't need to internet(disconnect mode)
2-can import layers to it in public extensions(shape file,personal geodatabase,kml)
3-can edit layers
3-have some forms and fields that fill by mobile user and save in database
i think android is better platform for developing my app,so i need a gis service that can extend in android
i know arcgis and developed web apps and desktop apps with that before,but in mobile app developping, i can't use it,because i had to use arcgisonline service to host my layers and i don't want share my map and want to host data locally and offline
let me know what i need and what platform i choose and which is better
thanks in advance......
The ArcGIS Android API is a good choice. Esri have a sample offline app available for download. We have used Mobile Flex, since we have clients who want both iOS and Android solutions. It uses ArcGIS Online but could only use local files if needed. See a demo here:
http://www.webmapsolutions.com/category/arcgis-online
--Matt

Resources