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