Jetpack Compose para Android disponible para proyectos en producción

La espera ha sido larga, pero por fin ayer,los ingenieros de Google encargados del proyecto proclamaban a los cuatro vientos, lo que viene siendo hoy en día las redes sociales, que su librería para crear interfaces de una forma declarativa en vez de imperativa, ya estaba disponible en su versión beta.

Esto significa que es viable ya utilizar esta librería para proyectos en producción o que vayan a ir a producción en un periodo corto de tiempo. La entrada en fase beta de una librería de este tipo implica que los cambios que se produzcan hasta su versión definitiva, serán de menor calado y aunque se produzcan cambios, que los habrá, estos serán asumibles y podrán ser cambiados en un ciclo normal de desarrollo.

Ahora bien, ¿qué es Jetpack Compose y porqué era tan esperada su llegada?

Si te dedicas al mundo del desarrollo mobile seguramente conocerás o habrás oido hablar de Flutter o de Swift UI casi con total seguridad. Estas dos librerías o framework, son también de las llamadas declarativas y que nos hacen construir complejas interfaces de una manera mucho más fácil, fluida y rápida que como veníamos haciéndolo hasta ahora. 

Todo ello a cambio de tener que cambiar el chip y la forma en como pensábamos a la hora de crear las interfaces hasta ahora y casi cambiar el paradigma de programación hacia uno más donde los estados tenga más cabida y la programación reactiva también.

En la programación imperativa se describe paso a paso un conjunto de instrucciones que deben ejecutarse para variar el estado del programa y hallar la solución, es decir, un algoritmo en el que se describen los pasos necesarios para solucionar el problema.

“di qué quieres, pero no cómo lo quieres”

En la programación declarativa las sentencias que se utilizan lo que hacen es describir el problema que se quiere solucionar; se programa diciendo lo que se quiere resolver a nivel de usuario, pero no las instrucciones necesarias para solucionarlo

Gracias a Jetpack Compose por fin nos podremos olvidar de los archivos XML para crear nuestras vistas, todos los componentes de la vista los crearemos “componiéndolas” mediante el uso de otros pequeños componentes, y todo mediante código. Pero con mucho menos código del que sería necesario si lo hiciéramos sin esta nueva librería.

Creando una pequeña vista con Jetpack Compose

Un ejemplo muy simple, pero a la vez, uno que nos puede dar una gran idea de lo que viene a aportar Jetpack Compose al mundo de la programación Android puede ser el siguiente:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            SimpleList()
        }
    }
}


@Composable
fun SimpleList() {
    val scrollState = rememberScrollState()
    Column(Modifier.verticalScroll(scrollState)) {
        repeat(100) {
            Text("Item #$it")
        }
    }
}

Simplemente con este código habremos construido lo que a día de hoy conocemos como RecyclerView. Nada de ViewHolders, nada de Adapters, y nada de complejos códigos y boilerplate innecesarios. 

Por supuesto este es un ejemplo muy simple y se puede complicar todo lo que deseemos, pero aún así, es mucho más fácil, sencillo y manejable que como lo veníamos haciendo hasta día de hoy.

No cabe duda que con Jetpack Compose, el desarrollo en Android va a ganar muchos enteros y va a facilitar nuestra tarea. Queda mucho camino por recorrer y por aprender, pero el lanzamiento de esta librería crea un antes y un después en el mundo del desarrollo android.

Aquí, en Compilacionmovil iremos haciendo sucesivos post de como utilizar esta nueva librería en Android. A medida que vayamos aprendiendo y conociendo su uso, iremos dejando por aquí todo lo que vayamos descubriendo y aprendiendo.

Google ha puesto a nuestra disposición una gran cantidad de documentación y de codelabs para que nuestro aprendizaje sea lo más llevadero posible.

Comparte si lo consideras interesante
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.