Se você está construindo mashups no Qlik Sense — dependendo de como foram desenvolvidos — é bem provável que já tenha se deparado com isto: carregamento lento de objetos, renderização atrasada do dashboard e usuários frustrados que desistem antes mesmo de suas visualizações aparecerem. Não é apenas irritante, é um problema de performance que compromete todo o propósito da análise visual.
Recentemente, realizamos uma série de benchmarks comparando dois métodos populares para lidar com metadados de objetos do Qlik: a Capability API versus o Enigma.js. Os resultados foram claros e surpreendentes. Uma das abordagens entregou resultados consistentemente mais rápidos, reduzindo o tempo de carregamento inicial em mais da metade.
Neste post, vamos detalhar o que realmente está deixando seu mashup lento, compartilhar como conseguimos um ganho de performance expressivo, e explorar as compensações de abrir mão da abstração em favor de velocidade e controle brutos.
Realizamos testes comparando duas abordagens comuns para trabalhar com metadados de objetos do Qlik:
- Capability API: alto nível, fácil de usar
- Enigma.js: baixo nível, acesso direto ao Qlik Engine
O resultado?
Em quase todos os cenários, o Enigma.js foi até 3x mais rápido.
Um mashup que levava 4 segundos para carregar na primeira renderização agora leva cerca de 1,5 segundo com o Enigma.js.
O que observamos
Com a Capability API, o Qlik injeta bastante overhead na página:
- Arquivos de configuração JSON
- Múltiplas bibliotecas CSS e JS
- Wrappers extras e lógica de renderização
Embora isso seja ótimo para velocidade de desenvolvimento, não é ideal quando a velocidade da experiência importa.
Removemos tudo isso usando Enigma.js puro, gerenciando manualmente os modelos de objetos e renderizando apenas o que precisávamos — e a diferença foi imediata.
As Compensações
Ir 100% Enigma não é para todo mundo — e tudo bem.
- Você perde a simplicidade do app.getObject()
- Você assume a responsabilidade pela lógica de renderização
- Você precisa pensar mais como um desenvolvedor de engine do que como um construtor de dashboards
Mas se o seu objetivo é controle e performance, isso vale a pena.
Menos peso, menos abstração e uma experiência do usuário perceptivelmente mais rápida.
Reconhecimento à Qlik
Vamos aproveitar o momento para reconhecer algo:
A Qlik nos dá acesso ao seu engine através de múltiplas bibliotecas JavaScript.
Isso é raro no universo de BI.
E isso abre um mundo de possibilidades para quem estiver disposto a explorar por baixo do capô — desde mashups/web apps leves até aplicações totalmente personalizadas que exploram o engine de formas criativas.
Na Cluster, somos especialistas em projetar web apps Qlik personalizados e de alta performance que vão além do básico. Se você está enfrentando tempos de carregamento lentos ou precisa de mais controle sobre a experiência do seu dashboard, podemos ajudar você a aproveitar todo o potencial do Enigma.js e do Qlik Engine.
Vamos conversar!

