Summary
Keywords
Full Transcript
Playlist: Curso Grátis de FLUTTER e DART Completo https://www.youtube.com/playlist?list=PL5EmR7zuTn_aX0pG4oWTyKKQT25Hkq2XG É difícil pensar em um aplicativo para dispositivos móveis que não precise se comunicar com um servidor da Web ou armazenar facilmente dados estruturados em algum momento. Ao criar aplicativos conectados à rede, as chances são de que ele precise consumir um bom e velho JSON, mais cedo ou mais tarde. Este guia analisa maneiras de usar o JSON com o Flutter. Ele aborda qual solução JSON usar em diferentes cenários e por quê. Qual método de serialização JSON é ideal para mim? Este artigo aborda duas estratégias gerais para trabalhar com o JSON: Serialização manual Serialização automatizada usando geração de código Projetos diferentes vêm com diferentes complexidades e casos de uso. Para pequenos projetos de prova de conceito ou protótipos rápidos, o uso de geradores de código pode ser um exagero. Para aplicativos com vários modelos JSON com mais complexidade, a codificação manual pode rapidamente tornar-se tediosa, repetitiva e fornecer muitos pequenos erros. Use serialização manual para projetos menores A decodificação JSON manual refere-se ao uso do decodificador JSON integrado em dart: convert. Ele envolve passar a string JSON bruta para a função jsonDecode () e, em seguida, procurar os valores necessários no Map String, dynamic resultante. Não tem dependências externas ou um processo de configuração específico, e é bom para uma rápida prova de conceito. A decodificação manual não funciona bem quando o projeto se torna maior. Escrever a lógica de decodificação manualmente pode se tornar difícil de gerenciar e propenso a erros. Se você tiver um erro de digitação ao acessar um campo JSON inexistente, seu código emitirá um erro durante o tempo de execução. Se você não tiver muitos modelos JSON em seu projeto e estiver tentando testar um conceito rapidamente, a serialização manual pode ser a maneira que você deseja iniciar. Para obter um exemplo de codificação manual, consulte Como serializar o JSON usando o dart: convert. Use a geração de código para projetos de médio a grande porte Serialização JSON com geração de código significa ter uma biblioteca externa gerando o texto padrão da codificação para você. Depois de alguma configuração inicial, você executa um observador de arquivos que gera o código de suas classes de modelo. Por exemplo, json_serializable e built_value são esses tipos de bibliotecas. Essa abordagem se adapta bem a um projeto maior. Nenhum texto manuscrito escrito à mão é necessário e os erros de digitação ao acessar campos JSON são capturados em tempo de compilação. A desvantagem da geração de código é que ela requer alguma configuração inicial. Além disso, os arquivos de origem gerados podem gerar confusão visual no navegador do projeto. Você pode querer usar código gerado para serialização JSON quando tiver um projeto médio ou maior. Para ver um exemplo de codificação JSON baseada na geração de código, consulte Como serializar o JSON usando bibliotecas de geração de código. Existe um equivalente GSON / Jackson / Moshi no Flutter? A resposta simples é não. Tal biblioteca exigiria o uso da reflexão de tempo de execução, que está desabilitada no Flutter. A reflexão em tempo de execução interfere na vibração da árvore, que a Dart tem suportado por um longo tempo. Com a árvore tremendo, você pode “sacudir” o código não utilizado de suas versões de lançamento. Isso otimiza o tamanho do aplicativo significativamente. Como a reflexão torna todo o código implicitamente usado por padrão, isso dificulta o tremor da árvore. As ferramentas não podem saber quais partes não são usadas em tempo de execução, portanto, é difícil remover o código redundante. Tamanhos de aplicativos não podem ser facilmente otimizados ao usar reflexão. E quanto ao dartson? A biblioteca dartson usa reflexão em tempo de execução, o que a torna incompatível com o Flutter. Embora você não possa usar a reflexão de tempo de execução com o Flutter, algumas bibliotecas oferecem a mesma facilidade de usar APIs, mas são baseadas na geração de código. Essa abordagem é abordada com mais detalhes na seção de bibliotecas de geração de código. Serializando JSON manualmente usando dart: convert A codificação JSON básica no Flutter é muito simples. O Flutter tem um dart integrado: converte a biblioteca que inclui um decodificador e codificador JSON direto. Aqui está um exemplo de JSON para um modelo de usuário simples.
