Artwork

Contenido proporcionado por Diego Laballós. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Diego Laballós o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.
Player FM : aplicación de podcast
¡Desconecta con la aplicación Player FM !

71. ¿Qué es Flutter?

15:17
 
Compartir
 

Series guardadas ("Feed inactivo" status)

When? This feed was archived on February 04, 2022 02:10 (2y ago). Last successful fetch was on August 03, 2021 05:49 (2+ y ago)

Why? Feed inactivo status. Nuestros servidores no pudieron recuperar un podcast válido durante un período sostenido.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 207721420 series 1911761
Contenido proporcionado por Diego Laballós. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Diego Laballós o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

Primero, debemos enmarcar a Flutter, dentro de las categorías de apps que conocemos hasta ahora.

Como ya hemos visto, tenemos 2 categorías, en función de cómo hagamos el desarrollo: aplicaciones nativas y aplicaciones híbridas. Las aplicaciones nativas, son las que se desarrollan específicamente para un sistema operativo, mientras que las híbridas, permiten un solo proyecto para ambos sistemas a la vez.

Así que, Flutter, no es más que un tipo de tecnología híbrida, diferente a lo que se tiene hasta ahora. Quizás, lo que más se le pueda acercar sea Xamarin.

En la página de Flutter, se le describe como una tecnología de Google, para crear aplicaciones con una interfaz de gran calidad y nativa para Android y iOS en tiempo récord. Yo creo que lo describe bastante bien.

Lo que vamos a ver ahora, son las principales ventajas y desventajas que ofrece esta tecnología con respecto a las otras.

Puedes crear un solo proyecto para dos sistemas operativos

Esta es la ventaja más obvia y es característica de todas las tecnologías híbridas. Lo relevante de esta ventaja es que, con un solo equipo, o una sola persona si el proyecto no es muy grande, es posible crear un proyecto para Android y iOS.

No es necesario tener más de una persona, o dos equipos para esta tarea. Para mí, esto es algo que debería haber existido desde un principio.

No obstante, en mi opinión, lo que actualmente se hace con las aplicaciones nativas, es algo anti-natural porque básicamente, lo que estamos haciendo es repetir la misma cosa en dos sitios distintos. Por ejemplo, si queremos que nuestra aplicación tome una foto y la suba a cierto servidor, tendríamos que hacerlo dos veces, para cada sistema operativo.
Es importante notar que, en programación, el tener que repetir las cosas no es algo bueno. Y, sin embargo, es justo esto lo que se está haciendo con las tecnologías nativas. Por lo tanto, la opción de usar tecnologías híbridas viene a resolver este problema del doble trabajo

El caso es que, además de evitar repetir la programación, el hecho de usar solo un proyecto, reduce el tiempo y el coste del desarrollo. Esto es obvio, ya que si usas menos personal, reducirás los costes.

Hot Reloading

Este es un concepto bastante técnico, pero lo vamos a explicar de una forma muy sencilla. El problema que tienen hoy en día las aplicaciones nativas (y quizás más exagerado en Android), es que cada vez que quieres hacer un cambio, tardas mucho en ver los resultados.

Por ejemplo, si en una aplicación, quieres que un botón, en vez de sacar fotos, ahora indique la posición GPS; o si simplemente quieres cambiar lo que dice un texto, etc; puedes tardar varios minutos en ver reflejado ese cambio.

Es decir, si haces el cambio, y quieres tener una vista previa de ese cambio, no podrás verlo de manera inmediata. Si acumulas todos los cambios que realizar, terminas por gastar demasiado tiempo; básicamente, estarías gastando un cuarto de tu jornada laboral solo para que la aplicación se recopile y puedas ver el nuevo cambio en tu dispositivo. Pierdes tiempo, y te hace menos productivo como programador.

Por lo tanto, el concepto de hot reloading, permite que este tiempo de espera, se reduzca a 2-3 segundos. Cada vez que haces un cambio en el código, podrás ver los resultados en la pantalla en ese tiempo.

Esto, si lo haces acumulativamente, te permite ser mucho más productivo, y hace la programación mucho más divertida y menos pesada.

Flutter tiene calidad nativa

Aún hoy en día, este un gran problema en muchas de las tecnologías híbridas que existen actualmente. La idea es muy bonita, pero al final la calidad no es la misma.

Por ejemplo, cuando haces scroll en una lista muy grande, la aplicación no acaba de funcionar del todo bien. Esto, se debe a la forma en la que se basan ciertas tecnologías híbridas. No pueden emular la calidad de las tecnologías nativas.

Sin embargo, Flutter es distinto y evita estas pérdidas de calidad. Flutter, se traduce a un idioma que entiende directamente el móvil, lo que permite que se logre una calidad casi exacta a las tecnologías nativas.

Con lo cual, tenemos una aplicación híbrida, con una calidad nativa, que era uno de los puntos más conflictivos de las otras tecnologías híbridas.

De forma que, si podemos crear una aplicación híbrida, útil para todos los sistemas, con una calidad nativa, ¿Por qué no hacerlo?

Las interfaces son muy bonitas por defecto

Las imágenes, los botones, el diseño por defecto, etc., son muy bonitos. Esto se debe a que está basado en Material Design, un lenguaje de diseño moderno, de Google y que está actualizado a lo que vemos en las aplicaciones hoy en día.

Por lo tanto, incluso utilizando los diseños por defecto de Flutter, va a brindarte una app muy bonita para el usuario.

Fácilmente personalizable

Con Flutter, es muy fácil convertir ese diseño que ha creado un diseñador en algo real que se muestre tal cual. Esto, en las aplicaciones nativas y algunas híbridas, es mucho más difícil de conseguir. Se puede hacer, pero se requiere hacer muchos cambios, tocar código, y puede que sea imposible conseguir el mismo resultado.

Con Flutter, la personalización no es fácil, pero sí mucho más sencillo que en otras tecnologías. Por tanto, podemos plasmar mucho mejor esos diseños originalmente pensados para las pantallas de la aplicación.

Por otra parte, aunque Flutter, va a mostrar casi por defecto la misma interfaz de usuario, tanto para Android como para iOS, podemos muy fácilmente cambiar ese diseño para que el diseño de la aplicación se vea para Android o para iOS.

Ahora veamos las desventajas, puesto que absolutamente todas las tecnologías tienen también desventajas.

El lenguaje con el que se programa Flutter

Flutter, se programa con Dart y, este fue creado a su vez por Google hace ya un tiempo. Sin embargo, con el auge de Flutter ha cobrado mayor popularidad. De hecho, antes no era tan conocido. De hecho, ni siquiera yo había oído de él.

Esto hace que no mucha gente sepa Dart, y por lo tanto, pocas personas pueden programar en Flutter. En resumen, será difícil encontrar programadores que sepan Flutter.

No obstante, debemos decir dos cosas importantes de Dart. En primer lugar, es muy fácil de entender y aprender ya que se parece mucho a lenguajes modernos (Kotlin, Swift…). Ni siquiera difiere mucho de JavaScript. Es muy sencillo entender el código y la documentación del lenguaje.

Por otro lado, es un lenguaje bastante moderno. De hecho, ya sacaron la versión 2 del lenguaje y se contemplan muchos conceptos utilizados en los lenguajes modernos y que hacen mucho más sencilla, rápida e intuitiva la programación en cualquier tipo de software.

No es una tecnología madura

Flutter, a día de hoy, sigue estando en fase beta. Es decir, no está en fase de producción. Incluso, hasta podríamos decir que Google no recomienda utilizarlo. Pero esto no es del todo así, ya que muchas aplicaciones lo están utilizando en producción, siendo muy estable.
Sin embargo, las herramientas podrían mejorarse en ciertos puntos. El tema es que es una tecnología muy buena, lo que implica que puede haber fallos y cierta lentitud.

Pero debemos notar que esta desventaja es temporal, ya que en unos cuantos meses, cuando el framework de Flutter esté más rodado, todas esas pequeñas desventajas características de una tecnología nueva, van a ir desapareciendo poco a poco, lo que estabilizará la tecnología.

Quién está usando Flutter a día de hoy

Una vez, vistas las ventajas y desventajas, procedamos a ver quienes son los usuarios de Flutter hoy en día; y si es una tecnología con buena perspectiva a futuro.

Lo que nos dice esto, es que Flutter ya se está utilizando en producción, y en aplicaciones muy importantes. De hecho, Google ya lo está utilizando en muchos productos internos. De hecho, Flutter había sido desarrollado en principio para utilizarse internamente, pero, al final, decidieron sacarlo al público.

Asimismo, hay que decir que, en la comunidad de desarrolladores, Flutter tiene muy buena aceptación y feeling de las perspectivas futuras de esta tecnología. En mi opinión, los desarrolladores consideran que es muy atractiva, sobre todo por las cuestiones del Hot Reloading y el uso de lenguajes modernos.

Cuándo usarlo y cuando no

La verdad, es que depende del tipo de desarrollo, pero lo que yo veo es que en la gran mayoría de aplicaciones podría encajar.

Flutter no va a reemplazar a las aplicaciones nativas; siempre van a existir en tanto existan plataformas como Android y iOS, y evidentemente, van a tener sus propios desarrollos nativos. Esto es básicamente porque Flutter se apoya en ellos para acceder al hardware del dispositivo. Tienes que programar en nativo si encuentras el plug-in hecho por la comunidad.

Yo diría que, si tienes una aplicación nativa bastante grande, no vale la pena pasarte a Flutter, porque vas a tener que reescribir toda la aplicación, por lo menos a día de hoy.

Sin embargo, si estás empezando un proyecto totalmente nuevo y no depende mucho del dispositivo, por ejemplo, cuando tienes una aplicación que hace según qué cosas con la cámara, quizás te merezca la pena usar una tecnología nativa.

Pero si quieres hacer una aplicación nueva que no hace un uso muy intenso del hardware del equipo, la gran mayoría de aplicaciones podrían encajar dentro de Flutter, ya que como dije te va a permitir reducir el tiempo y el coste de desarrollo que es vital.

The post 71. ¿Qué es Flutter? appeared first on Diego Laballós.

  continue reading

100 episodios

Artwork

71. ¿Qué es Flutter?

Creando Apps

15 subscribers

published

iconCompartir
 

Series guardadas ("Feed inactivo" status)

When? This feed was archived on February 04, 2022 02:10 (2y ago). Last successful fetch was on August 03, 2021 05:49 (2+ y ago)

Why? Feed inactivo status. Nuestros servidores no pudieron recuperar un podcast válido durante un período sostenido.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 207721420 series 1911761
Contenido proporcionado por Diego Laballós. Todo el contenido del podcast, incluidos episodios, gráficos y descripciones de podcast, lo carga y proporciona directamente Diego Laballós o su socio de plataforma de podcast. Si cree que alguien está utilizando su trabajo protegido por derechos de autor sin su permiso, puede seguir el proceso descrito aquí https://es.player.fm/legal.

Primero, debemos enmarcar a Flutter, dentro de las categorías de apps que conocemos hasta ahora.

Como ya hemos visto, tenemos 2 categorías, en función de cómo hagamos el desarrollo: aplicaciones nativas y aplicaciones híbridas. Las aplicaciones nativas, son las que se desarrollan específicamente para un sistema operativo, mientras que las híbridas, permiten un solo proyecto para ambos sistemas a la vez.

Así que, Flutter, no es más que un tipo de tecnología híbrida, diferente a lo que se tiene hasta ahora. Quizás, lo que más se le pueda acercar sea Xamarin.

En la página de Flutter, se le describe como una tecnología de Google, para crear aplicaciones con una interfaz de gran calidad y nativa para Android y iOS en tiempo récord. Yo creo que lo describe bastante bien.

Lo que vamos a ver ahora, son las principales ventajas y desventajas que ofrece esta tecnología con respecto a las otras.

Puedes crear un solo proyecto para dos sistemas operativos

Esta es la ventaja más obvia y es característica de todas las tecnologías híbridas. Lo relevante de esta ventaja es que, con un solo equipo, o una sola persona si el proyecto no es muy grande, es posible crear un proyecto para Android y iOS.

No es necesario tener más de una persona, o dos equipos para esta tarea. Para mí, esto es algo que debería haber existido desde un principio.

No obstante, en mi opinión, lo que actualmente se hace con las aplicaciones nativas, es algo anti-natural porque básicamente, lo que estamos haciendo es repetir la misma cosa en dos sitios distintos. Por ejemplo, si queremos que nuestra aplicación tome una foto y la suba a cierto servidor, tendríamos que hacerlo dos veces, para cada sistema operativo.
Es importante notar que, en programación, el tener que repetir las cosas no es algo bueno. Y, sin embargo, es justo esto lo que se está haciendo con las tecnologías nativas. Por lo tanto, la opción de usar tecnologías híbridas viene a resolver este problema del doble trabajo

El caso es que, además de evitar repetir la programación, el hecho de usar solo un proyecto, reduce el tiempo y el coste del desarrollo. Esto es obvio, ya que si usas menos personal, reducirás los costes.

Hot Reloading

Este es un concepto bastante técnico, pero lo vamos a explicar de una forma muy sencilla. El problema que tienen hoy en día las aplicaciones nativas (y quizás más exagerado en Android), es que cada vez que quieres hacer un cambio, tardas mucho en ver los resultados.

Por ejemplo, si en una aplicación, quieres que un botón, en vez de sacar fotos, ahora indique la posición GPS; o si simplemente quieres cambiar lo que dice un texto, etc; puedes tardar varios minutos en ver reflejado ese cambio.

Es decir, si haces el cambio, y quieres tener una vista previa de ese cambio, no podrás verlo de manera inmediata. Si acumulas todos los cambios que realizar, terminas por gastar demasiado tiempo; básicamente, estarías gastando un cuarto de tu jornada laboral solo para que la aplicación se recopile y puedas ver el nuevo cambio en tu dispositivo. Pierdes tiempo, y te hace menos productivo como programador.

Por lo tanto, el concepto de hot reloading, permite que este tiempo de espera, se reduzca a 2-3 segundos. Cada vez que haces un cambio en el código, podrás ver los resultados en la pantalla en ese tiempo.

Esto, si lo haces acumulativamente, te permite ser mucho más productivo, y hace la programación mucho más divertida y menos pesada.

Flutter tiene calidad nativa

Aún hoy en día, este un gran problema en muchas de las tecnologías híbridas que existen actualmente. La idea es muy bonita, pero al final la calidad no es la misma.

Por ejemplo, cuando haces scroll en una lista muy grande, la aplicación no acaba de funcionar del todo bien. Esto, se debe a la forma en la que se basan ciertas tecnologías híbridas. No pueden emular la calidad de las tecnologías nativas.

Sin embargo, Flutter es distinto y evita estas pérdidas de calidad. Flutter, se traduce a un idioma que entiende directamente el móvil, lo que permite que se logre una calidad casi exacta a las tecnologías nativas.

Con lo cual, tenemos una aplicación híbrida, con una calidad nativa, que era uno de los puntos más conflictivos de las otras tecnologías híbridas.

De forma que, si podemos crear una aplicación híbrida, útil para todos los sistemas, con una calidad nativa, ¿Por qué no hacerlo?

Las interfaces son muy bonitas por defecto

Las imágenes, los botones, el diseño por defecto, etc., son muy bonitos. Esto se debe a que está basado en Material Design, un lenguaje de diseño moderno, de Google y que está actualizado a lo que vemos en las aplicaciones hoy en día.

Por lo tanto, incluso utilizando los diseños por defecto de Flutter, va a brindarte una app muy bonita para el usuario.

Fácilmente personalizable

Con Flutter, es muy fácil convertir ese diseño que ha creado un diseñador en algo real que se muestre tal cual. Esto, en las aplicaciones nativas y algunas híbridas, es mucho más difícil de conseguir. Se puede hacer, pero se requiere hacer muchos cambios, tocar código, y puede que sea imposible conseguir el mismo resultado.

Con Flutter, la personalización no es fácil, pero sí mucho más sencillo que en otras tecnologías. Por tanto, podemos plasmar mucho mejor esos diseños originalmente pensados para las pantallas de la aplicación.

Por otra parte, aunque Flutter, va a mostrar casi por defecto la misma interfaz de usuario, tanto para Android como para iOS, podemos muy fácilmente cambiar ese diseño para que el diseño de la aplicación se vea para Android o para iOS.

Ahora veamos las desventajas, puesto que absolutamente todas las tecnologías tienen también desventajas.

El lenguaje con el que se programa Flutter

Flutter, se programa con Dart y, este fue creado a su vez por Google hace ya un tiempo. Sin embargo, con el auge de Flutter ha cobrado mayor popularidad. De hecho, antes no era tan conocido. De hecho, ni siquiera yo había oído de él.

Esto hace que no mucha gente sepa Dart, y por lo tanto, pocas personas pueden programar en Flutter. En resumen, será difícil encontrar programadores que sepan Flutter.

No obstante, debemos decir dos cosas importantes de Dart. En primer lugar, es muy fácil de entender y aprender ya que se parece mucho a lenguajes modernos (Kotlin, Swift…). Ni siquiera difiere mucho de JavaScript. Es muy sencillo entender el código y la documentación del lenguaje.

Por otro lado, es un lenguaje bastante moderno. De hecho, ya sacaron la versión 2 del lenguaje y se contemplan muchos conceptos utilizados en los lenguajes modernos y que hacen mucho más sencilla, rápida e intuitiva la programación en cualquier tipo de software.

No es una tecnología madura

Flutter, a día de hoy, sigue estando en fase beta. Es decir, no está en fase de producción. Incluso, hasta podríamos decir que Google no recomienda utilizarlo. Pero esto no es del todo así, ya que muchas aplicaciones lo están utilizando en producción, siendo muy estable.
Sin embargo, las herramientas podrían mejorarse en ciertos puntos. El tema es que es una tecnología muy buena, lo que implica que puede haber fallos y cierta lentitud.

Pero debemos notar que esta desventaja es temporal, ya que en unos cuantos meses, cuando el framework de Flutter esté más rodado, todas esas pequeñas desventajas características de una tecnología nueva, van a ir desapareciendo poco a poco, lo que estabilizará la tecnología.

Quién está usando Flutter a día de hoy

Una vez, vistas las ventajas y desventajas, procedamos a ver quienes son los usuarios de Flutter hoy en día; y si es una tecnología con buena perspectiva a futuro.

Lo que nos dice esto, es que Flutter ya se está utilizando en producción, y en aplicaciones muy importantes. De hecho, Google ya lo está utilizando en muchos productos internos. De hecho, Flutter había sido desarrollado en principio para utilizarse internamente, pero, al final, decidieron sacarlo al público.

Asimismo, hay que decir que, en la comunidad de desarrolladores, Flutter tiene muy buena aceptación y feeling de las perspectivas futuras de esta tecnología. En mi opinión, los desarrolladores consideran que es muy atractiva, sobre todo por las cuestiones del Hot Reloading y el uso de lenguajes modernos.

Cuándo usarlo y cuando no

La verdad, es que depende del tipo de desarrollo, pero lo que yo veo es que en la gran mayoría de aplicaciones podría encajar.

Flutter no va a reemplazar a las aplicaciones nativas; siempre van a existir en tanto existan plataformas como Android y iOS, y evidentemente, van a tener sus propios desarrollos nativos. Esto es básicamente porque Flutter se apoya en ellos para acceder al hardware del dispositivo. Tienes que programar en nativo si encuentras el plug-in hecho por la comunidad.

Yo diría que, si tienes una aplicación nativa bastante grande, no vale la pena pasarte a Flutter, porque vas a tener que reescribir toda la aplicación, por lo menos a día de hoy.

Sin embargo, si estás empezando un proyecto totalmente nuevo y no depende mucho del dispositivo, por ejemplo, cuando tienes una aplicación que hace según qué cosas con la cámara, quizás te merezca la pena usar una tecnología nativa.

Pero si quieres hacer una aplicación nueva que no hace un uso muy intenso del hardware del equipo, la gran mayoría de aplicaciones podrían encajar dentro de Flutter, ya que como dije te va a permitir reducir el tiempo y el coste de desarrollo que es vital.

The post 71. ¿Qué es Flutter? appeared first on Diego Laballós.

  continue reading

100 episodios

Todos los episodios

×
 
Loading …

Bienvenido a Player FM!

Player FM está escaneando la web en busca de podcasts de alta calidad para que los disfrutes en este momento. Es la mejor aplicación de podcast y funciona en Android, iPhone y la web. Regístrate para sincronizar suscripciones a través de dispositivos.

 

Guia de referencia rapida