Tutorial Flutter de Google | Aprende a programar con Flutter - IONOS

SDK

¿Te gustaría aprender Desarrollo de Apps Móviles con Flutter?
Tenemos los diplomados que necesitas. ¡Haz clic aquí!

En este post, analizaremos qué es Flutter, el SDK de Google que nos permitirá desarrollar aplicaciones multiplataforma (cross-platform) con rendimiento nativo para hasta 6 plataformas: web, móvil (Android e iOS) y desktop (Windows, Linux y Macintosh). Todo ello, mediante a un único bloque de código escrito en Dart, el famoso lenguaje de programación de Google.

En el artículo anterior hablamos de los distintos tipos de caminos/enfoques que podemos escoger a la hora de desarrollar una app para mobile. Una vez ya estamos familiarizados con los distintos tipos de aplicaciones móviles y, además, conocemos los pros y contras de cada uno de los tipos, tomad asiento porque os vamos a presentar a ¡un todoterreno! Nada más y nada menos que una “bestia parda” como es Flutter, el framework de Google.

¿Qué es Flutter? Breve historia

Flutter es un framework que nos proporciona un toolkit (conjunto de herramientas) que tienen como finalidad el crear interfaces de software. Creado por Google, se presentó en 2015, aunque su lanzamiento no se produjo hasta 2018. En sus inicios, Flutter fue desarrollado para realizar apps que pudieran ejecutarse tanto en Android como en iOS (por tanto, estaba enfocado a desarrollar aplicaciones híbridas) con rendimiento nativo.

Ya en marzo de 2021 y, durante la Flutter Engage, Google lanza su versión 2 (para muchos conocida como Flutter 2). La cual está cargada de novedades, pero es totalmente compatible con la versión anterior. Y si la primera versión ya tenía grandes beneficios, esta segunda versión es la gran culpable de que os hayamos presentado este framework como un todoterreno y como una “bestia parda”.

Desarrollando con Flutter - Código Base

Ya que, Flutter 2 nos permite realizar aplicaciones multiplataforma hasta para 6 plataformas utilizando Dart como lenguaje de programación (también creado por Google y OpenSource).

Tener a un gigante como Google como creador del framework se traduce en un seguro de vida, una garantía de confianza, que nos asegurará el mantenimiento con constantes contribuciones.

Características de Flutter

No podemos hablar de Flutter sin detenernos a explicar sus cuatro grandes pilares, sus cuatro grandes características, que son:

Fast (rápido / veloz)

Flutter nos permite desarrollar aplicaciones más rápido proporcionándonos un conjunto de herramientas con el fin de agilizar/mejorar tanto el desarrollo como el rendimiento de la aplicación.

Herramientas que mejoran el desarrollo de la aplicación:

Stateful Hot Reload de Flutter SDK

Stateful Hot Reaload (recarga en caliente con estado) nos permite realizar cambios en nuestro código y que estos se reflejan instantáneamente en la vista previa de nuestra aplicación. Con Hot Reload aumentamos la velocidad de desarrollo y nos puede llegar a hacer hasta 3 veces más productivos.

What Does a Dart and Flutter Developer Do?

Herramientas que mejoran el rendimiento de la app:

Compilación JIT vs. OAT con Dart

Con anterioridad, se han presentado muchos frameworks cuya finalidad es la de intentar buscar un rendimiento excelente. Pero la gran mayoría, por una cosa u otra, no llegan a cumplir lo que prometen ya que se basan en el uso de webviews, etc., que de una manera u otra acaban penalizando/ralentizando el rendimiento de la aplicación.

En cambio, Flutter tiene un rendimiento nativo y el gran culpable de ello es Dart, un lenguaje de programación creado por Google que realiza dos tipos de compilación dependiendo del objetivo que tengamos en cada momento:

Inicialmente durante el desarrollo de una aplicación, Flutter realiza la compilación JIT (Just In Time). Este tipo de forma de ejecutar el código implica que la compilación de un programa se realiza durante su propia ejecución y no previamente a su ejecución. Esto es lo que permite que utilicemos herramientas como la recarga en caliente (Stateful Hot Reload) y que podamos visualizar los cambios a tiempo real. En este primer tipo de compilación se requiere que el código sea interpretado por una máquina virtual.

Más tarde, ya cuando tenemos listo el desarrollo de nuestra aplicación y queremos preparar la aplicación (realizar una release), el código se compila esta vez con anticipación (OAT), es decir, previamente a su ejecución, convirtiendo el código escrito en Dart a código nativo. Con el fin de obtener un mejor rendimiento en el dispositivo, reducir su tamaño al mínimo que se pueda y eliminar otras cosas que únicamente son útiles durante el modo de desarrollo. En este segundo tipo de compilación no se requiere el uso de una máquina virtual para interpretar el código ya que lo hace el dispositivo directamente.

Flutter: aplicaciones móviles multiplataforma más rápidas | Swapps

Skia, el motor de gráficos 2D

Otra herramienta que tiene como finalidad mejorar el rendimiento es Skia. Flutter renderiza su interfaz y no se lo deja a la plataforma, como sí pasa en otros frameworks, permitiéndonos hacer aplicaciones con altos FPS (Fotogramas Por Segundo) utilizando Skia para su renderizado.

Skia, es una biblioteca de renderizado de gráficos 2D (escrita en C++) la cual únicamente necesita un único lienzo (Canvas), que contiene todo lo que está ejecutando Flutter y en la que añadimos los elementos de nuestra interfaz. Provocando que nuestras aplicaciones sean muy veloces y que consuman muy pocos recursos.

Canvas, es un elemento que se introdujo en HTML que nos permite generar gráficos dinámicamente mediante nuestro código.

Open (abierto) SDK

Tanto Flutter como Dart son OpenSource, ambos son de código abierto. Pero también, a su vez, podemos afirmar que la comunidad de Flutter es muy abierta, lo que provoca que constantemente se genere una gran cantidad de documentación gracias a los aportes de Google combinados con los del resto de la comunidad de desarrolladores. Todo este trabajo por parte de la comunidad, provoca que se siga incrementado la popularidad de este SDK.

Beautiful (apps hermosas / bellas)

Con Flutter podemos diseñar aplicaciones con interfaces desde muy sencillas hasta interfaces muy vistosas y expresivas. Que, como podéis ver en la imagen son muy bellas y, en caso de tener una necesidad muy concreta, pueden ser enormemente personalizadas.

Productive (productivo) SDK

Flutter nos permitirá generar aplicaciones multiplataforma (tanto para móviles, desktop y web). Como hemos dicho anteriormente, hasta para 6 plataformas a partir de tan solo una única base de código escrita en Dart.

Te invitamos a ver todos nuestros artículos que tenemos para ti, coméntanos que tal te pareció este articulo y compártelo con más personas.

¿Te gustaría aprender Desarrollo de Apps Móviles con Flutter?
Tenemos los diplomados que necesitas. ¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?