Logo es.androidermagazine.com
Logo es.androidermagazine.com

El simple truco de Facebook para servir tantos dispositivos Android diferentes

Anonim

A algunas personas les gusta llamarlo fragmentación, otras lo llaman elección, pero por cualquier nombre ciertamente hay muchos teléfonos Android diferentes. Crear aplicaciones que necesiten trabajar con todas ellas no es tarea fácil. Tiene configuraciones de hardware muy diferentes que marcan una gran diferencia en el rendimiento, y aunque un archivo apk puede funcionar en cada uno de ellos, todavía existe el problema de necesitar una aplicación que se ejecute sin problemas en dispositivos de gama baja sin sacrificar las características en alto -dispositivos finales. Cuando se habla de una aplicación tan popular como Facebook, esto puede convertirse rápidamente en una pesadilla para las personas que realizan la codificación.

Facebook mostró a todos en Big Android Meat and Greet una nueva solución que es simple: el componente Device Year Class.

Los desarrolladores de Facebook describen este nuevo componente de software de esta manera:

Device Year Class es una biblioteca de Android que implementa un algoritmo simple que asigna la RAM de un dispositivo, los núcleos de la CPU y la velocidad del reloj al año en que esas combinaciones de especificaciones se consideraron de gama alta. Esto permite a un desarrollador modificar fácilmente el comportamiento de la aplicación en función de las capacidades del hardware del teléfono.

La biblioteca no altera ningún comportamiento en la aplicación. Devuelve un valor (expresado como un año) que se almacena en el código para los momentos en que un desarrollador necesita cambiar la forma en que funciona una aplicación para adaptar la experiencia a un tipo particular de hardware. Esto significa que un desarrollador puede escribir una aplicación con animaciones y transiciones sofisticadas que se reproducirán según lo previsto cuando se ejecute en algo como un Galaxy Note 4, pero no usarán los dulces cuando la aplicación se ejecute en algo como un Moto E. Como puede imagine, este tipo de control en una aplicación como Facebook, que está instalada en millones y millones de teléfonos diferentes, puede y será una mejor experiencia para casi todos. Y es fácil de implementar. De la documentación en GitHub:

if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }

Lo mejor de todo es que la biblioteca es de código abierto bajo la licencia de software BSD (la misma licencia que Google usa para la fuente de Android) y está disponible para que todos los desarrolladores la utilicen de forma gratuita.

Sabemos que esto no es mágico, y es probable que la mayoría de los desarrolladores que trabajan en grandes proyectos tengan algún tipo de método para manejar diferentes configuraciones de hardware. Lo que hace la clase anual del dispositivo es proporcionar una solución simple y "elegante" a un gran problema, y ​​cualquiera puede usarlo.

Página de GitHub de Device Year Class