O Microsoft Lens é um produto que facilita a leitura de imagens de documentos e lousas interativas. A equipe do Microsoft Lens temia que a API Camera1, uma API do framework do Android que inclui suporte a câmeras e recursos de câmera, estivesse apresentando um desempenho inconsistente para ela em dispositivos Android modernos. Eles decidiram criar algo novo e determinaram que a rota de desenvolvimento mais rápida era usar a CameraX para ter os recursos modernos de um smartphone com câmera.
O que a equipe fez
A Microsoft decidiu usar o CameraX para o pacote de apps de produtividade que usa o Microsoft Lens. O CameraX é uma biblioteca de suporte de código aberto do Android Jetpack que simplifica a criação de funcionalidades de câmera em apps Android. O CameraX se integra a todas as ferramentas do Microsoft Lens para garantir o uso de imagens de alta qualidade em apps selecionados. O CameraX também melhora a experiência do desenvolvedor oferecendo uma API mais simples e funciona em 94% dos dispositivos Android. Ao migrar para o CameraX, a equipe do Microsoft Lens conseguiu resolver problemas de desempenho, aumentar a produtividade dos desenvolvedores e reduzir o tempo de lançamento.
Resultados
A equipe do Microsoft Lens descobriu que a implementação da biblioteca CameraX economizou um tempo significativo aos desenvolvedores, como resultado de menos ciclos de teste e otimização. Eles estimam que a CameraX levou cerca de quatro meses de esforço para o tempo de integração da equipe de engenharia, em comparação com a Camera2, que levaria cerca de seis.
"Com o CameraX, é mais fácil configurar atributos como resolução, proporção, rotação de imagem, qualidade de captura etc. em comparação com as APIs Camera1, que ajudaram na integração do tempo e esforço. A CameraX lida internamente com o estado (para abrir/fechar a câmera) enquanto os usuários alternam entre os aplicativos. Isso reduziu as linhas de código para integração e também ajudou a produtividade do desenvolvedor a se concentrar na lógica de negócios em vez de redefinir o estado do app", disse Vishal Bhatnagar, gerente de engenharia de software principal da Microsoft.
Usar o CameraX levou a Microsoft a uma melhor inicialização e captura de desempenho em comparação com o Camera1. O desempenho deles em dispositivos Android modernos dobrou no lançamento e na captura, e alguns aparelhos até triplicaram a performance (embora isso varie de acordo com o dispositivo). Além disso, ativar a funcionalidade de verificação principal foi mais fácil em comparação com as estimativas do Camera2. Em termos de fragmentação de dispositivos, o CameraX esconde muitas variações do Camera2 de muitos dispositivos na implementação em muitos dispositivos OEM.
A equipe da Microsoft está integrando o CameraX em alguns de outros apps Android, como Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens e My Hub. Todos esses apps usam o CameraX para o recurso de captura de imagem em cenários como digitalização de documentos e extração de imagem para entidade (por exemplo, imagem em tabela, imagem em texto). A equipe da Microsoft também está planejando implementar o CameraX no Outlook em breve e analisar o potencial para outros apps, como o Kaizala.
Primeiros passos
Acesse nossa documentação para saber mais sobre como implementar a CameraX no seu app.