-
-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate runtime from Cordova to Capacitor #805
Comments
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
I'll take a look at the Android permissions for Bluetooth in the manifest. However, I can't test the connection as I have no BLE coffee devices. |
RagingCactus
changed the title
Merge to capacitor
Migrate runtime from Cordova to Capacitor
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
…so we need to force legacy-peer-deps for ag-virtual scroll
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
…so we need to force legacy-peer-deps for ag-virtual scroll
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
…so we need to force legacy-peer-deps for ag-virtual scroll
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
…ath, because android doesn't resolve path sometimes with names
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
…hings where made lower case strangely
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 5, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 6, 2024
graphefruit
added a commit
that referenced
this issue
Oct 13, 2024
graphefruit
added a commit
that referenced
this issue
Oct 18, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Motivation
At least from my outsider's perspective, the Cordova ecosystem is looking more and more abandoned. Most plugins haven't been updated in years, with issues piling up in the respective repositories. This is an issue, as modern mobile platforms evolve rapidly and always require app developers to adapt to new guidelines and restrictions, especially regarding permissions and privacy.
It looks like the Ionic people moved on to create https://capacitorjs.com/, which aims to make native integrations a bit easier while also modernizing the ecosystem (at least that's what Ionic says, see https://ionic.io/resources/articles/capacitor-vs-cordova-modern-hybrid-app-development).
This draft PR is a proof of concept on what a Capacitor migration could look like. Specifically, it demonstrates that existing Cordova plugins can still be used just fine. If the migration works out well, it might be worth it to eventually migrate away from all Cordova plugins, but this is not necessary in the first step.
If you want to take a look at the changes in this PR, I recommend going commit by commit. I try to create isolated, understandable commits. Looking at the commits in order will be much easier than trying to understand the huge diff.
State of this PR
First things first: This is currently in the draft/proof of concept stage!
This state isn't intended to be mergeable just yet, I just want to be able to get some early feedback.
The second important caveat: I don't have a Mac and can't test or otherwise work on iOS builds. I need assistance from someone with access to a Mac and an iPhone.
To-Do list
This is the current To-Do list I'm working with. As this is still in a very early stage, it will change and things will be added to it.
Android
First steps
Test plugin functionality
SanremoYOUDevice
XeniaDevice
iOS
General Setup
As I don't have access to a Mac, I can only guess what needs to be done here:
First steps
Metadata files
Test plugin functionality
SanremoYOUDevice
XeniaDevice
Cordova Plugins
Cordova Plugins to replace in this first step
@red-mobile/cordova-plugin-barcodescanner
-> https://capacitorjs.com/docs/apis/barcode-scanner@spoonconsulting/cordova-plugin-telerik-imagepicker
cordova-clipboard
-> https://capacitorjs.com/docs/apis/clipboardcordova-plugin-android-permissions
-> Permissions need to stay cause the new capacitor plugins doesn't allow the possibility to check Bluetooth e.g.
cordova-plugin-androidx-adapter
-> Not required in Capacitorcordova-plugin-androidx
-> Not required in Capacitorcordova-plugin-app-version
-> https://capacitorjs.com/docs/apis/app#getinfocordova-plugin-appminimize
-> https://capacitorjs.com/docs/apis/app#minimizeappcordova-plugin-camera
-> https://capacitorjs.com/docs/apis/cameracordova-plugin-device
-> https://capacitorjs.com/docs/apis/devicecordova-plugin-geolocation
-> https://capacitorjs.com/docs/apis/geolocationcordova-plugin-globalization
cordova-plugin-inappbrowser
window.open()
? -> Not possible on Android because it will overwrite the own app.cordova-plugin-ionic-keyboard
-> https://capacitorjs.com/docs/apis/keyboardcordova-plugin-ionic-webview
npx cap ls
cordova-plugin-screen-orientation
cordova-plugin-statusbar
-> https://capacitorjs.com/docs/apis/status-barcordova-plugin-vibration
-> https://capacitorjs.com/docs/apis/hapticscordova-plugin-file
-> https://capacitorjs.com/docs/apis/filesystemcordova-plugin-file-transfer
cordova-plugin-file
cordova-plugin-advanced-http
-> https://capacitorjs.com/docs/apis/httpcordova-plugin-file
cordova-plugin-filepath
cordova-plugin-x-socialsharing
es6-promise-plugin
as welles6-promise-plugin
cordova-plugin-x-socialsharing
? It shouldn't be needed anyway, verify!Cordova Plugins to specifically not replace in this first step
cordova-plugin-ble-central
ionic-plugin-deeplinks
Cordova Plugins to still decide the fate of
cordova-plugin-3dtouch
-> Made it native directly.
cordova-plugin-filechooser
cordova-plugin-filepicker
cordova-plugin-health
-> Actually not possible, the capacitor-healthkit not supports capacitor 6.X
cordova-plugin-insomnia
cordova-plugin-nativestorage
cordova-sqlite-storage
skwas-cordova-plugin-datetimepicker
General
UIFileHelper
UIExportImportHelper
TODO Capacitor migration
I left during the migrationExplicit Check:
Extra todo:
Specially for Android referencing: ionic cordova build --prod --release (--release was the bundled version)
The text was updated successfully, but these errors were encountered: