Legacy App Needs to Go To PWA/Web, use Capacitor?

I have a legacy app that needs to be released to web/PWA. Apple changed things and it’s no longer in the Apple App Store.

It relies on a number of Cordova and Ionic Plugins. It’s especially complicated because the chat model relies on the payment plugin to run. (Pay to chat in the app).

Below, please find a list of all Plugins used in my package.json file.

Is it best to move the app to Capacitor or would it be best for me to use JavaScript and Angular (it’s already Ionic/Angular) to get this up and running more simply for the web without breaking things? It’s a pretty complicated app with Elasticsearch and Firebase on the back end.

I’m kind of an amateur developer even though I was an old C++ developer back in the day. So, I’m concerned with doing this the easiest, most foolproof way this version.

Really need some expert strategic help on how to move forward.


@agm/core”: “^1.0.0-beta.0”,
@angular/common”: “4.0.2”,
@angular/compiler”: “4.0.2”,
@angular/compiler-cli”: “4.0.2”,
@angular/core”: “4.0.2”,
@angular/forms”: “4.0.2”,
@angular/http”: “4.0.2”,
@angular/platform-browser”: “4.0.2”,
@angular/platform-browser-dynamic”: “4.0.2”,
@ionic-native/camera”: “^3.10.3”,
@ionic-native/core”: “^3.10.3”,
@ionic-native/fcm”: “^4.1.0”,
@ionic-native/geolocation”: “^3.12.1”,
@ionic-native/in-app-purchase”: “^3.14.0”,
@ionic-native/keyboard”: “^4.17.0”,
@ionic-native/paypal”: “^3.12.1”,
@ionic-native/splash-screen”: “3.4.2”,
@ionic-native/status-bar”: “3.4.2”,
@ionic/storage”: “1.1.6”,
@types/elasticsearch”: “^5.0.25”,
@types/lodash”: “^4.14.65”,
@types/twilio”: “0.0.9”,
“angularfire2”: “^4.0.0-rc.2”,
“authy”: “^1.2.0”,
“cordova-android”: “~6.3.0”,
“cordova-browser”: “6.0.0”,
“cordova-ios”: “4.5.3”,
“cordova-plugin-camera”: “^2.4.1”,
“cordova-plugin-compat”: “^1.2.0”,
“cordova-plugin-console”: “^1.1.0”,
“cordova-plugin-device”: “^1.1.7”,
“cordova-plugin-fcm”: “^2.1.2”,
“cordova-plugin-geolocation”: “^2.4.3”,
“cordova-plugin-inapppurchase”: “^1.2.0”,
“cordova-plugin-ionic-keyboard”: “^2.1.3”,
“cordova-plugin-splashscreen”: “^4.1.0”,
“cordova-plugin-statusbar”: “^2.4.2”,
“cordova-plugin-whitelist”: “^1.3.3”,
“elasticsearch”: “^13.0.1”,
“firebase”: “^4.1.3”,
“geofire”: “^4.1.2”,
“ionic-angular”: “^3.1.1”,
“ionic-plugin-keyboard”: “^2.2.1”,
“ionicons”: “3.0.0”,
“lodash”: “^4.17.4”,
“node-sass”: “^4.12.0”,
“promise-polyfill”: “6.0.2”,
“request”: “^2.87.0”,
“request-promise”: “^4.2.2”,
“rxjs”: “5.1.1”,
“sw-toolbox”: “3.4.0”,
“twilio”: “^3.4.0”,
“zone.js”: “^0.8.5”

I would check if the native plugins can be replaced by webAPI, such as provided by Capacitor or listed on https://whatwebcando.today/

For angular projects and PWA only requirement, you may want to use angular’s service worker toolbox as it integrates nicely in the CLI. I believe the angular PWA toolkit does not mix with Capacitor, so that is something you may want to check

Thanks for that Headstart. See, I would have never known that the angular stuff wouldn’t mix well with the capacitor. That’s definitely something an experienced person who has gone through this would know.

I’m definitely open for a lot of opinions here. Hoping some more people chime in who have gone through something like this. But currently will start investigating what we have so far.

Angular PWA toolkit does not mix well with capacitor pwa toolkit I believe

But angular for the rest mixes perfectly with capacitor. And u can use Capacitor pwa perfectly in angular apps. Just the pwa side is an issue

Thank you. That was a little misunderstanding on my part.

Do you think it’s not so hard for an amateur to upgrade a legacy project from standard ionic to capacitor for this purpose? To remove the Cordova plug-ins and replace them with capacitor plug-ins? Or rather, capacitor API?

I am an amateur and don’t see the issue

maybe try a simple app and integrate capacitor AND cordova plugin (as you can do both)? Also to discover the developer workflow

Then decide to go Capacitor or stay Cordova


Thanks, Tom. This was super helpful. I really appreciate you weighing in on the decision. I’m going to try capacitor. Expect some more posts.:rofl:

1 Like