Overview of embedding Qlik content into web apps

Introduction

A number of different web technologies exist for embedding Qlik Cloud content into a web app. Choosing the right type of integration is largely dependent on your use case, available frameworks, and your level of familiarity with the technology.

This guide explores the different integration options and highlights why some may be a better fit for your deployment.

iFrame

Level of complexity: Simple

iFrame embedding allows sheets or objects to be integrated into web apps and portals, often without the need for any JavaScript or other code. You only need an iframe tag, which can be generated on any Qlik Sense page using the App Integration API (for whole sheets), or Single Integration API(for single objects).

The App Integration API provides parameters that can be used to create an URL that returns a complete HTML page containing the embedded app. For details, see App integration.

With the Single Integration API, you can integrate single Qlik Sense visualizations, sheets, or snapshots into an iFrame. See Single integration for more info.

While iFrames are often considered the simplest solution, they are very flexible, and can even be used with anonymous use cases when deployed in conjunction with other services or APIs. They can also be used with other Qlik integration tools such as enigma.js to do things like setting themes within an iFrame.

Prerequisite for using iFrames

Web technology that supports iFrames (for example, HTML)

Use cases best suited for iFrames

  • Want more native Qlik capability (sheets, data alerts, and so on).
  • For non-technical users, requires low code.
  • Quick embedding into a web page where security controls for content are lax.
  • Framework isolation is required (for example, the parent page is using Angular v2<).

iFrame examples

Capability APIs

Level of complexity: Intermediate

The Capability APIs are a collection of JavaScript APIs that allow you to easily embed Qlik Sense content into a web app or portal. With just a few lines of code, it is possible to create a visualization that leverages the Qlik Sense visualization library. You can even interact with the engine to return data and metadata from an application. See Capability APIs for an overview and examples.

Prerequisites for using Capability API

  • JavaScript
  • AngularJS 1.8 (Long term support ended December 12, 2021)
  • require.js

Use cases best suited for Capability APIs

  • When you want to customize the Qlik experience to match your user interface.
  • When you want to customize the layout of Qlik objects without the overhead of multiple iFrames.
  • When you want to interact with Qlik directly, that is, without going through visualizations.
  • When you want to access the Qlik Sense client without using the Qlik Sense UI, that is, the selection model.

Capability API examples

nebula.js

Level of complexity: Intermediate/Advanced

nebula.js is a collection of JavaScript libraries, visualizations, and CLI that helps developers build and integrate visualizations on top of Qlik's Associative Engine. It can be used for integrating existing visualizations with web apps as well as for building custom visualizations.

Prerequisite for using nebula.js

JavaScript-based framework.

Use cases best suited for nebula.js

  • When you want to embed a specific visualization with low overhead.
  • When you want to build customized visualizations.
  • When you are already building web apps or sites using modern frameworks and want to use Qlik data and visualizations.

nebula.js examples

enigma.js

Level of complexity: Advanced

enigma.js is a JavaScript library that helps you communicate with the Qlik Associative Engine in JavaScript environments using engine API abstraction.

enigma-go is a go library with the same capabilities.

Examples of use include building your own browser-based analytics tools, back-end services, or command-line scripts.

Prerequisites for using enigma.js

  • JavaScript-based framework (browsers and node.js)
  • golang for enigma-go

Use case best suited for enigma.js

  • When you want to interact at a "low level" with the engine APIs, but not at the lowest level.

enigma.js examples

.NET SDK

Level of complexity: Intermediate/Advanced

The Qlik Sense .NET SDK is a development toolbox for use with applications such as Microsoft Visual Studio. It allows developers to make calls to the Qlik Sense Engine (Engine API), access REST APIs, and also render visualizations.

It is available on NuGet.

Prerequisites for using .NET SDK

  • C#
  • VB.NET
  • Supported .NET platforms are .NET Framework 4.5.2, .NET Core 2.1, and .NET releases compatible with those two versions.

Use case best suited for .NET SDK

  • When you want to integrate Qlik Sense natively into .NET applications.

Platform SDK

Level of complexity: Intermediate

The Platform SDK is a suite of tools, libraries, and documentation that simplifies building applications on top of the Qlik Sense Platform. It is currently available in Typescript and Python languages.

It currently makes interacting with the Engine and REST APIs in Qlik Cloud easier, and opens the door to integrating data from the Qlik Engine with data science and other use cases.

Prerequisites for using the Platform SDK

  • TypeScript (JavaScript)
  • Python

Use cases best suited for the Platform SDK

  • When you want to interact with SaaS REST/RPC APIs.
  • When you want to interact with data through APIs and perform analytics.
Was this page helpful?