« For Developers: Embedding, JS, APIs
What's under the hood?
The Micrio tech stack
The Micrio client is made, using modern technical powers, such as:
- Coded in TypeScript, and does not use any other external libraries
- WebAssembly (AssemblyScript) and WebGL for high performance rendering
- Custom Elements
<micr-io>tag integration, which comes with its own powerful client API
- Svelte for interface rendering
- Full auto-generated TypeScript documentation on the web, and declaration file, to be used in your own TypeScript projects for full code compatibility
See this Q42 engineering blogpost for the journey of migrating the Micrio client to WebGL and WebAssembly.
For browsers with these features not available, automatic fallbacks are in place. Even MS Internet Explorer 10 still runs Micrio.
The server setup
The Micrio server is setup like this:
- Written in .NET Core 3.2 (C#) / C
- Hosted in Google Cloud / Cloudflare
- Separate image processing servers are running in a scalable linux cluster Image and asset hosting in Google CDN-fronted storage for quick global delivery (with optional AWS / Azure options)
- The dashboard is made in VueJS
- Uses Cloudflare Workers for IIIF, Knowledge Base, and viewer components