Hugo René Valadez Oliva
CIATEC, A.C. hvaladez@ciatec.mx
Octubre 2022
Flutter es un SDK es decir, un Kit de Desarrollo de Software Multiplataforma para desarrollo de aplicaciones a partir de un código base, utilizado principalmente para la creación de aplicaciones móviles (iOS y Android), entre otras plataformas.
Que tiene como objetivo lanzar aplicaciones que se adapten de forma natural a diferentes plataformas y por lo tanto con un buen rendimiento. Entre mas natural (nativo) sea la comunicación con cada una de las plataformas, el rendimiento se verá beneficiado por una comunicación más ágil que otras plataformas.
Existen dos plataformas oficiales para encontrar todo lo relacionado con la multiplataforma, https://flutter.dev/ y una plataforma que está siendo traducida por la comunidad latina al español, la cual es https://esflutter.dev/ sin embargo esta última todavía requiere de ayuda y apoyo para su desarrollo debido a que no se encuentra toda la información con la traducción requerida.
Flutter permite la creación de software en diversas plataformas entre las que se encuentran las plataformas para dispositivos moviles de iOs de la empresa apple y Android perteneciente a Google.
En seguida se muestra una tabla de plataformas soportadas para el desarrollo con Flutter:
https://docs.flutter.dev/development/tools/sdk/release-notes/supported-platforms
Aunque para un usuario la apariencia sea muy similar de una App en ambos dispositivos, evidentemente las diferencias cambian principalmente en la comunicación con la plataforma, en las diferentes acciones de los accesos de la interfase, la misma interfase en sí y en cuestiones de apariencia de botones, menús y demás elementos visuales.
Algunas de las características generales de Flutter son:
- Creado por la empresa Google con licenciamiento de código abierto
- Un único código base para desarrollo sobre iOS, Android, Windows, Linux, Mac y diversos navegadores (multiplataforma)
- Gran popularidad y crecimiento en este último par de años
- Uso de Widgets
- Uso de Hot Reload
- Utiliza lenguaje de programación Dart
Dart es el lenguaje de desarrollo que se utiliza sobre la plataforma de Flutter. Es un Lenguaje de codificación open source optimizado y orientado al cliente basado en la creación de interfases para el desarrollo de aplicaciones ágiles creado por Google en 2011, dos años antes de la creación de Flutter.
Utiliza la licencia BSD (Berkeley Software Distribution), por lo que la licencia permite que se puede desarrollar con este framework y este lenguaje, siendo el resultado un software que puede comercializarse por medio de licencia o venta directa.
Entre las características principales de Dart se encuentra:
- Lenguaje Dart es intuitivo, similar a java, c#, javascript
- Lenguaje orientado a objetos
- Flutter se ha convertido en su principal objetivo
- Compilación Just-in-Time
- Lenguaje realmente sencillo y fácil de aprender
Existen varias herramientas que permiten aprender sobre este lenguaje, entre ellas se encuentra el sitio: https://dartpad.dev/
Es un block editable para crear aplicaciones en línea, el cual permite que el desarrollador juegue con el código, visualice ejemplos, los modifique e incluso que los utilice para integrarlo en desarrollos mas robustos.
Dentro de Flutter todo es un widget y el código de la aplicación al final es la traducción de un diseño visual a un árbol de widgets. Los widgets son los elementos básicos de la interfaz de usuario de una aplicación Flutter, los cuales pueden definir:
- Un elemento estructural (como un botón o menú)
- Un elemento de estilo (como una fuente o un esquema de color)
- Un aspecto del diseño (como imagen)
Para encontrar una referencia a los diversos widgets que se pueden utilizar en una aplicación, se puede consultar el sito: https://docs.flutter.dev/reference/widgets. Algunos ejemplos de la larga lista de elementos que podemos encontrar es:
Al seleccionar alguno de ellos, nos direcciona a una página dinámica en donde podemos jugar con el código, realizarse modificaciones y visualizar los cambios al momento, por lo que también podemos copiar el código del widget e integrarlo a nuestro proyecto de desarrollo de software. Ejemplo de la página dinámico que se puede visualizar es la siguiente imagen que muestra el widget de FloatingActionButton, con los diversos tipos de botones.
Algunas aplicaciones para dispositivos móviles que se han sido desarrolladas en Flutter son:
- Por supuesto Aplicaciones de Google como Google Pay
- El conglomerado Chino muy conocido a nivel internacional Alibaba.com
- La App BMW enfocada a mostrar el estatus del auto y apoyar con la movilidad y mapas
- La App de Nubank, banco brasileño que inicio operaciones en 2013 y se está extendiendo ya a otros países.
Existe una gran cantidad de tutoriales para empezar en el desarrollo de Flutter con Dart, pero una herramienta que en lo particular me parece especialmente interesante es la titulada “Casual Games tools”.
Es una plantilla de App para juegos, disponible en el repositorio de ejemplos de Flutter, el cual incluye las siguientes mejoras preconstruidas:
- Menú principal
- Sonido y música
- Anuncios
- Compras desde la App
- Tableros de logros y récords
- Soporte de análisis de fallas
Existen varios ejemplos y tutoriales para el uso de juegos y animaciones, algunos de ellos son:
https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2#0
How to build a Match-3 game, like Candy Crush, Bejeweled, FishDom… in Flutter. https://www.didierboelens.com/2018/11/flutter-crush/
Bibliografía y fuentes utilizadas
Desarrollo de aplicaciones nativas. (2022). Recuperado 26 de septiembre de 2022, de Flutter website: https://esflutter.dev/
What is widgets in Flutter?. (Julio, 2022). Recuperado el 01 de octubre del 2022 de geeksforgeeks website: https://www.geeksforgeeks.org/
Comunidad FlutterES. (2022). Recuperado el 28 de septiembre de 2022, de FlutterES website: https://esflutter.dev/
Boelens, Didier. How to build a Match-3 game, like Candy Crush, Bejeweled, FishDom… in Flutter. Recuperado 31 de octubre de 2022, de https://www.didierboelens.com/2018/11/flutter-crush/
Awate, Isaias. An infinity procedural online game using Flutter with Firebase and flames. Recuperado el 31 de 2022 de https://morioh.com/p/ed907d0d1cc7

Comentarios