El fin de nuestro recorrido hacia el desarrollo de la IU multiplataforma en teléfonos, computadoras de escritorio y la Web
Nos complace anunciar el lanzamiento de Flutter 3 como parte de la presentación de Google I/O. Flutter 3 completa nuestro paso de un marco de trabajo centrado en dispositivos móviles a uno multiplataforma, con compatibilidad con apps de escritorio macOS y Linux, además de mejoras en la integración de Firebase, nuevas funciones de productividad y rendimiento, y compatibilidad con Apple Silicon.

El recorrido hacia Flutter 3
Comenzamos Flutter como un intento de revolucionar el desarrollo de apps: combinamos el modelo de desarrollo repetitivo de la Web con la renderización de gráficos acelerada por hardware y el control a nivel de píxeles, que antes eran exclusivos de los juegos. Durante los últimos cuatro años desde la versión beta de Flutter 1.0, compilamos de forma gradual sobre esta base, agregando nuevas capacidades de marco de trabajo y nuevos widgets, una integración más profunda con las plataformas subyacentes, una gran biblioteca de paquetes y muchas mejoras de rendimiento y herramientas.

A medida que el producto maduraba, más desarrolladores comenzaron a usarlo para compilar apps. Hoy en día, existen más de 500 000 apps publicadas con Flutter. Los análisis de empresas de investigación como data.ai, junto con los testimonios públicos, demuestran que una amplia lista de clientes usan Flutter en muchos ámbitos: desde apps de redes sociales como WeChat hasta apps financieras y bancarias como Betterment y Nubank; desde apps comerciales como SHEIN y trip.com hasta apps de estilo de vida como Fastic y Tabcorp; desde apps complementarias como My BMW hasta instituciones públicas como el gobierno de Brasil.

https://www.youtube.com/watch?v=8RmsstcNE1Y
Los desarrolladores nos cuentan que Flutter ayuda a compilar apps atractivas de forma más rápida para más plataformas. Nuestro estudio de usuarios reciente demostró lo siguiente:
91% de los desarrolladores coincidieron en que Flutter redujo el tiempo de compilación y publicación de una app.
85% de los desarrolladores coincidieron en que Flutter hizo que sus apps se vieran más atractivas que antes.
85% coincidió en que les permitió publicar sus apps para más plataformas que antes.
En una entrada de blog reciente de Sonos sobre su experiencia de configuración renovada, se recalcó este segundo punto.
“No es una exageración decir que [Flutter] desbloqueó un grado ‘premium’ diferente a todo lo que nuestro equipo entregó antes. Lo más importante para nuestros diseñadores es la facilidad con la que se pueden crear nuevas IU, ya que significa que nuestro equipo dedica menos tiempo a decir ‘no’ a las especificaciones y más tiempo a aplicar iteraciones en ellas. Si esto parece valer la pena, te recomendamos que pruebes Flutter. Nosotros nos alegramos de haberlo hecho”.
Presentación de Flutter 3
Hoy presentamos Flutter 3, que es el fin de nuestro recorrido para completar las plataformas compatibles con Flutter. Con Flutter 3, puedes compilar experiencias atractivas para seis plataformas a partir de una sola base de código, brindar a los desarrolladores una productividad sin precedentes y permitir que las startups aporten nuevas ideas al mercado accesible desde el primer día.
En versiones anteriores, complementamos iOS y Android con la Web y la compatibilidad con Windows, y ahora Flutter 3 agrega compatibilidad estable con las apps de macOS y Linux. Agregar compatibilidad con la plataforma no es tan solo renderizar píxeles: incluye nuevos modelos de entrada e interacción, compatibilidad con la recopilación y compilación, accesibilidad e internacionalización e integración específica de la plataforma. Nuestro objetivo es brindarte flexibilidad para que aproveches el sistema operativo subyacente mientras compartes tantos elementos de IU y lógica como quieras.
En macOS, invertimos en la compatibilidad con Intel y Apple Silicon, con la compatibilidad con Universal Binary, que permite a las apps empaquetar ejecutables que se ejecutan de forma nativa en ambas arquitecturas. En Linux, Canonical y Google colaboraron para ofrecer la mejor opción de desarrollo altamente integrada.
Un buen ejemplo de cómo Flutter permite disfrutar de experiencias de escritorio atractivas es Superlist, cuya versión beta se lanza hoy. Superlist brinda colaboración sobrealimentada mediante una nueva app que combina listas, tareas y contenido de forma libre en una nueva versión de las listas de tareas pendientes y la planificación personal. El equipo de Superlist eligió Flutter por su capacidad para ofrecer una experiencia de escritorio rápida y de gran marca, y creemos que su progreso hasta la fecha acredita por qué demostró ser una excelente opción.

https://www.youtube.com/watch?v=YRuQj7mlH2I&feature=youtu.be
Flutter 3 también mejora muchos de los aspectos básicos, gracias al rendimiento mejorado, la compatibilidad con Material You y las actualizaciones de productividad.
Además del trabajo ya mencionado, con esta versión Flutter es totalmente nativa en Apple Silicon para el desarrollo. Si bien Flutter es compatible desde su lanzamiento con dispositivos Apple con tecnología M1, ahora aprovecha al máximo la compatibilidad de Dart con Apple Silicon, lo que permite una compilación mucho más rápida en dispositivos con tecnología M1 y compatibilidad con binarios universales para apps de macOS.
Nuestro trabajo para Material Design 3 está prácticamente completo en esta versión, lo que permite a los desarrolladores aprovechar un sistema de diseño multiplataforma adaptable que ofrece esquemas de colores dinámicos y componentes visuales actualizados:

En nuestra entrada de blog técnica y detallada se explican estas y muchas otras funciones nuevas en Flutter 3.
Flutter funciona con Dart, un lenguaje portátil de alta productividad para el desarrollo multiplataforma. En este ciclo, nuestro trabajo en Dart incluye nuevas funciones de lenguaje que reducen el código estándar y ayudan a la legibilidad, compatibilidad con RISC-V experimental, un linter actualizado y nueva documentación. Para obtener más detalles sobre todas las nuevas mejoras en Dart 2.17, consulta el blog.
Firebase y Flutter
Desde luego, la compilación de una app no es solo un marco de trabajo de IU. Las personas que publican apps necesitan un paquete completo de herramientas que les sirvan para compilar, lanzar y operar tus apps, incluidos servicios como autenticación, almacenamiento de datos, funciones en la nube y pruebas de dispositivos. Existe una variedad de servicios compatibles con Flutter, como Sentry, AppWrite y AWS Amplify.
Google ofrece Firebase para servicios de apps y estudios de análisis comparativos de desarrolladores realizados por SlashData demuestran que el 63% de los desarrolladores de Flutter usan Firebase en sus apps. Entonces, en las últimas versiones, trabajamos con Firebase para expandir e integrar mejor a Flutter como una integración de primera clase. Por ejemplo, pasamos los complementos de Firebase para Flutter a la versión 1.0, agregamos mejores documentación y herramientas e incluimos nuevos widgets, como FlutterFire UI, que brindan a los desarrolladores una IU reutilizable para las pantallas de autenticación y perfil.
Hoy anunciamos la graduación de la integración de Flutter/Firebase a una parte central totalmente compatible de la oferta de Firebase. Transferiremos el código fuente y la documentación al repositorio y al sitio principal de Firebase, y puedes contar con que desarrollaremos la compatibilidad de Firebase para Flutter al mismo tiempo que Android e iOS.
Además, realizamos importantes mejoras para compatibilizar las apps de Flutter mediante Crashlytics, el popular servicio de informes de fallas en tiempo real de Firebase. Con las actualizaciones del complemento de Crashlytics para Flutter, puedes hacer un seguimiento de errores fatales en tiempo real, con el mismo conjunto de funciones que están disponibles para otros desarrolladores de iOS y Android. Esto incluye alertas y métricas importantes como “usuarios sin fallas”, que te ayudan a estar al tanto de la estabilidad de tus apps. El flujo de procesamiento del análisis de Crashlytics se actualizó para mejorar la agrupación de las fallas de Flutter, lo que agiliza la clasificación, priorización y solución de problemas. Y, por último, optimizamos el proceso de configuración de los complementos para que en tan solo un par de pasos puedas comenzar a usar Crashlytics, directamente desde tus códigos Dart.
Kit de herramientas de juegos casuales en Flutter
Para la mayoría de los desarrolladores, Flutter es un marco de trabajo de apps. Sin embargo, también existe una comunidad creciente en torno al desarrollo de juegos casuales, que aprovecha la compatibilidad con gráficos acelerados por hardware que brinda Flutter, junto con motores de juegos de código abierto como Flame. Queremos que para los desarrolladores de juegos casuales sea más fácil comenzar su trabajo, por lo que hoy en I/O presentamos el Kit de herramientas de juegos casuales, que incluye un kit inicial de plantillas y prácticas recomendadas junto con créditos para anuncios y servicios en la nube.

Aunque Flutter no está diseñado para juegos de acción en 3D de alta intensidad, incluso algunos de esos juegos recurrieron a Flutter por una IU que no es de juego, por ejemplo, títulos populares como PUBG Mobile, que tienen cientos de millones de usuarios. Y para I/O pensamos que veríamos hasta dónde podíamos impulsar nuestra tecnología, por lo que creamos un divertido juego de pinball que funciona con Firebase y la compatibilidad web de Flutter. I/O Pinball ofrece una mesa personalizada que se diseñó en torno a cuatro de las mascotas favoritas de Google: Dash de Flutter, Sparky de Firebase, el robot de Android y el dinosaurio de Chrome, y te permiten competir con otros jugadores por la puntuación más alta. Creemos que es una gran manera de demostrar la versatilidad de Flutter.

https://ashehwkdkdjruejdnensjsjdne.web.app/#/
Comunidad
Algo que nos encanta de Flutter es que no es solo un producto de Google, es un producto de “todos”. El código abierto implica que todos podemos participar e interesarnos en su éxito, ya sea contribuir con código o documentación nuevos, crear paquetes que brindan nuevos superpoderes al marco de trabajo central, escribir libros y cursos de capacitación para enseñar a otros, o ayudar a organizar eventos y grupos de usuarios.
Para demostrar lo mejor de la comunidad, hace poco patrocinamos en colaboración con DevPost un desafío de Puzzle Hack, que ofrece a los desarrolladores la oportunidad de mostrar sus habilidades reinventando el clásico rompecabezas deslizante con Flutter. Resultó ser una demostración fantástica de cómo la Web, la computadora de escritorio y el dispositivo móvil se unen: ahora todos podemos jugar en línea o mediante las tiendas.
Hicimos este video para mostrar algunas de nuestras presentaciones favoritas y los ganadores de premios; creemos que te gustará:

https://www.youtube.com/watch?v=l6hw4o6_Wcs
Gracias por apoyar a Flutter y ¡bienvenido a Flutter 3!