In some cases, integrating iink SDK can be as simple as configuring and adding a view to your application. However, it may sometimes call for a deeper integration. Interactive Ink SDK offers this flexibility via the support of different integration levels.
Depending on the circumstances, iink SDK can be integrated at three different levels:
- Graphical components and a reference platform implementation to ease UI integration,
- Platform-specific bindings,
- Cross-platform/server APIs.
MyScript provides integrators with some code examples and graphical components to ease the integration of iink SDK:
- For the Web, text and math web elements let you directly integrate within web applications. To develop your own components, MyScript also factored the common parts between them under a common element umbrella.
- For native parts, the example code repositories (one per platform) provide useful examples illustrating some usages of the SDK that you can import into your own project. More importantly, it comes with a reference UI implementation for the target platform that consists in a set of classes that you can directly reuse to get a working base to build on.
All the code relies on the platform-specific bindings, making it both easy to integrate into your project and to tune to your liking.
Interactive Ink SDK comes with platform-specific bindings for Android, iOS and Windows, which let you integrate the toolkit using the main programming language(s) of the target platform.
Bindings provide a flexible entry point and offer functionalities you may require. For example, you may need to tune the provided UI reference implementation or even develop a new one. The latter could be useful if you have specific requirements, such as a particular graphical toolkit or performance optimization specific to your use case.
For the Web, iink SDK is supported by the MyScriptJS library that you can directly use or tune for more flexibility.
On the native side, iink SDK comes with a cross-platform C++ API (only available on demand) that supports a wide range of platforms.
As a generic, non-graphical API, it is flexible when it comes to cross-platform development, but you may need more efforts in some cases to develop the different UI parts.