Nativia allows using CKEditor add-ons as native in Bootstrap Editor and even more.
We already told about the interconnection philosophy of JS+ in the modular design article.
With the release of File Uploader our vision of how components should interact on the same page became even clearer and was standardized between all our products. This interconnection mechanism is called Nativia.
Nativia allows one components to interact with others. This uniform mechanism declares features that other components can use. For example, using this approach File Uploader can be invoked in Bootstrap Editor, and installing an additional module is not needed, because Bootstrap Editor "knows" about the available functions as if this add-on was linked to it directly. Please refer to the detailed component interaction diagram in Bootstrap Editor.
So, how it's done? Easy: if you already loaded File Uploader on the page at least once (for example, as a CKEditor plugin), all concerned JS+ components instantly get to know about that and extend their functionality by virtue of the loaded component.
To make all components of the system interact with each other, they must support the same version of the Nativia interface. Therefore, if a newer version of File Uploader updates this interface (this will be reported in the changelog), you will need to update Bootstrap Editor and potentially all other components that may use the file upload function.
Here is a rule of thumb: keep all components updated to the latest versions and update them synchronously. This way you will never experience problems.
Note that Nativia interfaces are not alternative to JavaScript API: they are used only for internal use between JS+ components. If you want to interact with components from your own applications directly, use the JavaScript edition of the required component.
We plan to add support for Nativia to every our add-on. All add-on will share their features not only with Bootstrap Editor, but also with each other. For example, File Uploader can be invoked from the Image Gallery or Image Editor plugins or other image add-ons.