Publicado por Jolanda Verhoef, Ingeniero de Relaciones con los Desarrolladores de Android, y Anna-Chiara Bellini, Directora de producto de la interfaz de usuario de Android Toolkit


Hace casi un año que Jetpack Compose 1.0 fue lanzado, y durante este tiempo hemos visto que la comunidad lo ha adoptado con entusiasmo. Nos han dicho que aprecian la concisión de la sintaxis de Kotlin y el enfoque declarativo que hace que pensar en la interfaz de usuario sea mucho más rápido y fácil.
Índice de Contenidos
Compose en la Comunidad
Hemos visto muchos empresas que adoptan Compose a escala para las funciones más novedosas y atrevidas de sus aplicaciones. Por ejemplo, hemos trabajado estrechamente con el equipo de Play Store, que empezó a experimentar con Compose en los primeros días, y aprendió que no sólo es más agradable, sino que es beneficioso para la productividad de sus desarrolladores. Nos dijeron que «Todas las nuevas funciones de Play Store se construyen sobre este marco. Compose ha sido fundamental para conseguir una mayor velocidad y un aterrizaje más suave para la aplicación.» El equipo de Twitter ha estado utilizando Jetpack Compose en diferentes partes de la aplicación, y están cosechando los beneficios, ya que «Compose facilita mucho la definición de nuestros propios componentes y hace que sus contratos de API sean más explícitos, flexibles e intuitivos». El equipo de Airbnb también adoptó Compose: «Jetpack Compose es una parte fundamental de nuestra estrategia técnica. Las ganancias de productividad son enormes».
Estamos muy contentos de ver que estos equipos, que han evaluado cuidadosamente Compose en entornos de producción grandes y complejos, están experimentando no sólo más diversión y claridad en su desarrollo de la interfaz de usuario, sino beneficios de ingeniería más amplios. Y estos son sólo algunos ejemplos, porque más de 100 de las 1000 principales aplicaciones de Play Store utilizan ahora Compose.
Estas estrechas colaboraciones, y el hecho de escuchar atentamente los comentarios de la comunidad Android en general, son siempre el centro de nuestro proceso de desarrollo y son la clave para avanzar en nuestro hoja de ruta. Ahora nos centramos en dar soporte a tus casos de uso más avanzados, con nuevas API y mejoras en las funciones, todo ello junto con nuevas herramientas para facilitar la construcción con Compose. Sabemos que Compose cambia fundamentalmente la forma de construir la interfaz de usuario. Para ayudarte con el cambio de mentalidad necesario, estamos publicando más guías, charlas y codelabs sobre temas avanzados, y más vídeos en profundidad para que puedas escribir aplicaciones con un aspecto y un rendimiento excelentes. Estas son las novedades:
Compose 1.2 beta
Hoy lanzamos la primera versión beta de Compose 1.2que incluye muchas funciones y mejoras.
Mejoras en los textos
Acolchado de la fuente
Hemos abordado uno de los errores más votados en nuestro issue tracker haciendo includeFontPadding
un parámetro personalizable. Te recomendamos que establezcas este valor como false
, ya que esto permitirá una alineación más precisa del texto dentro del diseño. Nuestro objetivo es hacer que este valor sea el predeterminado en una futura versión. Por favor, indícanos en la cuestión anterior si establecer el valor a false
provoca problemas en tu aplicación. Además, cuando includeFontPadding
se ajusta a false
puedes adaptar la altura de las líneas de tu Texto componible ajustando la opción lineHeightStyle
parámetro. Combinado puede tener este aspecto:
Texto de varias líneas con includeFontPadding configurado como verdadero (izquierda, valor predeterminado actual) frente a falso (derecha) y lineHeightStyle.
Text( text = myText, style = TextStyle( lineHeight = 2.5.em, platformStyle = PlatformTextStyle( includeFontPadding = false ), lineHeightStyle = LineHeightStyle( alignment = Alignment.Center, trim = Trim.None ) ) )
Fuentes descargables
Compose 1.2 también introduce fuentes descargables en Compose. Puedes utilizar las nuevas API de Compose para acceder a Google Fonts de forma asíncrona, incluso definiendo fuentes de reserva, sin ninguna configuración compleja. Con las fuentes descargables, puedes mantener el tamaño de tu APK pequeño y mejorar la salud del sistema de tus usuarios, ya que varias aplicaciones pueden compartir la misma fuente a través de un proveedor.
Lupa de texto
El texto de Android proporciona un widget de lupa, que facilita la selección de texto. Componer ahora es compatible con la lupa de texto.
La lupa se muestra al arrastrar un tirador de selección para ayudarte a ver lo que hay bajo tu dedo. La versión 1.1.0 de Componer incorporó la lupa a la selección dentro de los campos de texto, y ahora la versión 1.2.0 admite la lupa tanto en los campos de texto como en los SelectionContainer
. También se ha mejorado la lupa para que coincida con el comportamiento preciso de la lupa de Android en Vistas.
Características y mejoras del diseño
Diseños perezosos
Los layouts perezosos siguen evolucionando, con las APIs de rejilla LazyVerticalGrid
y LazyHorizontalGrid
que se gradúan de experimentales, y se añade una nueva API experimental, llamada LazyLayout
que te permite implementar tus propias disposiciones perezosas personalizadas. Aprende más sobre estas APIs en la charla de E/S Diseños perezosos en Compose.
Interop con CoordinatorLayout
Cuando incrustas un componible de desplazamiento en un CoordinatorLayout
del sistema de vistas, ahora puedes asegurarte de que sus comportamientos de desplazamiento son interoperables. Esto facilita la configuración de una barra de herramientas plegable. Puedes optar por este comportamiento pasando el resultado de la llamada a la nueva función experimental rememberNestedScrollInteropConnection
al método nestedScroll
modificador. Aquí tienes una muestra que demuestra esta nueva funcionalidad.
Inserciones de ventanas
El biblioteca de inserciones en Acompañante ha pasado a la biblioteca de la Fundación Compose, utilizando el WindowInsets
. Lee más sobre ello en nuestra documentación sobre Integrar Compose con tu interfaz de usuario actual.
Clases de tamaño de ventana
Para facilitar el diseño, el desarrollo y la comprobación de los diseños redimensionables, hemos lanzado las clases de tamaño de ventana, un conjunto de puntos de ruptura de la ventana de visualización con opinión. Ahora están disponibles en versión alfa en una nueva biblioteca material3-window-size-class
, como parte del conjunto de bibliotecas de Material 3. Puedes leer más sobre las clases de tamaño en el Soporte de diferentes tamaños de pantalla y echa un vistazo a ejemplo de implementación en Crane.
Centrarse en el rendimiento
Para ayudarte a entender y mejorar el rendimiento de tu aplicación, nos hemos centrado mucho en nuevas herramientas y guías de rendimiento. Con esto, es mucho más fácil entender por qué y dónde puede estar fallando tu aplicación.
A partir de Android Studio Dolphin, puedes inspeccionar la frecuencia con la que se recomponen los componibles utilizando el Inspector de Diseño. Un número inesperado de recomposiciones puede indicarte un componible que podría ser optimizado. Además, Android Studio Electric Eel incluye ahora un resaltador de recomposición, una ayuda visual para ver qué componibles se recomponen cuando. Lee más sobre esta nueva herramienta en el blog Novedades de Android Studio.
El inspector de diseño muestra el recuento de recomposición y el resaltador de recomposición.
Compose cambia la forma de escribir tu interfaz de usuario a un nivel fundamental, por lo que hay algunas prácticas recomendadas que puedes adoptar para asegurarte de que tu aplicación tenga un buen rendimiento. La nueva versión de página de documentación sugiere cómo escribir y configurar tu aplicación Compose para obtener el mejor rendimiento. En la charla sobre E/S Problemas comunes de rendimiento en Jetpack ComposeEl equipo de Compose describe los errores de rendimiento más comunes y cómo solucionarlos.
El rendimiento es un área de interés permanente y estamos trabajando duro para mejorar y ampliar las herramientas y la orientación. Mientras tanto, agradeceríamos mucho tus comentarios sobre el trabajo que hemos hecho hasta ahora. Por favor, plantea tus errores en el rastreador de problemas o haz tus preguntas en el Grupo Slack de KotlinLang.
Nuevas herramientas
Además de las mejoras, también hay nuevas actualizaciones de herramientas para ayudarte a utilizar Compose de forma más eficaz. Delfín Android Studio, ahora en versión Beta, aporta interesantes funciones para el desarrollo de Compose. Más allá de los recuentos de recomposición, las nuevas herramientas incluyen la Coordinación de la Animación, para que puedas ver y revisar todas tus animaciones a la vez, y la anotación MultiPreview para ayudarte a construir para múltiples tamaños de pantalla. Para permitirte iterar más rápido, Android Studio Electric Eel (en Canary) trae LiveEdit.
Mira Novedades en las herramientas de desarrollo de Android para conocer todos los detalles, y asegúrate de compartir tus comentarios para ayudar a dar forma al soporte de herramientas que necesitas para Compose.
Componer para Wear OS
¡Si hay algo mejor que Compose, es más Compose! Así que estamos muy contentos de que Compose para Wear OS pase a la versión Beta. Siguiendo el mismo principio que cualquier otra biblioteca de Jetpack, Beta significa que está completa en cuanto a características y estable en cuanto a la API, y que puedes empezar a crear tus aplicaciones listas para la producción. Ve a ver la charla y lee el entrada del blog¡!
Orientación nueva y mejorada
Hemos añadido y renovado muchas de las orientaciones sobre la composición:
¡Feliz composición!
Esperamos que estas nuevas funciones te resulten tan emocionantes como a nosotros. Si aún no has empezado, es el momento de aprender Jetpack Compose y comprueba cómo encaja en tu equipo y en tu proceso de desarrollo, para que puedas experimentar todas las ventajas de la mejora de la velocidad y la productividad de los desarrolladores. ¡Feliz composición!