Flutter: resultados da pesquisa do desenvolvedor do terceiro trimestre de 2020

Olá! Eugene Saturov, do Surf, está em contato .



A equipe do Google divulgou os resultados da pesquisa do desenvolvedor Flutter do terceiro trimestre de 2020. Estou publicando uma tradução do material com meus comentários.







Este artigo foi preparado pela equipe de pesquisa do Flutter UX (Flutter UXR) ( Jayeon Lee , Yoyoyang Hou , Jack Kim , Tao Dong )



Em agosto de 2020, a equipe do Flutter lançou a décima pesquisa trimestral de desenvolvedores. Em 10 dias, 7.668 desenvolvedores do Flutter em todo o mundo o aprovaram. Cada um deles gastou cerca de 7,4 minutos respondendo - um total de 39,4 dias. Agradecemos o tempo dispensado para deixar seus comentários e queremos compartilhar os resultados com você.



Como de costume, perguntamos sobre sua satisfação com os vários componentes do Flutter. Além disso, neste trimestre, buscamos feedback sobre novos tópicos, como Flutter para web, slivers (widgets para criar efeitos de rolagem complexos) e depuração de problemas específicos da plataforma. Neste artigo, examinaremos mais de perto cada um dos tópicos.



Dados resumidos



  • 94% dos entrevistados estavam satisfeitos com a estrutura do Flutter em geral (PSAT - positivamente satisfeito) e 58% estavam muito satisfeitos (VSAT - muito satisfeito). A parcela de PSAT não mudou, mas a porcentagem de VSAT está crescendo continuamente.

  • A participação de desenvolvedores profissionais cresceu de 26% para 31%. A participação de usuários avançados também está aumentando.

  • , 3 Flutter for web, 59% . 71% Flutter , -UI.

  • , , 79% . (36%) , .

  • 71% , . (32%), (28%) (28%).





Neste trimestre, o percentual de usuários muito satisfeitos com o Flutter atingiu o recorde de 58%. No geral, os usuários do Flutter ainda estão satisfeitos com o produto (94%), apesar do crescimento exponencial da comunidade. O gráfico a seguir mostra como a satisfação de Flutter mudou ao longo do tempo.





58% dos usuários responderam "Muito satisfeito" à pergunta: "Quão satisfeito você está com o Flutter em geral?"



Nossa base de usuários passou por várias mudanças significativas. Em primeiro lugar, a porcentagem de usuários corporativos da estrutura Flutter cresceu significativamente de 26% no primeiro e segundo trimestres para 31%, enquanto a porcentagem de desenvolvedores de startups ainda está em torno de 35%.





Apesar do fato de a maioria dos usuários do Flutter trabalhar para startups, a porcentagem de desenvolvedores corporativos cresceu significativamente de 26% para 31%







, Flutter . Surf : .



— , .



, , . , Android iOS, — . , , .



Além disso, a avaliação subjetiva da experiência com o Flutter mudou significativamente na base de usuários. Como você pode ver no gráfico a seguir, a proporção de usuários novatos diminuiu gradualmente, enquanto a proporção de usuários avançados aumentou gradualmente. Isso significa que existem usuários mais experientes em nossa comunidade que podem compartilhar seus conhecimentos com iniciantes. Se você estiver interessado em aprender algo ou compartilhar conhecimento, pode participar de discussões online com outros desenvolvedores do Flutter. Vá para a guia Comunidade em flutter.dev.





A parcela de usuários avançados está crescendo continuamente







. , Flutter-. , «» - . Flutter- . , , , .



, pro-. .



, . HR-. Flutter-, software-. , .



Flutter for Web



Além de oferecer suporte ao desenvolvimento móvel na versão estável, o Flutter também oferece suporte ao desenvolvimento web em beta. Desta vez, pedimos aos primeiros usuários do Flutter que nos dissessem exatamente quais problemas eles enfrentaram com o desempenho, aparência e funcionalidade do aplicativo da web, fluxo de trabalho e documentação, a fim de entender o que fazer primeiro.



Os participantes da pesquisa usaram o Flutter extensivamente para construir aplicativos da web. De acordo com a terceira linha do próximo gráfico, cerca de 33% relataram que avaliaram o Flutter em aplicativos comerciais da web (15%), construíram uma versão demo do aplicativo com ele (11%) ou lançaram um aplicativo comercial (7%).





33% dos usuários (1468 de 4449) relataram que avaliaram o Flutter em aplicativos comerciais da web (15%), criaram uma versão demo do aplicativo com ele (11%) ou lançaram um aplicativo comercial (7%)



Em particular, 29,5% dos usuários com experiência em desenvolvimento móvel e web usaram o Flutter for Web com mais seriedade nos últimos 3 meses (para fins comerciais em potencial). A porcentagem variou com base na experiência anterior do desenvolvedor com plataformas. Aparentemente, os entrevistados que estavam anteriormente engajados apenas no desenvolvimento da web usaram o Flutter como uma estrutura alternativa da web (22% usaram o Flutter para a Web para fins comerciais em potencial), enquanto os entrevistados que estavam anteriormente engajados apenas no desenvolvimento móvel usaram ativamente o Flutter para a Web para integração com desenvolvimento web (16% usaram Flutter para Web).





A porcentagem de usuários que usaram o Flutter na web comercialmente nos últimos 3 meses variou com base em sua experiência anterior com plataformas móveis e da Web.



A equipe da Web do Flutter também coletou feedback sobre vários problemas relacionados à aparência do aplicativo da web. Primeiro, aprendemos que os participantes da pesquisa mais importantes consideraram a navegação do navegador e o histórico da página (55%), copiar / colar o texto selecionado (34%), física de rolagem (33%) e realce do texto (32%). Os entrevistados também solicitaram uma documentação melhor sobre navegação de página e adaptação de layouts móveis para a web.







Flutter for Web . , Flutter Team web. FlutterDevPodcast Flutter for Web , , . , UX, . CEO .







De acordo com os usuários, “navegação no navegador e navegação na página” são os recursos mais importantes ao construir uma interface web com o Flutter.



A equipe do Flutter leva em consideração o feedback do desenvolvedor e está trabalhando ativamente em melhorias. Para resolver os principais problemas do usuário relacionados à navegação e navegação de página, a equipe lançou recentemente o Navigator 2 . Também adicionamos suporte para copiar / colar texto selecionado e planejamos melhorar a funcionalidade do texto selecionado (especialmente em rich text). Continuamos a trabalhar em questões de física e desempenho de rolagem com base em questões recebidas da comunidade.



Por fim, nossa equipe recebeu feedback sobre fluxos de trabalho, desempenho e APIs de terceiros. Entre todos os principais fluxos de trabalho, de acordo com os entrevistados, o mais difícil foi a depuração. A velocidade de carregamento da página e a rolagem são os aspectos em que os respondentes costumam encontrar problemas de desempenho. Os participantes da pesquisa pediram melhor suporte para armazenamento local (por exemplo, SQLite), armazenamento Firebase e Google Maps for Flutter for Web. Nossa equipe trabalhará para melhorar esses aspectos à medida que o Flutter for Web se desenvolver.



Comentário



Obviamente, esforçar-se para levar o Flutter for Web à perfeição é louvável. A estrutura está pronta para se tornar um substituto completo para seus concorrentes mais tradicionais? Minha opinião é inequívoca: não. Ainda há um longo caminho de melhorias e melhorias pela frente.


Slivers



Widgets Sliver (widgets com nomes começando com “Sliver”, como SliverAppBar e SliverList) são usados ​​para criar efeitos de rolagem complexos. Muitos efeitos de rolagem podem ser implementados usando widgets como ListView, GridView, PageView ou AnimatedList, no entanto, os widgets sliver ajudam a personalizar a visualização de rolagem e tornar a IU mais bonita.





Esses complexos efeitos de rolagem podem ser implementados usando widgets



sliver.A equipe do Flutter aprendeu muitas histórias diferentes sobre a experiência do usuário com slivers. Alguns disseram que não usavam fitas em seus aplicativos, e alguns disseram que precisavam de mais fatiadores para implementar vários efeitos. Neste trimestre, nossa equipe decidiu atualizar a pesquisa para entender melhor como os usuários do Flutter trabalham com chinelos.



A primeira coisa que aprendemos foi que a maioria dos participantes da pesquisa (49%) cria interfaces de usuário com efeitos de rolagem simples. A IU com efeitos complexos é desenvolvida por 39%. (A pesquisa forneceu exemplos de efeitos de rolagem simples e complexos.) Daqueles que exigem efeitos complexos, 78% disseram que precisavam de lascas para obter os efeitos desejados.





A IU com efeitos de rolagem simples é desenvolvida por mais usuários (49%) do que a IU com efeitos complexos (39%).



20% dos usuários que precisam de fitas dizem que nunca os experimentaram. O que é ainda mais interessante é que 35% dos usuários que usaram chinelos relataram que tiveram problemas. Quando perguntamos quais eram os maiores desafios, a pesquisa ficou em primeiro lugar (36%), seguida pela exploração (30%) e, finalmente, pela usabilidade (19%).





A pesquisa acabou sendo o problema mais frequente para os usuários do Sliver, com menos dificuldades relatadas para aprender o widget e sua usabilidade.



Como não queremos que esses problemas afetem sua interface do usuário, planejamos atualizar o flutter.dev para facilitar a localização dos widgets do Sliver e estudar os correspondentes em formação. Se você está procurando por novos slivers que o Flutter não tem, experimente pacotes de software desenvolvidos pela comunidade como sliver_tools ou sticky_headers . A comunidade Flutter também agradece sua contribuição nesta área.



E se você ainda não está familiarizado com as mechas e deseja aprender mais sobre elas, oferecemos os seguintes recursos:



Lascas desmistificadas(Artigo pequeno)



Explicação de Slivers - criação de layouts dinâmicos ("The Boring Flutter Development Show" no YouTube, episódio 12)



Comentário



Sliver - um obstáculo para muitos desenvolvedores do Flutter. Eles estão com medo e não são compreendidos. Talvez o motivo não seja a API mais transparente para trabalhar com componentes, bem como o aninhamento complicado de widgets. CustomScrollView, SliverList, SliverChildBuilderDelegate - até descobrir que papel cada um desses componentes desempenha na construção do quadro geral, parece que você está tentando desvendar o truque de um ilusionista experiente. Na verdade, mechas e mecanismos semelhantes são uma das principais razões pelas quais eu amo o Flutter. A capacidade de apenas fazer coisas complexas vale muito.


Depuração de problemas específicos da plataforma



Em nossa pesquisa anterior, descobrimos que a solução de problemas específicos da plataforma e o teste de aplicativos entre plataformas são as tarefas mais desafiadoras para os desenvolvedores do Flutter. Encontramos erros específicos de plataformas específicas, mas não sabíamos quais problemas eram mais priorizados e se era possível agrupá-los em grupos por tópico. Para entender por que é realmente difícil depurar e testar, perguntamos que tipo de problemas os usuários enfrentavam.



Primeiro, perguntamos aos usuários quais problemas específicos da plataforma eles depuraram. Como resultado, descobrimos que na maioria das vezes problemas com ferramentas (32%), diferenças visuais em diferentes plataformas (28%), gerenciamento de dependências (28%), diferenças no funcionamento em diferentes plataformas (27%), diferenças no funcionamento de plug-ins em diferentes plataformas (26%) e além disso, muitas vezes faltam recursos nativos (25%).



Comentário



Mais recentemente, uma versão customizada do Flutter Engine com Metal desabilitado apareceu no GitHub . Descobriu-se que, sem ele, o aplicativo desenvolvido para iOS funciona muito mais suavemente! Não é frequente encontrarmos problemas de plataforma tão desagradáveis. No entanto, você deve estar sempre pronto para eles. Para estar totalmente armado, apenas um mergulho profundo nos fundamentos das plataformas suportadas ajudará.





Os problemas específicos de plataforma mais comuns incluem problemas de ferramentas, diferenças visuais e problemas de gerenciamento de dependências. Os



participantes da pesquisa também avaliaram a gravidade e a complexidade de cada um dos problemas que depuraram. Os problemas de depuração mais importantes são a falta de recursos nativos, diferenças de desempenho, diferenças de desempenho, diferenças na funcionalidade do plug-in e problemas de versão. Os problemas mais difíceis na depuração são a falta de recursos nativos, problemas com um dispositivo específico, diferenças de desempenho, gerenciamento de dependências e ferramentas.





Nota para a figura (da esquerda para a direita): Dificuldade - dificuldade, Problemas de teste - problemas com o teste, Diferenças visuais - diferenças visuais, Importância - importância, Problemas específicos do dispositivo - problemas específicos de dispositivos específicos, Problemas de gerenciamento de dependência - problemas com gerenciamento de dependência , Problemas de lançamento - problemas com o lançamento, Problemas de ferramentas - problemas com ferramentas, Diferenças de comportamento - diferenças no funcionamento, Recursos nativos ausentes - falta de ferramentas nativas, Diferenças de comportamento do plug-in - diferenças no funcionamento dos plug-ins, Discrepâncias de desempenho - diferenças no desempenho.



A importância e complexidade dos problemas específicos da plataforma. Os "tentáculos" no gráfico marcam o intervalo de confiança de 95%





Quando se trata de testar aplicativos em várias plataformas, 85% dos entrevistados disseram que era muito ou extremamente importante. No entanto, acabou sendo muito ou extremamente difícil para 27% dos entrevistados. Portanto, testar aplicativos em várias plataformas é importante, mas para a maioria dos desenvolvedores não é muito difícil. Com as respostas detalhadas às perguntas, aprendemos que os problemas de teste mais comuns surgem ao testar para iOS (especialmente para desenvolvedores do Windows), testar vários tamanhos de tela e testar vários dispositivos físicos.



No próximo trimestre, nossa equipe gastará mais tempo, reduzirá drasticamente os bugs e resolverá os principais problemas relacionados a ferramentas, gerenciamento de dependências e lançamento. Também continuaremos aprimorando a documentação sobre esses tópicos. Por exemplo, melhoraremos a documentação do usuário para ferramentas de CI, como GitHub Actions e Bitrise, que ajudam os usuários a testar aplicativos iOS.



O comentário de

ações do GitHub é adequado, desde que seu repositório não seja privado. De agora em diante, você terá apenas 200 minutos de tempo de compilação gratuitos por mês para compilar em uma máquina virtual para macOS. Leia meu artigo sobre como configurar o fluxo de trabalho perfeito para um projeto Flutter .



Qual é o próximo



Sua opinião influencia nossas decisões todos os dias. Continuaremos fiéis a esta tradição e continuaremos a tomar decisões com base em suas respostas às nossas pesquisas. Portanto, pedimos que você continue participando e compartilhando suas ideias. Além disso, a equipe de pesquisa do Flutter UX conduz uma ampla gama de pesquisas de experiência do usuário (UX) para melhorar sua experiência no Flutter. Caso queira participar da pesquisa, cadastre-se e sua candidatura será considerada em pesquisas futuras.



All Articles