Hoja de ruta de Google: Snap para integrarse con JavaScript, Wasm
Google presentó una hoja de ruta ambiciosa para su marco Dart, Flutter, que incluye planes para admitir WebAssembly (Wasm) en su conferencia Flutter Forward en Nairobi, Kenia. El gigante de Internet recurre a la comunidad de desarrolladores para ayudar a implementar el plan. También lanzó Dart 3.0 y Flutter 3.7.
Parpadear es un marco de interfaz de usuario móvil de código abierto de Google. Las mejoras planificadas para Flutter incluyen la capacidad de compilar en WebAssembly, rendimiento gráfico mejorado, interoperabilidad entre JavaScript y Dart, y la capacidad de agregar componentes de Flutter a las aplicaciones web. Actualmente es compatible con Android, iOS, Windows, macOS, Linux y la web, al tiempo que permite que las plataformas integradas usen Flutter.
“Realmente solo estamos tratando de proporcionar una dirección, y lo estamos haciendo porque queremos que otras personas contribuyan, y es un proyecto de código abierto”. Tim Sneath, director de producto y UX de Flutter y Dart, habló con The New Stack. “Queremos que las personas nos acompañen en este viaje, y casi la mitad de los colaboradores de Flutter no trabajan en Google, trabajan para otras empresas o la comunidad. Al definir nuestra hoja de ruta, les da la oportunidad de unirse a nosotros en esto”.
Flutter creció Desde usos de inicio hasta grandes empresas como BMW y Toyota, así como alrededor de 700,000 aplicaciones publicadas en la tienda que se usan internamente en Google para alrededor de 30 proyectos diferentes (incluidos Classroom y Google Pay), dijo Sneath.
Google también lanzó Flutter 3.7, una versión estable que agrega un nuevo motor de renderizado. iOSSoporte mejorado para Material 3 y widgets de estilo iOS, soporte actualizado para internacionalización, mejoras de procesamiento en segundo plano y actualizaciones de herramientas para desarrolladores.
Sin embargo, el enfoque principal de la conferencia y los anuncios fue el camino a seguir para el próximo año, dijo Sneath. Aquí hay un vistazo a las áreas que Flutter espera innovar el próximo año:
Integrando Flutter con Web, JavaScript, Wasm
“Estamos invirtiendo para facilitar la integración de Flutter con otro código, ya sea una aplicación móvil con API del sistema con las que quiera comunicarse, o si desea tomar un código de Flutter y colocarlo en una experiencia web”, Sneath dijo. El trabajo facilitó que Flutter hablara con otras cosas que se pueden escribir allí, porque no todas las líneas de código en el mundo son una aplicación de Flutter”.
Esto significa que los componentes de Flutter ahora se pueden colocar en el sitio web y los desarrolladores pueden aplicar CSS Conversiones a un componente Flutter (como reflejo) dijo.
Flutter ahora también tiene una mejor interoperabilidad JavaScript.
“Puedes controlar un widget de Flutter desde JavaScript y viceversa”, dijo. “Puede leer datos desde el lado de JavaScript sin vacilar, por lo que hay algunas posibilidades nuevas allí”.
Google también está trabajando en un nuevo enfoque para la integración con el sistema. API, para reducir algunos requisitos de código personalizado al integrarse con Android e iOS. Por ejemplo, si los desarrolladores quieren integrar una nueva biblioteca jetpack de Android o una nueva biblioteca de Apple, pueden llamar a un nuevo comando Dart y automáticamente creará todos los enlaces para hablar directamente con esas API, “con muy poca ceremonia o código”. Sneath dijo…
Luego está WebAssembly. WebAssembly no se admitía originalmente lenguajes recolectados en la basura Como Dart, por lo que funcionó con Google Ensamblaje web autoridades y el equipo de Chrome para garantizar la compatibilidad con dichos idiomas, dijo Sneath. Todavía no es compatible con todos los navegadores, pero podría funcionar en Chrome Canary, el navegador de Google para desarrolladores.
Podría pasar un año antes de que sea totalmente compatible, agregó.
“Dart es uno de los primeros en aceptarlo”, dijo. “Podemos aprovechar esto para que las aplicaciones de Flutter ahora se puedan compilar en WebAssembly. Esto significa que se lanzarán más rápido, serán más fáciles de integrar con otro código escrito en otros lenguajes y estamos emocionados de ver qué hace la gente con él.
Finalmente, Flutter ahora es compatible con código abierto estándar de arquitectura, RISC-V.
“Todavía no hay muchos dispositivos físicos basados en RISC-V, pero creemos que es parte de la próxima generación de procesos”, dijo Sneath.
Rendimiento de gráficos móviles mejorado, compatibilidad con 3D
Históricamente, los marcos multiplataforma han requerido compromisos visuales debido a los desafíos de crear una capa de abstracción, dijo Sneath en su charla. entrada de blog del martes.
“Flutter adoptó un enfoque diferente al de la mayoría con su propia capa de renderizado que ofrece gráficos acelerados por hardware y una apariencia visual consistente en todos los dispositivos”, dijo. “En el futuro, invertiremos en un rendimiento gráfico innovador que amplíe la fortaleza existente de Flutter en esta área”.
“Estamos empujando los límites allí”, dijo TNS. “Pasamos los últimos meses reelaborando toda nuestra canalización de renderizado de gráficos con un proyecto que llamamos impeller. Diseñado para elevar el nivel de rendimiento, el hierro fundido siempre garantiza marcos que no se caen y experiencias realmente suaves y de alta calidad.
Google envió soporte temprano para Impeller en la conferencia. Esto el video de demostración muestra el motor de renderizado Flutter tradicional a la izquierda, junto al nuevo motor de renderizado del impulsor a la derecha. Propeller está disponible con el indicador de conexión en Flutter 3.7 para iOS.
Hélice Optimizado para Flutter, brinda a los desarrolladores más flexibilidad y control sobre la canalización de gráficos. Sneath explicó en una publicación de blog que Impeller proporciona un rendimiento más predecible mediante el uso de sombreadores renderizados previamente que alivian los fotogramas perdidos en el tiempo de ejecución causados por la representación de sombreadores. Utiliza primitivas en Metal y Vulkan, las API modernas de bajo nivel en iOS, y Androide. También “hace un uso eficiente del paralelismo mediante la distribución de cargas de trabajo de un solo marco entre subprocesos”, dijo.
“En algunos casos, Impeller nos brinda entre seis y nueve veces más mejoras en el rendimiento que nuestro motor gráfico anterior”, dijo. “Pero más allá del rendimiento o la calidad suave como la seda, también abre la puerta a nuevos tipos de experiencias que creemos que la gente quiere construir”.
Ahora hay soporte para sombreadores de píxeles, la capacidad de escribir una función GPU de gráficos de bajo nivel que se ejecuta en cada píxel de la pantalla en la web y los dispositivos móviles. Permite cosas como efectos de desenfoque y otros experimentos de procesamiento de gráficos, agregó.
Google también comenzó un trabajo inicial para admitir 3D con Flutter, agregó. La conferencia demostró cómo importar modelos creados con Blender, así como la iteración en tiempo real con Blender y cómo usar la recarga en caliente para ver los resultados en una aplicación en ejecución.
Imagen cortesía de Google
“Estamos ingresando al mundo 3D y ahora admitimos gráficos 3D con Flutter. Realmente es [is] como la próxima generación para nosotros, es toda una dimensión adicional”, dijo. “Significa que puede hacer cosas como trabajar con herramientas 3D tradicionales Confusopuedes crear modelos, redes 3D. Puede importarlos a Flutter y luego programarlos y usarlos como cualquier otra pieza de código”.
Explicó que Flutter se lanza con el código Dart en el que está programado. Puede funcionar en todos los dispositivos hasta el iPhone Six anunciado en 2014.
“Es realmente interesante ver esta fusión de gráficos 2D y 3D y, nuevamente, históricamente, estos han sido dominios diferentes, tecnologías diferentes, lenguajes diferentes”, dijo. “Ahora estamos reuniendo todo, y estamos emocionados de ver qué sucede cuando puedes unirlos”.
Dart, mejorando la experiencia del desarrollador en Flutter
Google también lanzó Dardos 3 Esta semana, Sneath agregó nuevas funciones de idioma para mejorar la experiencia del desarrollador. El Dart 3 completa el viaje hacia la seguridad suelta, que dice que es su elemento clave. escribir código sin errores.
“Dart 3 también elimina otras características obsoletas durante mucho tiempo para modernizar aún más el lenguaje”, dijo Sneath. “Comenzamos a publicar compilaciones de calidad alfa de Dart 3, mientras que las compilaciones compatibles con Flutter han permitido a los desarrolladores probar paquetes y aplicaciones”.
Por el lado de Flutter, Google ofrece la primera versión de News Toolkit para editores de noticias regionales que desean ofrecer una aplicación móvil pero no tienen los recursos para crear una. La solución de marca blanca ofrece plantillas para ayudarlo a crear aplicaciones móviles. Google lo publicó con tres agencias de noticias africanas, incluida la editorial más grande de Marruecos y Standard, la publicación de registro en Kenia.
Sneath enfatizó que no todo está hecho, pero todo se puede hacer.
“Mostraremos demostraciones muy tempranas aquí, pero esta es una puerta de entrada a nuestra dirección futura para nosotros como equipo”, dijo.