Before using the Interactive Ink SDK web client-side libraries, you need to be familiar with the following concepts and tools heavily used by the web libraries.
MyScript API can be built and used thanks to other open sources libraries. Npm and Bower are used to manage those dependencies instead of managing them manually. A file descriptor lists all the dependencies, then the client tool downloads and locally installs the binaries (or runnable sources).
Npm is used for development tools dependencies. If you are not familiar with npm, please read the related documentation.
If you plan to use the web components APIs, we recommend using webcomponentsjs polyfills. See below section for more details.
Consider reading this Sitepoint article if the concept of polyfill is still unclear.
Web components are based on existing web standards. Features to support web components are currently being added to the HTML and DOM specs, letting web developers easily extend HTML with new elements with encapsulated styling and custom behavior.
Web components are based on four main specifications:
With custom elements, web developers can create new HTML tags, beef up existing HTML tags or extend the components other developers have authored. The API is the foundation of web components. It brings a web standard-based way to create reusable components using nothing more than vanilla JS/HTML/CSS. The result is less code, modular code, and more re-use in our apps. This article is a must-read to understand custom elements. Read carefully the section about the life cycle of a component.
The shadow DOM specification defines how to use encapsulated style and markup in web components.
The HTML imports specification defines the inclusion and re-use of HTML documents in other HTML documents.
The HTML template element specification defines how to declare fragments of markup that go unused at page load, but can be instantiated later on at runtime.
If you are not familiar with web components, this introduction is the right place to learn more.
|Polyfill||IE11+||Chrome*||Firefox*||Safari*||Chrome Android*||Mobile Safari*|
*Indicates the latest version of the browser