Por qué Flutter y no otra cosa
Cuando empecé a investigar cómo crear apps para Android, me encontré con tres opciones principales que todo el mundo menciona. Evalué las tres antes de decidir:
Elegí Flutter por tres razones concretas. Primero, con un solo código puedo hacer una app que funcione en Android — y eventualmente en iOS si algún día lo necesito. Segundo, la compilación es más simple que en las otras opciones. Tercero, la comunidad es enorme, lo que significa que casi cualquier problema que tenga, alguien ya lo tuvo antes y hay una solución documentada.
Flutter usa un lenguaje llamado Dart. No es JavaScript, no es Python, no es nada que probablemente hayas visto antes. La curva de aprendizaje al principio es real — pero es sorprendentemente corta si tienes una guía clara de qué hacer y en qué orden.
Las herramientas que uso
Mi stack de desarrollo es deliberadamente simple. Menos herramientas significa menos cosas que pueden salir mal:
Lo que más me costó al principio
Entender la estructura de un proyecto
Cuando creas un proyecto Flutter por primera vez, Android Studio genera decenas de archivos y carpetas. La mayoría no hay que tocarlos nunca. Al principio eso me paralizó — no sabía qué era importante y qué no. La respuesta simple: solo hay que enfocarse en la carpeta lib/ donde va todo el código de la app, y en pubspec.yaml donde se declaran las dependencias y los assets.
Los mensajes de error
Flutter tiene mensajes de error muy detallados — a veces demasiado. Un error de una línea puede generar 40 líneas de texto en la consola. Aprendí que casi siempre la causa real está en las primeras 3 líneas del mensaje. El resto es contexto técnico que al principio no necesitas entender.
El concepto de "widget"
En Flutter, todo es un widget. Un botón es un widget. Un texto es un widget. La pantalla entera es un widget que contiene otros widgets. Una vez que entendí eso, el resto empezó a tener sentido — porque construir una pantalla es simplemente anidar widgets unos dentro de otros, como cajas dentro de cajas.
Trabajar con una guía paso a paso en lugar de intentar entender todo de una vez. Cada app que construyo parte de una base ya conocida — la estructura del proyecto, cómo declarar assets, cómo conectar AdMob. Lo que cambia de app en app es solo el contenido y las pantallas específicas.
El ritmo de trabajo
Tengo alrededor de 12 horas por semana para dedicarle a este proyecto. El objetivo es terminar una app por semana — lo que en la práctica significa entre 4 y 6 horas de trabajo real por app, más tiempo de investigación y planificación.
La primera app siempre toma más tiempo porque hay que configurar el entorno, entender la estructura, cometer los errores típicos de principiante y aprender de ellos. A partir de la segunda app, el proceso es mucho más fluido porque la base ya está establecida.
Lo que me sorprendió positivamente
La comunidad de Flutter es genuinamente útil. El repositorio de paquetes pub.dev tiene soluciones para casi todo — reproducción de audio, animaciones, almacenamiento local, integración con AdMob. Rara vez hay que construir algo desde cero.
También me sorprendió lo rápido que se puede ver el resultado. Con Flutter puedes correr la app en un emulador con un solo comando y ver los cambios en tiempo real mientras escribes el código. Ese feedback inmediato hace el proceso mucho más motivador.
Lo que cambiaría si empezara de nuevo
Dedicaría más tiempo a planificar el contenido antes de escribir código. En las primeras apps cometí el error de empezar a programar antes de tener claro qué pantallas necesitaba y cómo fluía la navegación. Eso generó retrabajo. Ahora dibujo el flujo en papel antes de abrir Android Studio.
También hubiera empezado con apps más simples. La tentación es querer hacer algo impresionante desde el principio — pero las apps simples son las que enseñan los fundamentos, y los fundamentos son los que permiten hacer cosas impresionantes después.
El consejo más importante
No intentes aprender Flutter en abstracto. Aprende Flutter construyendo algo concreto que quieras terminar. El objetivo de tener una app publicada en Google Play es mucho más motivador que cualquier curso o tutorial. Cuando hay algo real en juego, los obstáculos se vuelven problemas a resolver — no razones para rendirse.
Si estás pensando en empezar — empieza. La primera semana es la más difícil. La segunda ya es diferente.