El equipo de Google ha publicado los resultados de la encuesta de desarrolladores de Flutter del tercer trimestre de 2020. Estoy publicando una traducción del material con mis comentarios.
El artículo fue preparado por el equipo de investigación de Flutter UX (Flutter UXR) ( Jayeon Lee , Yoyoyang Hou , Jack Kim , Tao Dong )
En agosto de 2020, el equipo de Flutter lanzó la décima encuesta trimestral para desarrolladores. En 10 días, 7.668 desarrolladores de Flutter de todo el mundo lo aprobaron. Cada uno de ellos pasó aproximadamente 7,4 minutos respondiendo, un total de 39,4 días. Agradecemos el tiempo que se tomó para dejar sus comentarios y queremos compartir los resultados con usted.
Como de costumbre, le preguntamos sobre su satisfacción con varios componentes de Flutter. Además, este trimestre estábamos buscando comentarios sobre nuevos temas como Flutter para web, slivers (widgets para crear efectos de desplazamiento complejos) y depuración de problemas específicos de la plataforma. En este artículo, analizaremos más de cerca cada uno de los temas.
Resumen de datos
- El 94% de los encuestados estaba satisfecho con el marco de Flutter en general (PSAT - positivamente satisfecho) y el 58% estaba muy satisfecho (VSAT - muy satisfecho). La proporción de PSAT no ha cambiado, pero el porcentaje de VSAT está creciendo de manera constante.
- La proporción de desarrolladores profesionales ha crecido del 26% al 31%. La proporción de usuarios avanzados también está aumentando.
- , 3 Flutter for web, 59% . 71% Flutter , -UI.
- , , 79% . (36%) , .
- 71% , . (32%), (28%) (28%).
Este trimestre, el porcentaje de usuarios muy satisfechos con Flutter alcanzó un récord del 58%. En general, los usuarios de Flutter todavía están satisfechos con el producto (94%), a pesar del crecimiento exponencial de la comunidad. El siguiente gráfico muestra cómo la satisfacción de Flutter ha cambiado con el tiempo.
El 58% de los usuarios respondió "Muy satisfecho" a la pregunta: "¿Qué tan satisfecho está usted con Flutter en general?"
Nuestra base de usuarios ha experimentado varios cambios significativos. En primer lugar, el porcentaje de usuarios corporativos del marco Flutter ha crecido significativamente del 26% en el primer y segundo trimestres al 31%, mientras que el porcentaje de desarrolladores de startups sigue rondando el 35%.
A pesar de que la mayoría de los usuarios de Flutter trabajan para startups, el porcentaje de desarrolladores corporativos ha crecido significativamente del 26% al 31%.
, Flutter . Surf : .
— , .
, , . , Android iOS, — . , , .
Además, la evaluación subjetiva de la experiencia con Flutter ha cambiado significativamente en la base de usuarios. Como puede ver en el siguiente gráfico, la proporción de usuarios novatos disminuyó gradualmente, mientras que la proporción de usuarios avanzados aumentó gradualmente. Esto significa que hay usuarios más experimentados en nuestra comunidad que pueden compartir sus conocimientos con principiantes. Si está interesado en aprender algo o compartir conocimientos, puede participar en discusiones en línea con otros desarrolladores de Flutter. Vaya a la pestaña "Comunidad" en flutter.dev.
La proporción de usuarios avanzados está creciendo constantemente
. , Flutter-. , «» - . Flutter- . , , , .
, pro-. .
, . HR-. Flutter-, software-. , .
Flutter for Web
Además de admitir el desarrollo móvil en una versión estable, Flutter también admite el desarrollo web en versión beta. Esta vez, le pedimos a los primeros usuarios de Flutter que nos dijeran exactamente qué problemas tenían con el rendimiento, la apariencia y la funcionalidad de la aplicación web, el flujo de trabajo y la documentación, para comprender en qué trabajar primero.
Los participantes de la encuesta utilizaron Flutter ampliamente para crear aplicaciones web. Según la tercera línea del siguiente gráfico, alrededor del 33% informó que evaluó Flutter en aplicaciones web comerciales (15%), construyó una versión de demostración de la aplicación con él (11%) o lanzó una aplicación comercial (7%).
El 33% de los usuarios (1468 de 4449) informaron que evaluaron Flutter en aplicaciones web comerciales (15%), crearon una versión de demostración de la aplicación con él (11%) o lanzaron una aplicación comercial (7%)
En particular, el 29,5% de los usuarios con experiencia tanto en desarrollo móvil como web ha utilizado Flutter para Web con más seriedad en los últimos 3 meses (para posibles fines comerciales). El porcentaje varió en función de la experiencia previa del desarrollador con plataformas. Aparentemente, los encuestados que anteriormente solo se dedicaban al desarrollo web usaron Flutter como un marco web alternativo (el 22% usó Flutter para Web con posibles propósitos comerciales), mientras que los encuestados que anteriormente solo se dedicaban al desarrollo móvil usaron activamente Flutter para Web para la integración con desarrollo web (el 16% utilizó Flutter for Web).
El porcentaje de usuarios que han usado Flutter en la web comercialmente en los últimos 3 meses ha variado en función de su experiencia previa con plataformas móviles y web.
El equipo web de Flutter también recopiló comentarios sobre varios problemas relacionados con la apariencia de la aplicación web. Primero, aprendimos que los participantes de la encuesta más importantes consideraron la navegación del navegador y el historial de la página (55%), copiar / pegar el texto seleccionado (34%), la física del desplazamiento (33%) y el resaltado de texto (32%). Los encuestados también pidieron una mejor documentación sobre la navegación de páginas y la adaptación de diseños móviles a la web.
Flutter for Web . , Flutter Team web. FlutterDevPodcast Flutter for Web , , . , UX, . CEO .
Según los usuarios, "la navegación del navegador y la navegación de la página" son las características más importantes al crear una interfaz web con Flutter.
El equipo de Flutter tiene en cuenta los comentarios de los desarrolladores y está trabajando activamente en las mejoras. Para abordar los principales problemas de los usuarios relacionados con la navegación y la navegación de páginas, el equipo lanzó recientemente Navigator 2 . También hemos agregado soporte para copiar / pegar texto seleccionado y planeamos mejorar la funcionalidad del texto seleccionado (especialmente en texto enriquecido). Seguimos trabajando en problemas de rendimiento y física del desplazamiento basados en problemas de la comunidad.
Finalmente, nuestro equipo recibió comentarios sobre los flujos de trabajo, el rendimiento y las API de terceros. Entre todos los flujos de trabajo principales, según los encuestados, el más difícil fue la depuración. La velocidad de carga de la página y el desplazamiento son los aspectos en los que los encuestados encontraron problemas de rendimiento con mayor frecuencia. Los participantes de la encuesta solicitaron un soporte mejorado para el almacenamiento local (por ejemplo, SQLite), el almacenamiento de Firebase y Google Maps para Flutter para Web. Nuestro equipo trabajará para mejorar estos aspectos a medida que se desarrolle Flutter para Web.
Comentario
Por supuesto, esforzarse por llevar Flutter para Web a la perfección es encomiable. ¿Está el marco listo para convertirse en un reemplazo completo de sus competidores más tradicionales? Mi opinión es inequívoca: no. Todavía queda un largo camino de mejoras y mejoras por delante.
Astillas
Los widgets Sliver (widgets con nombres que comienzan con “Sliver”, como SliverAppBar y SliverList) se utilizan para crear efectos de desplazamiento complejos. Se pueden implementar muchos efectos de desplazamiento usando widgets como ListView, GridView, PageView o AnimatedList, sin embargo, los widgets de astilla ayudan a personalizar la vista de desplazamiento y hacen que la interfaz de usuario sea más bonita.
Estos efectos de desplazamiento complejos se pueden implementar utilizando widgets de
astillas. El equipo de Flutter ha aprendido muchas historias diferentes sobre la experiencia del usuario con las astillas. Algunos dijeron que no usaban astillas en sus aplicaciones y algunos dijeron que necesitaban más cortadores para implementar varios efectos. Este trimestre, nuestro equipo decidió actualizar la encuesta para comprender mejor cómo los usuarios de Flutter trabajan con pantuflas.
Lo primero que aprendimos fue que la mayoría de los participantes de la encuesta (49%) diseñan IU con efectos de desplazamiento simples. La IU con efectos complejos se desarrolla en un 39%. (La encuesta proporcionó ejemplos de efectos de desplazamiento simples y complejos). De aquellos que requieren efectos complejos, el 78% dijo que necesitaban astillas para lograr los efectos deseados.
La interfaz de usuario con efectos de desplazamiento simple es desarrollada por más usuarios (49%) que la interfaz de usuario con efectos complejos (39%). El
20% de los usuarios que necesitan astillas dicen que no los han probado. Lo que es aún más interesante es que el 35% de los usuarios que han usado pantuflas informaron que tuvieron problemas. Cuando preguntamos cuáles eran las mayores dificultades, la búsqueda ocupó el primer lugar (36%), luego la exploración (30%) y finalmente la usabilidad (19%).
La búsqueda resultó ser el problema más frecuente para los usuarios de Sliver, se informaron menos dificultades para aprender el widget y su usabilidad.
Dado que no queremos que estos problemas afecten su interfaz de usuario, planeamos actualizar flutter.dev para que sea más fácil encontrar widgets de Sliver y estudiar los correspondientes. información. Si está buscando nuevas astillas que Flutter no tiene, pruebe los paquetes de software desarrollados por la comunidad como sliver_tools o sticky_headers . La comunidad de Flutter también agradece sus comentarios en esta área.
Y si aún no estás familiarizado con las astillas y quieres saber más sobre ellas, te ofrecemos los siguientes recursos:
Astillas, desmitificadas(Artículo pequeño)
Explicación de Slivers: creación de diseños dinámicos ("The Boring Flutter Development Show" en YouTube, episodio 12)
Comment
Sliver: un obstáculo para muchos desarrolladores de Flutter. Tienen miedo y no se les comprende. Tal vez la razón no sea la API más transparente para trabajar con componentes, así como el complicado anidamiento de widgets. CustomScrollView, SliverList, SliverChildBuilderDelegate: hasta que descubra qué papel juega cada uno de estos componentes en la construcción de la imagen general, parece que está tratando de desentrañar el truco de un ilusionista experimentado. De hecho, las astillas y mecanismos similares son una de las principales razones por las que amo a Flutter. La capacidad de hacer cosas complejas vale mucho.
Problemas específicos de la plataforma de depuración
En nuestra encuesta anterior, descubrimos que la solución de problemas específicos de la plataforma y las pruebas de aplicaciones en todas las plataformas son las tareas más desafiantes para los desarrolladores de Flutter. Encontramos errores que son específicos de plataformas específicas, pero no sabíamos qué problemas eran más prioritarios y si era posible agruparlos en grupos por tema. Para entender por qué es realmente difícil depurar y probar, preguntamos qué problemas enfrentaban los usuarios.
Primero, preguntamos a los usuarios qué problemas específicos de la plataforma habían depurado. Como resultado, descubrimos que con mayor frecuencia problemas con las herramientas (32%), diferencias visuales en diferentes plataformas (28%), gestión de dependencias (28%), diferencias en el funcionamiento en diferentes plataformas (27%), diferencias en el funcionamiento de complementos en diferentes plataformas (26%), y Además, a menudo faltan características nativas (25%).
Comentario
Más recientemente, apareció en GitHub una compilación personalizada de Flutter Engine con Metal deshabilitado . ¡Resultó que sin él, la aplicación creada para iOS funciona mucho mejor! No solemos encontrarnos con problemas de plataforma tan desagradables. Sin embargo, siempre debes estar preparado para ellos. Para estar completamente armado, solo ayudará una inmersión profunda en los fundamentos de las plataformas compatibles.
Los problemas específicos de la plataforma más comunes involucran problemas de herramientas, diferencias visuales y problemas de administración de dependencias. Los
participantes de la encuesta también calificaron la importancia y complejidad de cada uno de los problemas que depuraron. Los problemas de depuración más importantes son la falta de funciones nativas, las diferencias de rendimiento, las diferencias de rendimiento, las diferencias en la funcionalidad del complemento y los problemas de lanzamiento. Los problemas más difíciles en la depuración son la falta de características nativas, problemas con un dispositivo específico, diferencias de rendimiento, administración de dependencias y herramientas.
Nota a la figura (de izquierda a derecha): Dificultad - dificultad, Problemas de prueba - problemas con la prueba, Diferencias visuales - diferencias visuales, Importancia - importancia, Problemas específicos del dispositivo - Problemas específicos de dispositivos específicos, Problemas de gestión de dependencia - Problemas con la gestión de dependencia , Problemas de lanzamiento: problemas con el lanzamiento, Problemas de herramientas: problemas con las herramientas, Diferencias de comportamiento: diferencias de funcionamiento, Características nativas faltantes: falta de herramientas nativas, Diferencias de comportamiento de los complementos: diferencias en el funcionamiento de los complementos, Discrepancias de rendimiento: diferencias en el rendimiento.
La importancia y complejidad de los problemas específicos de la plataforma. Los "zarcillos" en el gráfico marcan el intervalo de confianza del 95%
Cuando se trata de probar aplicaciones en múltiples plataformas, el 85% de los encuestados dijo que era muy o extremadamente importante. Sin embargo, resultó muy o extremadamente difícil para el 27% de los encuestados. Por lo tanto, probar aplicaciones en múltiples plataformas es importante, pero para la mayoría de los desarrolladores no es demasiado difícil. De las respuestas detalladas a las preguntas, aprendimos que los problemas de prueba más comunes surgen cuando se prueba para iOS (especialmente para desarrolladores de Windows), prueba para múltiples tamaños de pantalla y prueba en múltiples dispositivos físicos.
En el próximo trimestre, nuestro equipo dedicará más tiempo, reducirá drásticamente los errores y resolverá los principales problemas relacionados con las herramientas, la gestión de dependencias y el lanzamiento. También continuaremos mejorando la documentación sobre estos temas. Por ejemplo, mejoraremos la documentación del usuario para las herramientas de CI, como GitHub Actions y Bitrise, que ayudan a los usuarios a probar las aplicaciones de iOS.
El comentario de
Acciones de GitHub está bien siempre y cuando su repositorio no sea privado. A partir de ahora, solo tendrá 200 minutos de tiempo de compilación gratuitos por mes para compilar en una máquina virtual para macOS. Lea mi artículo sobre cómo configurar el flujo de trabajo perfecto para un proyecto de Flutter .
Que sigue
Su opinión influye en nuestras decisiones todos los días. Seguiremos siendo fieles a esta tradición y continuaremos tomando decisiones basadas en sus respuestas a nuestras encuestas. Por eso, les pedimos que sigan participando y compartiendo sus pensamientos. Además, el equipo de investigación de Flutter UX lleva a cabo una amplia gama de investigaciones sobre la experiencia del usuario (UX) para mejorar su experiencia en Flutter. Si desea participar en la investigación, regístrese y su candidatura será considerada en futuras investigaciones.