Legacy Ionic App Modernization (Ionic 1–4 / AngularJS / Cordova)
From AngularJS and Cordova to Ionic 8/9 and Capacitor — without a big-bang rewrite
Legacy Ionic App Modernization (Ionic 1–4 / AngularJS / Cordova)
A surprising number of production apps are still running Ionic 1, 2, 3, or 4 — on AngularJS, on Cordova, with a plugin list that has not been updated since the app shipped. They work, until they don't. HybridMob has been building Ionic apps since version 1, which makes us one of the few teams that can read your legacy code fluently and also knows exactly what it should become.
Why "it still works" is the risk
- AngularJS reached end-of-life on December 31, 2021. Security fixes stopped. Any CVE found in AngularJS or its ecosystem since then is unpatched in your app, and your security questionnaire answers get harder every year.
- Cordova is in maintenance mode. Capacitor has been Ionic's official native runtime since 2019. Cordova plugins you depend on are often archived repositories whose last commit predates the iOS version your users run.
- Each OS and store-policy release breaks something. Apple privacy manifests, Android target API level requirements, 16 KB memory page sizes, edge-to-edge layouts on Android 15+, deprecated WebView APIs. Legacy toolchains frequently cannot even produce a build that the stores accept.
- Hiring gets harder. Developers who know AngularJS and Cordova are retiring from that stack; the ones who remain charge accordingly.
What we deliver
We do not recommend a big-bang rewrite unless the app is small. Our approach is incremental, and every step ships:
- Assessment. A plugin inventory with a Capacitor mapping for each Cordova plugin (official plugin, community plugin, keep-as-Cordova, or custom plugin needed), a dependency audit, and a list of AngularJS patterns to migrate. Delivered as a written report with effort estimates.
- Runtime first: Cordova → Capacitor. Moving to Capacitor while leaving the UI code alone restores your ability to build and ship with current Xcode and Android Studio. This step alone fixes most store-compliance blockers. Our Cordova → Capacitor checklist describes the process in detail.
- UI and framework: Ionic 1–4 → Ionic 8/9. Screen by screen, onto modern
Angular (standalone components, signals), React, or Vue — your choice. We
use Ionic's
@ionic/migratetooling where it applies and hand-migrate where it does not. - Store compliance as a deliverable. Privacy manifests, target SDK levels, app-tracking and data-safety declarations, and a repeatable release pipeline, so the app is not just modern but submittable.
- Tests before and after. We put a behavioural test harness around the legacy app first, so the modernized app can be proven equivalent.
Who this is for
- Enterprises with an internal app that "cannot be rewritten" but can no longer be built
- Product companies whose Ionic 3/4 app still earns revenue and needs another five years of life
- Teams that inherited an Ionic app from a vendor who is no longer around
Next step
Send us a screenshot of your package.json and config.xml (or
capacitor.config). We will tell you which step you are at, what is blocking
your next store release, and what modernization would cost.
Contact us to get started.