Todos los comandos de Flutter explicados
Flutter es un SDK de código abierto para desarrolladores de aplicaciones móviles y páginas web. Permite desarrollar aplicaciones para IOS y Android desde un mismo código. El SDK nació en 2015 cuando Google lo presentó, aunque se mantuvo en la etapa Beta hasta diciembre de 2018.
Yo utilizo Flutter desde finales del 2019. Es increíble el ritmo de crecimiento que tiene. Cuando empecé a aprender a programar había muy pocos tutoriales dando vuelta en YouTube, y la comunidad era chica. En el 2020, Dart ya era tendencia en GitHub y comenzaba a ser más común su aplicación para el desarrollo móvil profesional. Hoy en día, hay muchas aplicaciones que se están cambiando de React Native y Java a Flutter.
Si Queres Aprender más sobre Flutter podes Chequear Nuestro Tutorial
Aunque la realidad es que los desarrolladores hacen cada vez más fácil evitar las líneas de comando. Cuando yo comencé a programar en Flutter tenía que volver constantemente a la página donde se encontraban todos los comandos. Por eso, hace tiempo que venía pensando que estaría bueno dejar una buena base de datos con la explicación debida de cada comando. Voy a traer el listado que se nos provee en la página oficial de Flutter y explicarlo individualmente. Además, el equipo de desarrollo de google hizo un muy buen trabajo con su CLI (Command Line Interface) para facilitar cada vez más la interacción de usuario/computadora.
Es muy probable que cuando introducimos flutter --help
aparezca algo similar a esta lista de comandos.
Los 23 comandos de Flutter
Formalmente -> Todas las especificaciones.
Informalmente -> Testeando mientras está activo.
Flutter Analyze
Formalmente:
flutter analyze -d <DEVICE_ID>
Informalmente:
flutter analyze
El analyze crea un análisis profundo del proyecto en el que se está trabajando. Busca errores más allá de los errores humanos de una manera rápida y simple. Crea un reporte muy completo de problemas más allá de los ojos del programador.
En la mayoría de los casos cuando yo programo hay errores que no impiden el funcionamiento de la app. Pero siguen estando y hacen la aplicación más ineficiente. Una buena manera de detectar esos errores o ineficiencias para solucionarlos es ejecutando flutter analyze
que hará un análisis de la lista de directorios de nuestra app.
Flutter Assemble
Formalmente:
flutter assemble -o <DIRECTORY>
Informalmente:
flutter assemble
Este comando suele ser confundido con flutter build
porque tiene una función similar. Este es el encargado de crear los artefactos para hacer funcionar el proyecto. A diferencia de assemble, build crea algunos puntos adicionales. Aunque por el otro lado, build depende del assemble, por lo tanto podemos decir que build es parte del assemble.
En conclusión, flutter build
es flutter assemble
con flutter check
( flutter test
más todas las tareas pelusa).
Flutter Attach
Formalmente:
flutter attach -d <DEVICE_ID>
Informalmente:
flutter attach
En los momentos cuando la app pierde la conexión o se rompe, uno generalmente desconecta su dispositivo. Por eso uno tendría que volver a utilizar todo el proceso de debugeo o crear nuevamente. Pero cómo utilizar el flutter build
puede llevar bastante tiempo. Yo recomendaría usar el comando attach para reconectar la conexión.
Flutter Bash Completion
Formalmente:
flutter bash-completion
Este comando da como resultado todo el script de configuración de finalización de la línea de comandos de flutter para Bash y Zsh. Pide especificar un archivo de salida y seguir las instrucciones generadas para instalar comandos a su entorno shell. Una vez que se obtiene se puede utilizar su caparazón para completar comandos y opciones de aleteo.
Flutter Build
Formalmente:
flutter build <DIRECTORY>
Informalmente:
flutter build
flutter build --release
En la última de instancia del desarrollo del proyecto de Flutter se debe crear un archivo que sea ejecutable para el lanzamiento de la aplicación en Play Store o App Store. Por lo tanto, flutter build
te va a permitir generar el archivo ejecutable de la versión final de la app para las plataformas.
flutter build <target-platform-name> --debug
Este comando genera una app para debuggear.
Flutter Channel
Formalmente:
flutter channel <CHANNEL_NAME>
Informalmente:
flutter channel
El comando te dará como resultado la posibilidad de elegir el canal. Quizás se estarán preguntando qué es el canal en Flutter.
El SDK tiene 4 categorías de canales que el desarrollador debe elegir para aumentar la estabilidad:
flutter channel master
Es el método más funcional de todos debido a que se ubica en la punta del árbol en el cual se encuentra el proyecto (la última construcción de vanguardia absoluta). Está generalmente es la mejor alternativa.
flutter channel dev
Cuando se crean errores en el build que generan defectos en el proyecto lo más conveniente es pasar de máster a dev para lograr hacer algunas pruebas.
flutter channel beta
Es la versión en la cual se le permite a los usuarios probar las nuevas funciones de los desarrolladores. Muchas veces contienen errores pero le permiten a los desarrolladores probar funcionalidades antes de sacarlas al público general.
flutter channel stable
Es la opción que se selecciona una vez que el producto se encuentra estable y se busca sacarlo para producción.
Flutter Config
Formalmente:
flutter config --build-dir=<DIRECTORY>
Informalmente:
flutter config
Es utilizado para crear ajustes dentro de la configuración de Flutter como por ejemplo paths para Android Studio y Android SDK. Se pueden crear, eliminar o modificar comandos.
Flutter Create
Formalmente:
flutter create <DIRECTORY>
Informalmente:
flutter create
Uno de los comandos más conocidos y comunes. Este es necesario para poder crear el proyecto, al inicio se crea las bases de las aplicaciones usando flutter build my_app
flutter create --overview/
flutter create --no-overwrite
Sobrescribir archivos existentes
flutter create --pub/
flutter create --no-pub
Utilizado para correr flutter packages get despues de que el proyecto fue creado
flutter create --offline
flutter create --no-offline
Busca correr flutter packages en modo offline o no solamente cuando “--pub” está.
flutter create --with-driver-test
flutter create --no-with-driver-test
Para agregar la dependencia de flutter_driver
y crear una prueba de Flutter Drive.
Flutter Clean
Formalmente:
flutter clean
Como la mayoría de las funciones clean, esta borra los archivos en el directorio build. Puede ser muy beneficioso si has creado muchas aplicaciones en el pasado porque puede liberar bastante espacio en el desco.
Flutter Devices
Formalmente:
flutter devices -d <DEVICE_ID>
Informalmente:
flutter devices
Con este comando podrás sacar una lista de todos los ID de los dispositivos que se encuentran disponibles. Como vimos anteriormente, muchas veces es necesario el <DEVICE_ID> de los dispositivos.
Flutter Doctor
Formalmente:
flutter doctor
Esencial en todas las situaciones, cuando se ejecuta el comando te devuelve un listado de toda la información de instalación de las herramientas. Te permite extraer muchos datos necesarios cuando trabajas con otros comandos. flutter doctor
chequea el ambiente local y reporta el estado del SDK de Flutter (y la instalación).
Flutter Downgrade
Formalmente:
flutter downgrade
Cambia Flutter a la última versión activa del canal actual. Es utilizado cuando hay problemas con las actualizaciones recientes del SDK o se necesita volver para atrás por algún motivo.
Flutter Drive
Formalmente:
flutter drive
El objetivo del comando es ejecutar los drivers de testeo para el proyecto que se encuentra activo en la terminal. Podrás testear los drivers de la app de manera simple observando los drivers del programa.
Flutter Emulators
Formalmente:
flutter emulators
Es utilizado antes de activar algún emulador. El comando es el encargado de manejar los dispositivos que tenemos descargados en nuestra máquina. La función es imprimir la lista de los emuladores disponibles para que el desarrollador pueda seleccionar uno desde el comando flutter emulators --launch {nombre de emulador}
o podemos crear algún dispositivo con flutter emulators --create --name Samsung S7
Flutter Format
Formalmente:
flutter format <DIRECTORY|DART_FILE>
Informalmente:
flutter format
Antes que usar dartfmt (formateador original). Pero, para proveer una manera más fácil y unificada en la CML se crean sub-comandos para aumentar la productividad de los desarrolladores. Por eso, flutter format
te permite formatear tu código tambien. Yo no lo he usado comúnmente, pero estoy al tanto de que los equipos de trabajo suelen usarlo para unificar el formato de su código.
Flutter Gen-l10n
Formalmente:
flutter gen-l10n <DIRECTORY>
Informalmente:
flutter gen-l10n
Para generar la internalización de la documentación. Es utilizado para facilitar al desarrollador implementar ajustes en cuanto al lenguaje de los usuarios.
Flutter Install
Formalmente:
flutter install -d <DEVICE_ID>
Informalmente:
flutter install
Este comando va a instalar flutter en el dispositivo seleccionado. Lo que va a hacer es instalar el APK en el dispositivo. Por ejemplo para instalar en tu teléfono Android enchufamos el dispositivo con un dispositivos usb -> pondrás el comando cd [project] -> flutter install
Flutter Logs
Formalmente:
flutter logs
El siguiente te permitirá ver los logs que está ejecutando tu Flutter App. Por este motivo te facilitará los procesos de prueba hacia tu dispositivo. Imprimirá el listado de los Print() que se encuentren activos en el código a la consola. Con flutter log -c
podrás borrar toda la historia de logs.
Flutter Precache
Formalmente:
flutter precache <ARGUMENTS>
Informalmente:
flutter precache
Rellena el caché de artefactos binarios de la herramienta Flutter. Con la mayoría de los programas, en Flutter se almacena el caché en el directorio bin/cache . Si el caché no se ha guardado automáticamente, podemos pedir con el comando flutter precache
que nos lo guarde. Rara vez tendrás que usarlo porque se suele cargar automático pero hay que tenerlo en cuenta.
Flutter Pub
Formalmente:
flutter pub <PUB_COMMAND>
Informalmente:
flutter pub
El comando suele estar seguido de algún sub comando. Acá presentamos la lista y sus funciones:
En esta situación haremos la excepción de usar paquetes Dart.
dart pub para conseguir dependencias para un paquete no Flutter
flutter pub
para conseguir dependencias para un paquete de Flutter
flutter pub add
dart pub add
Agrega una dependencia a pubspec.yaml
flutter pub cache
dart pub add
Trabaja con el sistema Pub caché
flutter pub deps
dart pub deps
Imprime todos los paquetes con dependencia.
flutter pub downgrade
dart pub downgrade
Baja el grado de los paquetes en el proyecto (en el caso de dart, de los paquetes activos).
flutter pub get
dart pub get
El comando pub más utilizado, es el encargado de buscar los paquetes en un proyecto (en el caso de dart, de los paquetes activos).
flutter pub global
dart pub global
Es utilizado para trabajar con paquetes globales.
flutter pub login
dart pub login
Para ingrasar a pub.dev
flutter pub logout
dart pub logout
Para salir de pub.dev
flutter pub outdated
dart pub outdated
Analiza las dependencias para buscar si hay alguna que se encuentra desactualizada.
flutter pub
Pasará los argumentos restantes a la herramienta de Dart’s “pub”.
flutter pub publish
dart pub publish
Publica el paquete en pub.dartlang.org
flutter pub remove
dart pub remove
Es el encargado de remover la dependencia del paquete actual.
flutter pub run
Corre el ejecutable del paquete seleccionado.
flutter pub test
corre el paquete de “prueba”
flutter pub upgrade
dart pub upgrade
Tendrá como resultado la actualización de las dependencias a su versión más nueva.
flutter pub uploader
dart pub uploader
Maneja los uploaders para los paquetes en pub.dartlang.org
flutter pub version
Imprime las versiones pub.
Flutter Run
Formalmente:
flutter run <DART_FILE>
Informalmente:
flutter run
Pone en marcha el programa de Flutter.
Se pueden utilizar 3 sub comandos.
flutter run --debug
Crea una versión de debugeo, esta por defecto. Probablemente sea la que utilizaste hasta el día de hoy sin darte cuenta.
flutter run --profile
Es una versión especializada para mejorar el rendimiento de la aplicación. Es generalmente utilizada para testear la app antes de generar el release.
flutter run --release
Es la versión lista para publicar la aplicación en Google Play Store (Android) o App Store (IOS).
Flutter Symbolize
Formalmente:
flutter symbolize --input=<STACK_TRACK_FILE>
Informalmente:
flutter symbolize
Simboliza un seguimiento de pila de la aplicación Flutter compilada AOT.
Flutter Test
Formalmente:
flutter test [<DIRECTORY|DART_FILE>]
Informalmente:
flutter test
Corre una prueba en el paquete actual. Es decir, es una alternativa al flutter pub test
Flutter Upgrade
Formalmente:
flutter upgrade
Actualiza una copia de tu Flutter.