fbpx
Logo de flutter plataforma de desarrollo de aplicaciones en aurestic

Flutter

¿Qué es Flutter?

Flutter es un SDK desarrollado por Google para crear aplicaciones móviles tanto para Android como para iOS (Apple). Fue desarrollado como un software para uso interno dentro de la compañía pero vieron el potencial que tenia y decidieron lanzarlo como proyecto de código libre. Actualmente es uno de los proyectos de desarrollo de aplicaciones móviles que más está creciendo. Además, desde la última versión estable, también es posible realizar aplicaciones Web y de escritorio para Windows y Mac. Aunque en estas dos plataformas aún está en fase experimental (beta).

Estas son las tres principales ventajas que ofrece Flutter respecto a otras frameworks de desarrollo de aplicaciones multiplataforma:

  1. Compila en nativo, tanto en Android como en iOS.
  2. La creación interfaces gráficas es muy flexible, puedes combinar diferentes Widgets (elementos gráficos) para crear las vistas.
  3. El desarrollo es muy rápido, permite ver el resultado de forma instantánea mientras se escribe el código.

¿Cómo funciona Flutter?

Explicado de forma muy simple, Flutter utiliza un motor gráfico, llamado Skia, que renderiza en 2D los elementos gráficos. Flutter está escrito en C, C++ y, mayormente, en Dart. De forma resumida, la capa del motor está escrito en C++ y la de los Widgets en Dart.

Widget es la palabra más repetida cuando se hace referencia a Flutter, se refiere a los elementos gráficos que componen una vista. Por ejemplo, un botón, un texto o una imagen. Aunque también hay Widgets más complejos que están formados por otros Widgets.

Flutter utiliza Dart como lenguaje de programación, también desarrollado por Google. Posiblemente, esta sea una desventaja, ya que Dart no es un lenguaje muy conocido ni usado por la comunidad de desarrolladores móviles (Swift, Objective-C, Kotlin, Java) y web (JavaScript, PHP, Java, Ruby…). Aunque es muy parecido a Java y C# (Microsoft), si se tiene experiencia con alguno de estos lenguajes es muy intuitivo empezar con Dart. Si bien es cierto que Dart aún no incluye características muy útiles de los nuevos lenguajes de programación como Swift y Kotlin, Google lo está evolucionando para facilitar el desarrollo con Flutter.

Flutter Interfaz de desarrollo de aplicaciones móviles

Sobre la configuración e Instalación

Para empezar a programar en Flutter se necesita un ordenador con Windows, Linux o Mac. Es sencillo; debes descargar Flutter desde la página web y seguir los pasos para configurarlo dependiendo del sistema operativo que tengas. Posteriormente, debes instalar Android Studio para instalar el SDK de Android y el editor de texto o IDE para empezar a programar en Dart. Actualmente, el IntelliJ IDEA, Android Studio y Visual Studio Code soportan los plugins oficiales de Dart y Flutter. Por lo que es recomendable utilizar alguno de estos programas.

Ten en cuenta que para compilar la app en iOS es necesario realizarlo desde un Mac con Xcode 9 o superior. En este caso, hay varios pasos adicionales en la instalación para configurarlo junto con Xcode. Los editores de código son los mismos que hemos comentado anteriormente.

Por último, y aunque Android Studio y Xcode tienen emuladores de diferentes versiones de Android e iOS, es recomendable utilizar dispositivos físicos para realizar pruebas y comprobar como te está quedando la app durante el desarrollo. Por que a veces surgen errores en los dispositivos físicos que en el emulador no aparecen. Además, hay funciones que no pueden probarse en el simulador, como por ejemplo las notificaciones push en iOS.

¿Cuáles son las alternativas a Flutter?

En un primer momento, Flutter es comparado con React Native, porque ambas plataformas usan la programación reactiva. De hecho, hay numerosos artículos que los comparan e incluso intentan predecir si Flutter reemplazaría totalmente a React Native. Pero aunque sean plataformas parecidas, cada una tiene su enfoque y utilidad para crear Apps. En estos momentos Google está corrigiendo bugs e incluyendo nuevas funciones a Flutter bastante rápido, mientras que el progreso de React Native está un poco estancado. Hace poco que se lanzó la versión 0.6 con algunas mejoras.

En cuanto a las WebApps (Cordoba / PhoneGap), tienen un enfoque totalmente distinto. Las WebApps están escritas en código HTML, CSS y JavaScript, y realmente la aplicación emula a un navegador web donde se ejecuta el código.

Xamarin es la alternativa a tener en cuanta si se quiere compilar en nativo. Fue comprada por Microsoft y permite crear aplicaciones para Android, iOS y Windows Phone, aunque Microsoft ya ha comunicado que dejará el desarrollo de este sistema operativo móvil. El IDE que es utiliza es el Visual Studio y se programa en C#. Tiene la particularidad que permite crear proyectos multiplataforma, Xamarin Forms, o crear un proyecto para una plataforma en concreto, por ejemplo, crear una app para Android con C#. Como en el caso de Flutter, para crear aplicaciones en iOS es neceario hacerlo desde un Mac o tener acceso a un Mac desde el PC (Windows). Visual Studio está disponible para Windows y Mac (versión creada a partir de Mono), no está disponible para Linux.

¿Qué hacemos en AuresTic con Flutter?

En Aures apostamos hace tiempo por Flutter para el desarrollo de nuestras aplicaciones multiplataforma y las de nuestros clientes. Empezamos trabajando con la versión beta 0,5 y desde entonces hemos creado aplicaciones con diferentes finalidades y usuarios. Algunas de ellas ya están publicadas en la Google Play Store y en la App Store para iOS.

Diferentes sectores como las asesorías y el turismo con empresas de alquiler de coches vacacionales, transporte en autobús, así como también diferentes empresas industriales han decidido incursionar en la transformación digital incluyendo las aplicaciones móviles como un activo más de sus empresas que aporta ya no solo un valor económico, gracias a la automatización de procesos o la disminución en los tiempos de atención y entregas al cliente; sino también, un nuevo medio de comunicación, prestigio e imagen de innovación, diferenciación y por ende una ventaja significativa frente a la competencia.


No hay comentarios

Sorry, the comment form is closed at this time.