Native app or PWA? Discuss

Now that CouchDB and PouchDB are heading to Wappler, what are the reasons to build native Android/iOS apps or a PWA? I was thinking I needed to build a native app in order to have all the device functionality but will always have the hassle of app store approval, updates, etc. not to mention the extra cost (minimal in the great scheme of things but there nonetheless).

But it looks like PWAs are offering access to hardware (camera, local data storage, GPS location, etc.) so that is looking increasingly appealing.

On the basis I need it to behave like an app, use the camera for things like QR code scanning, be able to work when there is no internet connection, sync offline data when back onlineā€¦ would a PWA be a good solution?

So by a PWA, do you mean it just runs in the browser rather than being an app you download from the App Store?

PWAs are becoming increasingly powerful, especially now Apple have allowed Push Notifications for apps added to Home Screens. I would say, though, that there is a certain trust that comes with an app from an app store vs a website. Also, most peopleā€™s initial instinct when looking for an app is to go to their deviceā€™s app store rather than visiting a website. A lot depends on your intended audienceā€¦

Yes, Progressive Web App. You can add it to your mobile homescreen to sit with the other apps and it will look much like a native app, too. Itā€™s stored locally, too, so should work without an internet connection (can someone correct me if Iā€™m wrong about that?) But the key difference is itā€™s not under the authority of the app stores so there isnā€™t a risk of it being rejected or any long delays publishing updates. We remain in 100% control of it.

Very good points. In my case, the app is for company staff to use rather than the general public so none of these issues apply to this particular project. And it will be so easy to just email or message a link to the PWA with instructions on how to add it to their home screen.

I love to give a balanced feedback.

2 Likes

Iā€™m assuming that came from someone invested in PWAs

It isnā€™t wrong, but misses off lots of the device feature access that native apps provide. Although many are increasingly available to PWAs a lot still arenā€™t

1 Like

Is anyone able to confirm what can and cannot be done in PWAs? Iā€™m trying to establish the way to proceed trying to avoid finding out something key when Iā€™m already down the road of developing it.

For me, the key requirements are local data storage, syncing back to the web server db when reconnecting after being offline, use of camera for both photo storage and QR code scanning, GPS location tracking.

  1. Cannot be published to Apple App Store. Google and Microsoft are OK.
  2. No access to Bluetooth.
  3. No acces to fingerprint scanner.
  4. No face ID.
  5. iOS support is limited to 50MB of storage space.
  6. Browsers may have different implementations or bugs that affect a PWA.

Thatā€™s all that I can think of.

1 Like

Why not install the Wappler Community App?

This is using Edge, but is similar in all browsers. Once installed, use it as any other App.

1 Like

Yep, Iā€™ve been using it that way for a few years :+1:

So PochDB is accessible on PWAs as well?

It looks like it. I bloominā€™ hope Iā€™m not wrong!

1 Like

That would be pretty game changing. Does anyone know if we can use PouchDB as offline DB only i.e no synching to CouchDB at all. It would be lovely to then not need to worry about any GDPR for a couple of app ideas I have :slight_smile:

Yes of course you can use PouchDB only, as a local database. Just create a connection in the database manager, using PouchDB only (not CouchDB and PouchDB).

2 Likes

** Cannot be published to Apple App Store. Google and Microsoft are OKā€¦ **

Thanks for always giving great advice and always willing to share @ben

Yesā€¦ you might not publish it directlyā€¦ but with PWA builderā€¦
https://www.pwabuilder.com/ thanks to @nshkrsh for the link

you can always let the builder check it for youā€¦ and then create the files to upload to a App Store.
I did try this ā€¦ BUT with all the ā€œquestionsā€ and red tape in the app storeā€¦ i just opted for a PWAā€¦ as you saidā€¦ dont have all the other points aboveā€¦ BUT as I update the siteā€¦ so does the PWAā€¦

I have a fully working PWA site for my clients ā€¦ I do not require offline syc or storage of the database because of the nature of the use of the app.

And that is how we promote it :slight_smile:

So i guess it all depends on those ā€œotherā€ thingsā€¦ you requireā€¦ from a native appā€¦

I just hope iOS comes with a better ā€œinstallā€ prompt feature in the futureā€¦

and PWA are greatā€¦ just look at this
https://business.adobe.com/blog/basics/progressive-web-app-examples

3 Likes

Having dipped my toe in the app store waters a couple of times now Iā€™m leaning more and more towards PWA. I found it a hassle to maintain Apple, Android and Microsoft accounts to package up to the respective stores. In addition, we had to purchase Apple specific hardware to allow us to upload to their AppStore.

PWAs are less hassle with updating and more flexible for our own needs. Operating offline is no problem, a service worker looks after that and is straightforward to implement:

You can also choose local device storage and with the new Wappler updates couch/pouch integration should give even more flexibility.

Whilst the takeup of PWAs among the big players has been slower than many have liked, recent advances have made the usage case for PWAs a lot stronger in my opinion - especially the push notifications that @bpj mentioned above - that was a game changer for us.

As far as I can see, the only downside for us is the way the PWA is stored to the users home screen, its a little bit more of a hassle for them to add to their device - this is manageable in a couple of ways so there are solutions there to choose from.

We deal a lot with B2B with only a small portion B2C so the ability to have a ā€˜packagedā€™ standalone installable desktop app was a great boost in addition to the above points.

3 Likes

Some excellent responses which are really helpful. It feels like Iā€™m 99% decided on going the PWA route. The negatives wonā€™t apply for the project I need to build. I donā€™t need bluetooth connectivity or touch/face ID, and the slightly more quirky installing onto the home screen shouldnā€™t be an issue as the app will be used entirely by staff so I can provide concise instructions. If customers will be using anything then it will just be as a normal website.

Just so I know for sureā€¦ Couch/PouchDB will work with a PWA, wonā€™t it? The ability to work offline is probably the most crucial aspect of this. Staff will be in location where there is no mobile signal so they need to be able to open job records and update them and then have it all sync back to the server when a connection is available again.

3 Likes

Afiirmative

1 Like