Android lleva tiempo luchando con las diferencias que encontramos entre las aplicaciones de cámara nativa y las aplicaciones de terceros. Cada fabricante añade distintas funciones a su app nativa, de las cuales los desarrolladores externos no pueden aprovecharse.
Si bien la solución a esto no depende tan solo de los fabricantes, sino de factores que explicaremos unas líneas más adelante, Google quiere minimizar las diferencias en la experiencia de usuario de la cámara stock respecto a la cámara de las aplicaciones. Camera X es su gran proyecto para lograrlo, una serie de herramientas que pueden malinterpretarse de forma sencilla ya que no son "la salvación" que pudiéramos pensar. Vamos a explicar qué es Camera X, qué diferencia hay con el software actual y qué permitirá exactamente.
Qué es CameraX
Google define CameraX como una biblioteca de compatibilidad creada para que el desarrollo de una app de cámara resulte más fácil. La definición no es muy completa, pero vamos por partes. En otras palabras, CameraX permite a los desarrolladores incorporar a sus aplicaciones las funciones de cámara que ya proporcionan los fabricantes. Es decir, aplicar efectos como el HDR, modo noche o modo belleza nativos de la cámara de un teléfono a una aplicación de terceros.
Desde Google afirman que "es difícil mantener un comportamiento de cámara coherente entre apps". Para ello, han desarrollado esta serie de herramientas que permiten a los desarrolladores acceder a las mismas funciones que se encuentran en la app nativa de cámara del dispositivo mediante unas pocas líneas de código.
Qué aporta frente a Camera2 API
Aunque CameraX suena como algo nuevo, ya hay herramientas similares, como es el caso de Camera2 API. Esta es otra interfaz pensada para desarrolladores, desarrollada desde Android 5 y orientada en este caso a facilitar a los desarrolladores funciones avanzadas de la cámara, como pueden serlo el enfoque manual, disparo de fotografías en RAW, ajustes de exposición, balance de blancos, etc.
Camera2 API tiene cuatro niveles (Legacy, Limited, Full y Level 3). Cuanto más nivel, más funciones puede realizar la aplicación. En resumen, Google introdujo Camera 2 API para facilitar el desarrollo de las funciones de cámara y, según el dispositivo que estemos utilizando, podremos disfrutar de más o menos funciones, según el nivel que tenga.
El punto diferencial de CameraX es que se centra en servir de puente entre la cámara nativa y las cámaras de terceros, más que en brindar por sí misma un abanico de funciones.
Por qué no va a solucionar el problema de la calidad en apps de terceros
Una vez explicado qué es CameraX, cabe hacer un pequeño análisis de lo que aporta y lo que no. El primer problema de CameraX es que es una biblioteca, no una función integrada dentro de Android. ¿Traducción? Los desarrolladores podrán escoger si trabajar o no con ella.
En el idílico escenario de que todas las aplicaciones incorporen CameraX (queremos pensar que Instagram, WhatsApp y demás lo harán) cabe aclarar que este no será el fin del problema de la calidad en aplicaciones de terceros. Google ya dio un paso adelante con Visual Core, un chip propio que permite que los Google Pixel puedan procesar el HDR+ en Instagram, WhatsApp y demás aplicaciones. ¿Soluciona esto un problema de calidad? No. Añadir funciones siempre suma, pero es algo aparte de la calidad.
El principal problema de las apps en Android es la compresión y algoritmos que utilizan para subir las fotografías, notablemente inferiores a los de iOS. En resumidas cuentas, CameraX vendrá para que las aplicaciones de terceros sean más completas a nivel de funciones, pero la calidad seguirá siendo la asignatura pendiente.
Ver 10 comentarios