Flutter 3 llega con soporte para aplicaciones de macOS, Linux y mas
En su I/O Developer Conference, Google anunció el lanzamiento de Flutter 3, la última versión de su marco de desarrollo de interfaz de usuario multiplataforma de código abierto para crear aplicaciones compiladas de forma nativa. El marco de desarrollo Flutter de Google finalmente logró sus aspiraciones multiplataforma con una versión estable de soporte para Linux y macOS.
Flutter 3.0 ofrece a los desarrolladores una forma de escribir aplicaciones para los seis principales objetivos de plataformas orientadas al consumidor utilizando el lenguaje de programación Dart. Sin mencionar los dispositivos a bordo.
“Estamos anunciando Flutter 3, que es la culminación de nuestro viaje hacia el desarrollo de interfaces de usuario multiplataforma para teléfonos, computadoras de escritorio y web”, dijo Tim Sneath, director de producto y experiencia de usuario de Flutter y Dart. . “La época en que lanzamos Flutter hace unos años realmente se remonta. Con el lanzamiento de Flutter 1, teníamos bastante claro, al menos en términos de visión, incluso entonces, que no teníamos intención de ser un conjunto de herramientas móviles. Queríamos ser vistos como algo más grande que un conjunto de herramientas que solo apunta a teléfonos”.
“Con Flutter 2.0 brindamos soporte web y, más recientemente, brindamos soporte para Windows”, dijo Tim Sneatht. “Y ahora, con Flutter 3.0, finalmente hemos llegado al punto en el que hemos completado este viaje. Tenemos las seis plataformas principales: iOS, Android, Web, Windows, macOS, Linux, todas compatibles como partes estables del marco Flutter”.
Con el lanzamiento de Flutter 3, la plataforma ahora admite iOS, Android y aplicaciones web, así como aplicaciones de escritorio de Windows, macOS y Linux, todo como parte de la versión estable de Flutter.
En macOS, esto incluye compatibilidad con binarios universales para que las aplicaciones puedan ejecutarse de forma nativa en chips Intel y Apple Silicon, mientras que para la versión de Linux, Google se asoció con Canonical para «ofrecer una opción de desarrollo altamente integrada y de vanguardia».
Anteriormente se consideraba que la compatibilidad con Linux y macOS estaba en versión beta y, por lo tanto, no era particularmente adecuada para aplicaciones de producción. Ahora que Material Design 3 de Google está a punto de finalizar, aquellos que buscan crear interfaces de usuario multiplataforma en el idioma de Android pueden contar con un conjunto de herramientas estéticamente cohesivo.
A pesar del soporte de escritorio, la mayoría de los desarrolladores probablemente consideran a Flutter como un marco para crear aplicaciones móviles. Pero varios desarrolladores también lo están utilizando activamente para crear aplicaciones de escritorio, incluidos los antiguos fundadores de Wunderlist que lanzaron su nueva aplicación de productividad, Superlist, en versión beta como una aplicación Flutter de escritorio.
Otra novedad en Flutter 3 son las integraciones más profundas con Firebase, la plataforma de back-end de Google para crear aplicaciones móviles y web. Eso no quita las integraciones de Flutter con servicios de terceros, incluido el competidor de Firebase, AWS Amplify. Pero como señala el equipo de Flutter, la integración de Flutter/Firebase ahora es un elemento central totalmente compatible de Firebase y los dos equipos planean desarrollar el «soporte de Firebase para Flutter en paralelo con Android e iOS».
Por otra parte, Flutter Web ahora detecta y usa automáticamente la API de ImageDecoder en los navegadores que la admiten. Hasta la fecha, la mayoría de los navegadores basados en Chromium (Chrome, Edge, Opera, Samsung Browser, etc.) han agregado esta API.
La nueva API decodifica imágenes de forma asíncrona desde el hilo principal utilizando los códecs de imágenes integrados del navegador. Esto acelera la decodificación de fotogramas en 2x y nunca bloquea el hilo principal, eliminando todo el bloqueo que antes causaban los fotogramas.
Ademas de ello, tambien se destaca que el equipo mejoró aún más el rendimiento de las animaciones de opacidad en casos simples. En particular, cuando un widgetOpacidadcontiene solo una primitiva de representación, el métodoguardarcapaque suele ser invocado porOpacidadse omite.
En un punto de referencia creado para medir los beneficios de esta optimización, el tiempo de interpolación para este caso mejoró en un orden de magnitud. En versiones futuras, el equipo planea aplicar esta optimización a más escenarios.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.