Risk of plugins being no longer supported - showstopper for your app?

How risky is it to rely on third-party native plugins, when the plugin developer may decide to no longer provide support? If you use a native plugin which develops problems on a particular OS release, for example, and there’s no support to fix new issues, it could scuttle your project that relies on the plugin.

How are people dealing with this risk in the real world?

Edit:
To paraphrase my question - to what extent does the Ionic Native team guarantee the availability and support of these native plugins, on which apps might rely?

By moving away from Cordova and toward Web APIs. Cordova has always been intended as a temporary project until cross-platform standards caught up, so to speak.

“Moving away from Cordova…” is that the same as “Moving away from Ionic”? How do web APIs give you access to native device functionality?

cordova-plugin-media is an example. It has sunsetted, in favor of the Web Audio API. If device creators support enough proposed standards, there will be less and less difference between hybrid and native programming.

Well that sounds like a good long-term direction, but in the here-and-now we still have to deal with native plugins. Potential lack of support seems inherently risky and could be a dealbreaker for corporate development.

Case by case situation. Some plugins will probably be around for a long time, while others are deprecated now, or might be deprecated tomorrow. I’m not expert enough to say which is which. But my personal policy is that I use as few plugins as I can,because I assume that if I use one, I am introducing a long-term breaking change.

Almost everything can be done in the browser, or purchased from a dedicated service, like Greensock or Mobiscroll.

The majority of cordova plugins are now old… they’re from 2011-2013…
I think perhaps ionic team will work on new plugins… or they can create react native & nativescript plugin adapter for cordova layer so people can use newer plugins from 2015-2018.

To be honest, all plugins are java… if you need power of java, it’s best to study android studio & XML & java to build native apps which can leverage full power of android’s java API.
Relying on old java plugins written by anonymous people may not solve the entire problems.
Being able to use full java API on android is much better than using plugins…

That would be GREAT! Is this just you brainstorming, or is there movement in this direction? If this existed, I’d start writing plugins myself.

1 Like

Take a look at this:

Although the plugin is not complete, someone tried to create cordova plugin adapter for react native. If this is possible and I’m sure the opposite will not be a problem…
Once someone makes that work, you get access to 8,000 npm packages of react native, 800 plugins of nativescript (which are all public domain).

Eventually, all these nativescript plugins, react native plugins are just java with container that connects java to frameworks… it’s same for cordova plugins… they’re just java with cordova container.
And the java is likely written with Oracle’s java API and google’s android java API so they could be used on any android app given that someone creates a correct adapter and interface.

or it could be that I’m wrong…

Not at all. The ionic team is in fact working on their own native layer as an alternative to cordova:

1 Like

Thanks. Very interesting and sounding promising.

Yeah - a 10 year temporary project :slight_smile:

2 Likes

Turns out the Contacts Plugin is now deprecated and not supported, nor is any replacement planned. It seems a pretty core “native” feature to go without some kind of supported solution. I don’t really understand the logic of the deprecation (they claim it’s a security problem).

1 Like

It’s because they’re too old and hacked many times… we have to wait for nativescript & react native plugin adapter for cordova layer of upcoming capacitor.

Don’t be mad, but:
Usually they take some money and give it to a developer to spend some time on it :wink:

If you are not paying anyone to support the code you are using, you don’t have any guarantees of anything.

Beside that (potentially not very helpful but true) answer, what @AaronSterling said is of course true: Many features are now available via standard APIs.

The other direction could be what @pwespi mentioned: Capacitor. It is built by Ionic itself, so they at least have more control about the code and process.

“deprecated” doesn’t mean that the code is deleted, just that there is no more future development. You can still just go ahead and use what is there - it still works just fine. At least you already know that you won’t get any updates in the future and can include that in your calculations.

As this is quite a popular plugin, as you say, if something should really broke with it (which is not that probable btw) I am sure someone would invest the time or money to get it fixed by forking and creating a new version of it.

Thanks for the note, I appreciate the response. I am using the existing plugin, I realize the code isn’t deleted, but the logic for the deprecation makes absolutely no sense to me, and it is a pretty core plugin / mobile capability to go without an officially supported/recommended version. Was hoping to raise awareness so some alternative might be looked at.

Your comment that is is unlikely to break, well, my experience with virtually every plugin I use is that they have issues, I doubt this one will be different? (in fact I currently experience a rather bad performance problem with this plugin on Android and with large contact lists…)