Capacitor vs Cordova
-
I am starting a new app project. To-date, for all of my other apps, I have always used Cordova. I like the fact that it has an abstraction layer that kind of shields me from the nuts and bolts of the mobile project. That’s not to say that I can’t code for native Android, I used to do so before discovering Quasar (iOS is a different story though).
Lately I’ve been thinking if I should switch to Capacitor. I’ve been thinking about what the benefits are. I am given to understand that it’s newer and supposedly has more advanced features, but forces you to deal with the underlying mobile project more (which I don’t like as it’s important to me as a solo dev to have a single codebase for maintainability purposes).
What are the benefits of using Capacitor rather than Cordova? For people who switched from Cordova to Capacitor, what has the difference been? Are there any compatibility problems with Cordova plugins? I’m also concerned about future support as I don’t know if Ionic will continue with this project forever, and Cordova still seems more mature (Cordova seems to still be going strong, now at version 10).
-
I am also in the same boat. Always used cordova for my mobile app projects. For new projects I now try to make a case for PWA’s instead. Not having to deal with the publishing to an app store is a big plus.
Anyways about cordova vs capacitor this is what google trends reports:
https://trends.google.com/trends/explore?cat=31&date=all&q=Capacitor,cordova -
@walfin if you know how to code in native, I suggest you go for capacitor, their feature to make a local native plugin is their selling point for me. Although I still haven’t dove fully, I’ll try to convert some Cordova projects to it when I have time, also some native ones to test the full capabilities of their API. One issue you’ll notice is that capacitor generated build will be larger than Cordova ones, since capacitor ships all their core API even if you don’t use some of it.
-
@dobbel Based on this year it seems Cordova is still ahead although its share is declining. The stores are still a super valuable distribution channel even with PWAs.
@metalsadman I can code for Android but I don’t want a situation where I have to later port my native code to iOS. For me, the whole point of using Quasar is so that I don’t have to port anything. But that thing about bundle size is a bit of a concern, not too good if the user has to download a larger app just for stuff which might not be used.
-
@walfin there are times when the plugins you are searching for isn’t available in the ecosystem or if there’s one it’s not compatible, for example: i have a native code for printing receipts to blue tooth printer, if all goes well then i can port the printer code to my app and make it as a local plugin in capacitor. although i did successfully port this in my cordova project but without the use of my native code, and relied on a paid third party app from store :(.