I want to convert a Phoenix LiveView CRUD website to a CRUD mobile app. What do you think is the easiest way to do so?
What about a PWA?
I love PWAs, but I mean something which can be installed from App Store and Play Store.
I don’t think you can do that
Investigate Ionic Capacitor and Cordova in app browser. One of these may work for you. For the latter look at the following tutorial which I didn’t read myself.
How to Convert Website into an App for free with Ionic 4
In app browser apps are highly discouraged by app store nowadays and its actually banned on iOS i think
Thank you for pointing that out! I didn’t know that they’re banned on iOS now. In that case I won’t recommend this approach @pillaiindu. Please investigate Capacitor and see if it uses a similar but not exactly the same (in-app-browser) approach.
Your best bet is Flutter and they already have a library to communicate with Phoenix Channels, that you could use to keep the mobile app in sync with what happens in the web live view app, like I mentioned here:
An example Flutter App for an Elixir Phoenix Channels backend on a demo I made at work:
I found something related to this thread.
Should this be added to the list of 3rd Party client libraries in the channels section of the Phoenix docs?
Do we have any source information about that? Are we talking about PWAs in general?
apps published to app stores that are just shell running web pages
We use that method in our products and have done so for a long time. I’ve also done this with clients.
I would definitely just do that. You could consider adding some sort of native navigation.
What I’ve typically done was to add a web view and listen to navigation events. When one would happen I’d just push a new web view to a navigation stack and load that new URL in that view.
You could also just reuse the same webview across. But this enables you to have native navigation (back buttons etc.)
How would iOS distinguish these kind of shell aps with PWAs I wonder.
PWA are permissable as installabe via browser, shell apps running only webview tend to get rejected from app store submissions