He intentado hacer una aplicación Android con Google Bard. El resultado me sorprendió, para bien y para mal

He intentado hacer una aplicación Android con Google Bard. El resultado me sorprendió, para bien y para mal

Crear una aplicación Android con Bard es posible, aunque sigues necesitando saber desarrollo de Android para hacerla funcionar

1 comentario Facebook Twitter Flipboard E-mail
Bard

Temen que la inteligencia artificial vaya a acabar con varios trabajos, aunque también podemos aprovecharla para hacer cosas que normalmente no dominamos, como crear aplicaciones Android. Al menos, en teoría.

Para ponerlo a prueba, le he pedido a Bard que me ayude a crear una aplicación Android con unas especificaciones claras. ¿Será tan fácil como pulsar un botón y luego vivir del cuento? Pues no.

Todo empieza con una petición

Algo que se aplica a Bard, ChatGPT y prácticamente cualquier otra cosa en la vida es que si quieres algo, debes pedirlo. Así, he abierto Bard en el navegador y le he pedido que me ayude a crear una aplicación Android sencilla en Kotlin, con el siguiente prompt:

Créame una aplicación Android, en Kotlin, con diseño Material Design 3, que muestre el texto con encabezado "Aplicación de Xataka Android" y un botón que se llame "Probar suerte". Debajo debe haber un recuadro de texto que empieza vacío. Al pulsar el botón "Probar Suerte", el recuadro de texto mostrará aleatoriamente un texto a elegir entre "Hoy es mi día de suerte", "No he tenido nada de suerte", "Que Dios me ayude" y "Hecatombe nuclear"

He querido que la aplicación fuera sencilla pues Bard no nos va a dar un código listo para descargar y usar, sino que se limita a dictarnos el código que luego debemos pegar en Android Studio, así que cuanto más compleja sea la aplicación más vamos a tener que trabajar nosotros. La primera respuesta pintaba bien: una trozo de código que en principio está listo para usar tal cual:

Deacuerdo Fragmento del código que me ha dado Bard para mi aplicación

La ventaja de este código es que usa Jetpack Compose para describir la interfaz en el propio código, de modo que no he tenido que crear y/o modificar archivos separados para la interfaz, o layouts.

Android Studio al rescate

Llega entonces el momento de pegar el código generado por Bard en Android Studio. Para ello he creado un proyecto con el nombre Voy a tener suerte y he usado el mismo nombre de paquete que Bard generó (com.xataka.android.suerte). Por lo demás, son las opciones predeterminadas.

Vats

Al pegar el código en MainActivity.kt (el archivo principal de la aplicación), comenzaron los problemas, personificados en texto rojo en el editor de código y que denotan que algo anda mal.

Android Studio nos permite arreglar muchos de estos problemas de forma semiautomática mediante sugerencias. Muchos de los casos se arreglaban con una simple importación de las dependencias oportunas (algo que Android Studio también sugiere), pero aún así seguían habiendo errores que impedían que la aplicación pudiera compilarse y, por tanto, arrancar.

Errores El código pegado tal cual tiene bastantes "errores", resaltados en rojo

Alguien que no tenga experiencia creando aplicaciones de Android sin lugar a dudas se va a sentir desesperanzado por los errores que aparecen y no parecen tener fácil solución.

Lo bueno es que puedes hacerle preguntas a Bard para que te ayude a solucionar problemas y en sus respuestas se esfuerza en indicarte cuál es el problema, cómo lo puedes solucionar y proporcionarte el código para ello.

Error

Claro, que sus soluciones no siempre funcionan y tras un constante tira y afloja de preguntas, respuestas y arreglos de errores, la aplicación dejó de mostrar errores en su código y se compiló, aunque esto no significa que vaya a funcionar.

De hecho, la aplicación se cerraba nada más abrirse al cargarla en el emulador oficial de Android Studio, arrojando un bonito mensaje de error en el LogCat del sistema.

Suerte "Voy a tener suerte" no ha tenido por ahora mucha suerte

De nuevo, es posible preguntarle a Bard por el error que se muestra y la inteligencia artificial de Google intentará solucionar el problema basándose en el código que ya te ha dado con anterioridad, lo cual ayuda mucho frente a búsquedas en Google en las cuales un error genérico te arrojará todo tipo de resultados.

Tras pasar unos 20 minutos más arreglando el código, la aplicación finalmente se abrió pero con un problema: el diseño era un desastre. El botón era gigantesco, por lo que tapaba al resto de elementos y era imposible saber si la aplicación funcionaba según lo debido o no.

Probarsuerte2 Al menos ya no se cierra, pero el botón es enorme

¿Y ahora qué hacemos? Preguntarle a Bard de nuevo, por supuesto. Si el botón aparece gigante, pues le preguntamos a Bard que por qué aparece el botón gigante y que lo arregle.

De nuevo, Bard nos intenta explicar por qué ha pasado esto y qué podemos hacer para solucionarlo, aunque este "pequeño" detalle acabó siendo el que más tiempo me ha llevado solventar, pues las soluciones que ofrecía Bard, además de no funcionar "tal cual", ni siquiera funcionaban bien tras arreglar sus errores.

Botonazo

Con un esfuerzo adicional, finalmente logré que el botón no ocupara toda la pantalla y que los tres elementos de la aplicación (encabezado, botón y texto) fueran visibles, aunque siguieran siendo horrendos.

Y aquí está la aplicación que cree con Bard, funcionando según las especificaciones que le di, aunque habría sido muy difícil para alguien sin nociones de desarrollo lograr convertir el código proporcionado por Bard en algo usable. Es un esfuerzo de equipo: 50% Bard y 50% humano.

Sin lugar a dudas Bard mejorará en esta tarea -y en muchas otras- por lo que llegará un momento en el que crear aplicaciones con la ayuda de una IA sea relativamente fácil. Eso sí, tendremos entonces que esforzarnos mucho en describirle a la IA lo que queremos y cómo lo queremos, a no ser que no nos importe tener una interfaz tan dañina para la vista como la de mi aplicación anterior.

En Xataka Android | Cómo crear y publicar una app en Google Play

Inicio