Mobile apps are only working on Safari and Chrome

Mobile apps are only working on Safari and Chrome

  

Hi,

We have a mobile app that can work as a web app. But it works only on Safari and Chrome giving error on Firefox and IE that it needs native access to Local Storage. 

Is it a platform limitation and it will eventually support all major browsers or there is a way to suppress this error (by excluding some functionality or checks)?

For example this web app uses local storage and is working in all above mentioned browsers http://mdn.github.io/to-do-notifications/ 

Thank you

Solution

Hi Mykola,

The apps in OutSystems need a database that handles SQL features. And that can only be done in WebSQL which is basically SQLlite in the browser.

Only Chrome and Safari support this. Firefox and IE do not.

The app that you give as example does not use WebSQL. It uses IndexedDB which is more of a flat file type of database. And IndexedDB exists is all the four browsers. That's why it works in Firefox and IE.

In here you have more information about the different ways of storing data in the browser: http://csimms.botonomy.com/2011/05/html5-storage-wars-localstorage-vs-indexeddb-vs-web-sql.html

Cheers,

José

Solution

Hi José,

Thank you for extended reply.

There is no way to disable the webSQL on mobile app even if we do not use local storage in our actions?


Cheers,
Nick

Hi Mykola,

I would say no. You do not use it but it's there.

Cheers,

José


Hi Nick,

Mobile apps are made to run on mobile in a native shell and not on a browser. The local storage capabilities for office actually use SQL Lite but we provide a fallback to webSQL for testing purposes, so that during your development you can test the functionality in Chrome.

What is the use case that made you choose to go with a mobile app for the web?

Cheers

Hi André,

Thank you for explanation.

We have an app with lots client actions and JS plugins and it should be possible to run both on device and on a web browser. It is much faster and easier to implement the logics using JS nodes. There no difference between functionality of web and mobile app (no local entities are used and no sync is required as app use case requires constant connection). So it is basically to not have to implement same logics (client actions to server actions for example) and screens in a separate web app. 

It is possible that later we will make a separate web but at current stage we are ok to have limitations to run app only on Chrome and Safari.

Ideally it would be great to have a possibility to develop web app and then have a easy way to convert or wrap it into the mobile app by adding a sync and local storage layers. Actually having the client actions and JS node on a web app would solve this case.

Cheers