10/05/2019

Publicado el 10/05/2019

Flutter es una tecnología que está provocando justamente lo que significa su nombre en español: un gran revoloteo de opiniones y sensaciones entre la comunidad de desarrolladores web. Pero, ¿a qué se debe la emoción de muchos programadores por este kit de desarrollo de software que incluye un framework?

Lo primero es entender que durante los últimos años el desarrollo de aplicaciones móviles multiplataforma ha ido evolucionado de manera vertiginosa, buscando siempre una manera de recortar costes y generar una entrega rápida de las aplicaciones.

Sin embargo, el gran hándicap de este proceso rápido y low cost es que la calidad del producto en ocasiones no es tan buena como la de las aplicaciones nativas.

Uno de los aspectos afectados de manera negativa en este proceso es la fluidez de las vistas, ya que no se trata de aplicaciones compiladas a lenguaje nativo ARM, sino que de meras webviews (como  Ionic) o widgets OEM empaquetados en el dispositivo (como React Native y Native Script).

He allí la relevancia de un software development kit como Flutter, creado por Google.

¿Qué es Flutter?

Lo primero es entender en qué consiste esta nueva tecnología.

Flutter es una mezcla entre un framework y un Software Development Kit (SDK) que está construido en C y C++  para programar en lenguaje Dart.

Pero, ¿por qué Flutter califica como SDK? Esto se debe a que esta tecnología es un verdadero maletín virtual que integra, además del framework en sí, una serie de herramientas de producción, librerías, documentación y que, además, da mayor libertad a los desarrolladores para realizar colaboraciones.

Flutter compila tanto a Android (NDK) como IOS (LLVM). Además, Flutter trae su propio motor de renderizado, llamado Skia, el cual se incluye en la propia aplicación compilada,  lo que le da una velocidad constante de 60 fps.

Por otra parte, Flutter es de código abierto e incluye plug-ins de edición tanto para IntelliJ (Android Studio) como para Visual Studio Code. En este sentido, el open source suele fomentar las contribuciones por parte de otros desarrolladores web, lo que siempre añade valor a una nueva tecnología.

Otro dato de mucho interés es que Flutter es el framework pensado para desarrollar para Fuchsia, el nuevo sistema operativo de Google destinado a suceder a Android. Por esta razón, es fácil deducir que el abanico de plataformas para las que podamos desarrollar se verá ampliado en un futuro.

Pros y contras de trabajar con Flutter

Por ahora hemos hablado solo de ventajas, pero ¿cuáles son sus partes buenas y sus partes malas?

Pros de Flutter

  • Supera en prestaciones a todos los frameworks de desarrollo multiplataforma existentes. Esta ventaja competitiva se debe, en parte, a que Flutter cuenta con el apoyo de un gigante tecnológico como Google, el cual tiene la capacidad de brindar todos los recursos e incentivos necesarios para impulsar su crecimiento y desarrollo a corto y largo plazo.
  • Hot reload que facilita el desarrollo. Al hacer algún cambio en el código podrás ver sus efectos reflejados inmediatamente sin tener que compilar ni iniciar de nuevo el simulador.
  • Renderizado de vistas muy rápido y constante (60fps). Flutter se ha planteado objetivos de renderizado muy altos para ciertos dispositivos, lo que supera con creces a cualquier otra solución de desarrollo móvil cross-platform.
  • Programas en un solo lenguaje y compilado para 2 plataformas diferentes, lo que permite ahorrar tiempo y recursos.
  • Acceso al hardware de los móviles tales como la cámara, geolocalización, red, almacenamiento o a través de SDK’s  de terceros.

Contras de Flutter

  • Aprender el lenguaje Dart desde cero.
  • Por ahora solo se puede desarrollar aplicaciones en 2D.
  • Framework muy joven con poca comunidad, por lo que deberás afrontar los problemas que te encuentres con menos ayuda que en otros frameworks.
  • Está enfocado solo a móvil. Por ahora no podrás desarrollar para web o desktop de manera estable.

Como reflexión final podemos decir que Flutter es un gran avance para desarrollar aplicaciones para Android e IOS y obtener un resultado muy próximo al de las aplicaciones nativas. Todo indica que tiene un futuro prometedor, aunque el tiempo dirá si se consolida su propuesta.

De momento te invitamos a conocer los mejores frameworks de Javascript que puedes probar este año y que cuentan con una gran aceptación entre los desarrolladores de nuestro equipo. O bien echarle un vistazo a Svelte, un framework UI que está arrasando debido a su reactividad y capacidad de combatir el código boilerplate.

Foto perfil

Josep Caballero |

Full Stack Developer