-
Notifications
You must be signed in to change notification settings - Fork 391
Description
Plugins: Some want them, all need them [see your local physician for details]
I think plugins could help expand and encapsulate functionality in the new application.
If one user wants charts, and another wants WordPress sync support, then all users should not be subjected to load time and functionality where not desired. For if one JS function fails, it could at least disrupt other functionality.
This begs the question of how to design, implement, and assign responsibility for various plugins.
The foundation of a plugin system needs to consider numerous points of conflict of views, and enable independent plugins that can share resources, whilst not disabling another (except where dependencies lay).
I myself have my own considerations, but this issue is to open a topic for other's points of view to declare their thoughts.
- versioning
- The app may update in a version that conflicts with a plugin.
- should the app decline the update because of an installed plugin? Or could the app update and disable the plugin, and any dependent plugins.
- The app may update in a version that conflicts with a plugin.
- encapsulation
- Typically with ES6, JS Modules, TypeScript, there's more encapsulation so one plugin (app) doesn't conflict with another.
- Should plugins ever depend on the existence of sibling plugins?
- Should the failure of one plugin block or close the application from continuing?
- The obvious answer may be "No", but if the plugin is as vital as an "auto-save" or "auto-sync", then something like an application block might signify an issue before the user assumes everything is okay.
- Should there be resource restrictions?
- A plugin may require more rendering power. This could slow down the application with machines using onboard-graphics processors. Those with independent cards may not care.
- Typically with ES6, JS Modules, TypeScript, there's more encapsulation so one plugin (app) doesn't conflict with another.
- other considerations not disclosed here