CameraX는 Jetpack 서포트 라이브러리로 카메라 앱을 보다 쉽게 개발할 수 있도록 도와줍니다. Android 5.0(API레벨 21)과 호환되는 대부분의 Android 기기에서 작동하는 일관되고 사용하기 쉬운 API를 제공합니다.
CameraX는 camera2의 기능을 활용하지만 라이프 사이클을 식별하는 보다 간단한 유즈케이스 기반 접근 방식을 사용합니다. 또한 디바이스 호환성 문제를 해결하므로 디바이스 별 코드를 작성할 필요가 없습니다. 이러한 점은 앱에 카메라 기능을 추가할 때 작성해야 하는 코드의 양을 줄여줍니다.
마지막으로, CameraX를 사용하면 개발자는 단 두 줄의 코드로 디바이스에 설치된 기본 카메라 앱과 동일한 카메라 경험과 기능을 사용할 수 있습니다. CameraX Extensions는 옵셔널한 애드온으로 Portrait, HDR, Night, Beauty와 같은 효과를 개발하는 앱에 추가할 수 있습니다. 단, 디바이스가 해당 기능을 지원을 해야 합니다.
참고 CameraX 라이브러리는 알파 단계로 API가 아직 완성되지 않았습니다. 프로덕션에서는 사용하지 않기를 권장합니다. API가 정식 릴리즈 되기까지 소스 단계에서든 바이너리 단계에서든 호환되지 않을 수 있기 때문에 프로덕션에서는 알파 단계인 라이브러리 사용을 피해야 합니다.
주요 이점
CameraX는 다음과 같은 방법으로 개발자 경험을 향상시킵니다.
쉬운 사용성
CameraX는 디바이스마다 다른 점을 관리하는데 시간을 낭비하지 않습니다. 대신 유즈케이스를 도입하여 필요한 작업에만 집중합니다. 몇 가지 기본적인 유즈케이스가 있습니다.