Framework de codigo abierto creado por Google para contruir aplicaciones multi plataforma con un mismo codigo base. https://flutter.dev/
Caracteristicas
- Compilacion nativa
- La creacion de interfaces graficas, es muy flexible mediante widgets (elementos graficos).
- Flutter nos permite desarrollar aplicaciones más rápido proporcionándonos un conjunto de herramientas con el fin de agilizar y mejorar tanto el desarrollo como el rendimiento de la aplicación.
Stateful Hot Reload
Stateful Hot Reaload (recarga en caliente) nos permite realizar cambios en nuestro código y que estos se reflejan instantáneamente en la vista previa de nuestra aplicación ya sea con simulador o con dispositivo en modo de prueba. Con Hot Reload aumentamos la velocidad de desarrollo y nos puede llegar a hacer hasta 3 veces más productivos.
Skia, el motor de gráficos 2D
Flutter renderiza su interfaz y no se lo deja a la plataforma, como sí pasa con 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.
Skia https://skia.org/
Open Source
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.
Repositorio: https://github.com/flutter/flutter
Más atractivas
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.
Productivo
Flutter nos permitirá generar aplicaciones multiplataforma (tanto para móviles, desktop y web). Hasta para 6 plataformas a partir de tan solo una única base de código escrita en Dart.
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 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.
Debes descargar Flutter desde la página web o como extension para android studio o vusial studio code y seguir los pasos para configurarlo dependiendo del sistema operativo que tengas.
Ten en cuenta que para compilar la app en IOS es necesario realizarlo desde un Mac con Xcode. 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 probar con frecuencia en dispositivos físicos 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.
¿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 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 cuenta si se quiere compilar en nativo. Fue comprada por Microsoft y permite crear aplicaciones para Android, iOS. 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, no está disponible para Linux.