Plugin Flutter™ para Android Studio e IntelliJ usando JxBrowser

Cliente

A Google LLC é uma empresa multinacional de tecnologia que se concentra em inteligência artificial, publicidade online, tecnologia de motores de busca, computação em nuvem, software, computação quântica, comércio eletrônico e eletrônicos de consumo.

google.com
Tamanho da organização 182,502
País Internacional
Indústria Tecnologia

Desafio 

No dinâmico cenário do desenvolvimento de aplicativos móveis, o Flutter do Google se destacou como uma poderosa plataforma para criar aplicativos móveis, web e desktop nativos a partir de uma única base de código.

Um plugin Flutter para IntelliJ e Android Studio permitia que os desenvolvedores criassem aplicativos em seus IDEs familiares. No entanto, a depuração e a revisão de desempenho dos aplicativos com o Flutter DevTools eram um pouco confusas e tediosas.

O conjunto de ferramentas de depuração e perfilagem do Flutter abria em uma janela separada do navegador, obrigando os desenvolvedores a alternarem entre o IDE e o navegador ao medir e ajustar o desempenho do aplicativo.

Como uma das primeiras maneiras de simplificar essa parte do processo de desenvolvimento, a Google™ chegou a suportar duas versões do Flutter DevTools — uma baseada em tecnologias web, e outra baseada em Java Swing, permitindo que as DevTools fossem integradas à interface do IntelliJ Platform. Contudo, perceberam que isso demandava muito esforço, até mesmo para a Google, com pouco retorno.

Assim, começaram a buscar uma solução que pudesse incorporar conteúdo web em uma aplicação Java.

Solução 

Após explorar várias opções, como o Java Chromium™ Embedded Framework (JCEF), a equipe da Google acabou optando pelo JxBrowser, desenvolvido pela TeamDev — uma biblioteca multiplataforma para a integração de componentes de navegador web baseados no Chromium em aplicativos Java.

Essa escolha se mostrou ideal por várias razões:

Web contentRenderização de conteúdo web avançado
O JxBrowser ofereceu uma base confiável para a renderização e interação com conteúdo web complexo da interface do Flutter DevTools.
Cross-platformCompatibilidade multiplataforma
A integração no IntelliJ tinha como objetivo permitir que desenvolvedores em qualquer plataforma criassem aplicativos no Flutter. Com o JxBrowser, a equipe da Google economizou tempo e esforço significativos ao tornar o DevTools acessível para desenvolvedores em várias plataformas, já que a biblioteca escolhida se integra com o código nativo do Chromium em qualquer sistema operacional de forma imediata.
SupportEstabilidade comprovada e suporte especializado
O JxBrowser foi introduzido em 2007 e, desde então, tem funcionado de maneira confiável em diversos ambientes, sendo constantemente aprimorado e suportado por uma equipe de engenharia com 20 anos de experiência em integração com Java.

Resultados 

Ao utilizar o JxBrowser como parte do plugin Flutter, a Google conseguiu integrar o Flutter DevTools ao Android Studio e ao IntelliJ.

Isso aumentou significativamente a facilidade e a velocidade do desenvolvimento de aplicativos Flutter, reduzindo a complexidade do processo e entregando as ferramentas de inspeção e diagnóstico do aplicativo como parte da interface do IDE.

Os custos de suporte ao Flutter DevTools para a equipe da Google também foram otimizados, já que a solução escolhida permitiu servir conteúdo baseado na web em ambientes desktop, eliminando assim a necessidade de manter uma interface duplicada para as versões web e Java Swing.

DevTools no Android Studio

Visualização da aba Flutter Inspector no Android Studio.

Com mais de 1,5 milhão de downloads, o plugin Flutter para IntelliJ ganhou popularidade significativa entre os desenvolvedores. A necessidade de depurar e ajustar seus aplicativos de forma conveniente é atendida pelo conjunto de ferramentas Flutter DevTools, trazido até eles com a ajuda do JxBrowser.

Adicione o navegador Web Chromium à sua aplicação Java.
Comece agora