O NewHub 3.0 para Qlik Sense está chegando

Se você está desenvolvendo mashups no Qlik Sense – dependendo de como eles foram criados – é bem provável que já tenha se deparado com isso: carregamento lento de objetos, demora na renderização do painel e usuários frustrados que abandonam a página antes mesmo dos seus elementos visuais aparecerem. Isso não é apenas irritante, é um problema de performance que prejudica todo o propósito da análise visual.

Recentemente, realizamos uma série de testes de benchmark comparando dois métodos populares para lidar com metadados de objetos do Qlik: a Capability API contra o Enigma.js. Os resultados foram claros e surpreendentes. Uma das abordagens entregou resultados significativamente mais rápidos de forma consistente, reduzindo o tempo de carregamento inicial em mais da metade.

Neste post, vamos detalhar o que realmente está deixando o seu mashup lento, compartilhar como alcançamos um aumento dramático de performance e analisar os prós e contras de abandonar a abstração em favor de velocidade bruta e controle.

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é 3 vezes 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 muita sobrecarga (overhead) na página:

  • Arquivos de configuração JSON
  • Múltiplas bibliotecas CSS e JS
  • Wrappers adicionais e lógica de renderização extra

Embora isso seja ótimo para a velocidade de desenvolvimento, não é o ideal quando a velocidade da experiência do usuário é o que importa.

Nós eliminamos esse excesso usando Enigma.js puro, gerenciando manualmente os modelos de objetos e renderizando apenas o que precisávamos — e a diferença foi imediata.

 

Os Prós e Contras (Trade-Offs)


Ir de cabeça no 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 motor (engine) do que como um criador de painéis

Mas se o seu objetivo é controle e performance, o esforço vale a pena.

Menos peso, menos abstração e uma experiência de usuário visivelmente mais rápida.

 

Créditos à Qlik


Vamos tirar um momento para valorizar algo:

A Qlik nos dá acesso ao seu motor através de múltiplas bibliotecas JavaScript.

Isso é raro no mercado de BI.

E abre um mundo de possibilidades para quem está disposto a explorar o que há debaixo do capô — desde mashups/aplicações web leves até aplicativos totalmente personalizados que exploram o motor de maneiras criativas.

Na Cluster, somos especialistas em projetar aplicações web personalizadas e de alta performance em Qlik que vão além do básico. Se você está lutando contra tempos de carregamento lentos ou precisa de mais controle sobre a experiência do seu painel, nós podemos ajudar você a extrair todo o poder do Enigma.js e do Qlik Engine.

Vamos conversar!

Conteúdo relacionado