Android Question Android (mobile) app vs Web app?

aeric

Expert
Licensed User
Longtime User
What are the reasons/considerations for proposing to your clients the best solution to go for?

Requirements:
1. The app need to run in offline mode
2. There are concerns on data security
3. Signature pad
4. Long input form/checklist
5. Integration with accounting/inventory system

Web app can be converted to PWA which can work offline. It also can utilize a local db for storage. I have no experience with local db for web app or PWA. I am also not very familiar with ABM, BaNano and BVAD3. There are JavaScript signature pad for web app. B4X can easily use XUI views (B4XSignatureTemplate). Android app can integrate some exclusive features that not available for web app for future enhancements.

Currently solution that comes to my mind is create 2 apps, one for office admin to use web app and one for engineers to go on site using Android app. Creating more solutions meaning higher cost, longer development time and more systems to manage.

Which solution to go for?
 

JohnC

Expert
Licensed User
Longtime User
Since none of the requirements can only be done in a webapp (or PWA), then it's pretty clear to just do the app in B4x because it meets all the requirements and you are familiar with it (and it can also run on Android or iOS)
 
Upvote 0

Omar Parra A.

Expert
Licensed User
Longtime User
And this deployment approach doesn't meet your requirements.
You can adapt it to your needs.
 
Upvote 0

alwaysbusy

Expert
Licensed User
Longtime User
Requirements:
1. The app need to run in offline mode
2. There are concerns on data security
3. Signature pad
4. Long input form/checklist
5. Integration with accounting/inventory system
Most of our PWA Apps require something similar, using BANano and a BANanoServer (=jServer) for the rest API

Simplified flow:
1. set UseServiceWorker = True in BANano so it can work offline and also provide the needed icons to install on the home screen
2. Use oauth2 identification with encrypted ACCESS and REFRESH tokens to access the remote data REST API
3. BANanoSkeleton has a SKSignaturePad
4. Make it as long as you want using the other SK components. Save the data local using BANanoSQL.
5. Use jServer and a REST Api to sync data with your PWA when the WebApp has internet access (using the tokens). jServer can handle all the stuff for inventory/accounting

Alwaysbusy
 
Upvote 0

Tecuma

Member
Licensed User
I prefer native app over web app but you may have the risk to get problems with the actual requirements and handling new apps from app store / play store.

--Christian
 
Upvote 0
Top