Microsoft Lens zwiększa produktywność programistów dzięki CameraX

Microsoft Lens to usługa, która ułatwia czytanie obrazów dokumentów i tablic. Zespół Microsoft Lens obawiał się, że interfejs API Camera1, czyli interfejs API platformy Android, który obejmuje obsługę aparatów i ich funkcji, działa na nowoczesnych urządzeniach z Androidem w sposób niejednolity. Postanowili stworzyć coś nowego i uznali, że najszybszym sposobem na uzyskanie nowoczesnych funkcji aparatu w telefonie będzie użycie CameraX.

Rozwiązanie

Firma Microsoft zdecydowała się użyć CameraX w pakiecie aplikacji biurowych, które korzystają z Microsoft Lens. CameraX to biblioteka pomocy Android Jetpack o otwartym kodzie źródłowym, która ułatwia deweloperom tworzenie funkcji aparatu w aplikacjach na Androida. CameraX jest zintegrowany ze wszystkimi narzędziami Microsoft Lens, co zapewnia używanie wysokiej jakości obrazów w wybranych aplikacjach. CameraX ułatwia też pracę deweloperom, ponieważ udostępnia prostszy interfejs API i działa na 94% urządzeń z Androidem. Dzięki przejściu na CameraX zespół Microsoft Lens rozwiązał problemy z wydajnością, zwiększył produktywność programistów i skrócił czas wprowadzania produktu na rynek.

Wyniki

Zespół Microsoft Lens zauważył, że wdrożenie biblioteki CameraX pozwoliło programistom zaoszczędzić sporo czasu dzięki mniejszej liczbie cykli testowania i optymalizacji. Szacują, że integracja CameraX zajęła ich zespołowi inżynierów około 4 miesięcy, a integracja Camera2 – około 6 miesięcy.

„W porównaniu z interfejsami API Camera1 CameraX ułatwia konfigurowanie atrybutów takich jak rozdzielczość, współczynnik proporcji, obrót obrazu, jakość przechwytywania itp., co pomogło w integracji i oszczędziło czas. Wewnętrzne zarządzanie stanem (otwieranie i zamykanie aparatu) przez CameraX podczas przełączania się użytkowników między aplikacjami zmniejszyło liczbę wierszy kodu potrzebnych do integracji i zwiększyło produktywność programistów, którzy mogli skupić się na logice biznesowej zamiast na resetowaniu stanu aplikacji – powiedział Vishal Bhatnagar, główny menedżer ds. inżynierii oprogramowania w firmie Microsoft.

Dzięki CameraX firma Microsoft mogła lepiej uruchamiać aplikację i uzyskiwać lepsze wyniki w porównaniu z Camera1. Na nowoczesnych urządzeniach z Androidem wydajność wzrosła 2-krotnie w przypadku uruchamiania i przechwytywania, a na niektórych urządzeniach nawet 3-krotnie (chociaż zależy to od urządzenia). Dodatkowo włączenie podstawowej funkcji skanowania było łatwiejsze w porównaniu z szacunkami dotyczącymi Camera2. W przypadku fragmentacji urządzeń CameraX skutecznie ukrywa wiele wariantów Camera2 w implementacji na wielu urządzeniach OEM.

Zespół Microsoftu integruje obecnie CameraX z niektórymi innymi aplikacjami na Androida, takimi jak Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens i My Hub. Wszystkie te aplikacje korzystają z CameraX do robienia zdjęć w scenariuszach takich jak skanowanie dokumentów i wyodrębnianie informacji z obrazów (np. przekształcanie obrazu w tabelę lub tekst). Zespół Microsoftu planuje też wkrótce wdrożyć CameraX w Outlooku i sprawdza jego potencjał w innych aplikacjach, takich jak Kaizala.

Rozpocznij

Więcej informacji o wdrażaniu CameraX w aplikacji znajdziesz w naszej dokumentacji.