I’ve received funding to develop a small-ish app over the next few months.
There is already a web-based prototype with some basic functionality.
So Ionic seems ideal for the job: I could refactor and extend the existing code and re-use it across platforms.
It is important to me to base the development on open-source technologies. This is not just a matter of principle, I have seen many commercial solutions being abandoned, with no way to continue support by the community. At a first glance, Ionic seems to be very much focused on being open-source. Premium support and some exclusive enterprise features would be acceptable to me, as long as the key features are open.
However, reading the docs I find that for basically ALL native features there is a premier plugin, which is only available in the enterprise version. This includes very basic functionality, such as fixing a device rotation.
Outside of the ecosystem of premier plugins, there seems to be heavy fragmentation:
Some functionality is offered with capacitor/core plugins. As far as I can see, most of this is basically a stripped down version of some corresponding premier plugin. For example, there is a camera API in capacitor/core, but it has no support for videos.
There is a huge amount of existing cordova plugins. Although they are supposed to be compatible, the migration guide (from cordova to capacitor) instructs to try and match needed functionality against capacitor core and community plugins.
There are a few capacitor community plugins. At this point, I can’t access their quality.
Having a select handful of premier plugins would be no problem to me. For example, you could keep monetization with ads and in-app purchases behind a paywall. This would seem very fair to me: If someone is making money based on Ionic technology, the devs should receive a share.
But the fact that basically all native functionality is a premier feature makes me very uneasy. Ionic is advertised to be as future-proof as the web. Well, what if the open-source camera API is abandoned and the next Android update breaks it? I don’t have the time to fix that.
Would you say that using Ionic for native development is viable without enterprise plugins?
What is the level of quality in community plugins and are there any big gaps in the functionality that they cover?
I’m aware that creating capacitor plugins is supposedly very simple. But this project is a one-man show. I need something that allows me to be as productive as possible. Adding missing plugins myself is not an option.
I would be really grateful for some feedback here.