TUTORIAL

Flutter para no programadores: lo que aprendí en las primeras semanas

Sotarilabs · 2025 · 7 min de lectura

No vengo del mundo de la programación. Nunca estudié ingeniería de software ni tomé cursos formales de código. Pero decidí construir un portafolio de apps móviles — y eso significaba aprender a programar. Esto es lo que encontré, lo que me sorprendió, y lo que nadie me dijo antes de empezar.

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:

Kotlin
El lenguaje oficial de Android. Potente pero con curva de aprendizaje alta. Solo funciona en Android.
React Native
Usa JavaScript. Multiplataforma, pero la configuración inicial es compleja y hay muchas dependencias.
Flutter ✓
Multiplataforma, un solo código, compilación simple, diseño flexible y comunidad enorme.

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.

⚠️ Lo que nadie te dice

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:

🛠️
Android Studio (Panda 3)
El IDE principal. Viene con todo lo necesario — editor de código, emulador de Android, herramientas de depuración. Gratuito.
💙
Flutter SDK
El framework en sí. Se instala una vez y funciona para todos los proyectos. Actualmente en la versión estable más reciente.
📱
Android SDK API 36
Las librerías que permiten que el código de Flutter se comunique con el sistema Android.
💰
Google AdMob
El sistema de publicidad que monetiza las apps. Se configura una vez por app y genera ingresos pasivos.

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.

✓ Lo que funciona

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.


← Ver todos los posts