Article image
Weyshila Rocha
Weyshila Rocha01/08/2023 16:10
Compartilhe

Desenvolvimento Ágil: Descubra o Poder do Flutter em Apps Mobile

    Olá Dev’s!

    Exploraremos, neste artigo, em detalhes como o Flutter tem revolucionado a maneira como criamos aplicativos hoje em dia. Com seu desempenho ágil, facilidade de uso e capacidade de criar apps para múltiplas plataformas, o Flutter tem se destacado como uma ferramenta poderosa para aumentar a produtividade dos desenvolvedores.

    Você descobrirá o que é o Flutter, sua finalidade e como utilizá-lo de forma eficiente. Além disso, apresentaremos alguns exemplos de empresas que utilizam essa tecnologia, a fim de demonstrar suas particularidades e características únicas.

    No decorrer deste artigo, você encontrará:

    1. Introdução
    2. O que é Flutter
    3. O que é um Framework
    4. Flutter VS Dart
    5. As vantagens e desvantagens
    6. O que é preciso para fazer o Flutter funcionar
    7. Empresas que utilizam o Flutter
    8. Conclusão
    9. Referências

    image

    Introdução:

    A tecnologia mobile, em particular o smartphone, se tornou uma parte essencial da vida moderna em todo o mundo. O Brasil vendeu aproximadamente 47 milhões de smartphones em 2017 (IDC, 2017).

    Em 2018, o número de smartphones ativos no Brasil superou o número de pessoas, de acordo com a 29° pesquisa anual da Fundação Getúlio Vargas sobre o retrato do mercado de TI. De acordo com os dados do IBGE, 220 milhões de smartphones estavam ativos no país.

    Além disso, os smartphones representam aproximadamente 70% dos aparelhos conectados à internet em nosso país (FGV, 2018). De acordo com Danielsson (2016), com o aumento da demanda de mercado para o uso de dispositivos móveis, as empresas têm se mobilizado para criar aplicativos para esses dispositivos, a fim de tornar seus serviços mais acessíveis para seus clientes. Isso levou an um aumento no mercado de desenvolvimento de aplicativos para dispositivos móveis.

    A demanda por profissionais com experiência em desenvolvimento de aplicativos mobile cresce continuamente à medida que o mercado de dispositivos móveis se expande. Essa configuração incentiva a pesquisa para o desenvolvimento de tecnologia mobile.

    Os sistemas iOS e Android, os dois sistemas operacionais mais populares no mercado mobile, possuem algumas características diferenciada que, quando combinados com os diversos dispositivos atualmente em uso, produzem uma variedade de variáveis para os desenvolvedores, resultando em custos mais elevados para as empresas que desejam o ter seus aplicativos em execução em várias plataformas.

    As linguagens de programação multiplataforma evoluíram a partir do potencial de economia de custos como uma das várias soluções sugeridas para resolver esse problema. O Flutter foi identificado como uma das muitas tecnologias no mercado atualmente. É um framework feito na linguagem de programação Dart pelo Google, ele permite a criação de aplicações usando a composição de widgets.

    Mas afinal, como e por que surgiu o Flutter?

    O "Sky" era o nome da versão inicial do Flutter que funcionava no sistema operacional Android. Quando foi apresentado à equipe de desenvolvedores Dart em 2015, o objetivo era ser capaz de renderizar regularmente 120 quadros por segundo. O Google anunciou o Flutter Release Preview 2, o último grande lançamento antes do Flutter 1.0, durante a keynote do Google Developer Days em Xangai. O Flutter 1.0, que marca a primeira versão "estável" do Framework, foi lançado no evento Flutter Live em 4 de dezembro de 2018. O evento Flutter Interactive ocorreu em 11 de dezembro de 2019, quando o Flutter 1.12 foi lançado.

    Agora começaremos a explorar em profundidade o lado técnico do Flutter, vamos nessa!

    O que é Flutter?

    image

    Flutter é um framework (ferramenta) de desenvolvimento com foco multiplataforma em dispositivos móveis. Criado pela Google, é bastante utilizado no mercado e, mais recentemente, permite a criação de aplicações para desktop (Linux, Windows e macOS).

    Na prática, o Flutter funciona como uma ferramenta de desenvolvimento de aplicativos que funcionam simultaneamente em duas plataformas - Android e iOS. A agilidade, a versatilidade e a menor curva de aprendizado são seus principais benefícios.

    Ao contrário do modelo nativo, em que duas pessoas desenvolvedores são necessárias para cada plataforma, é muito vantajoso para as empresas porque uma única desenvolvedor pode criar aplicativos para vários sistemas operacionais.

    O que é um Framework?

    Framework é um conjunto de bibliotecas, que abordam funcionalidades, e estruturas, para o desenvolvimento de aplicações, a fim de fornecer soluções para um mesmo domínio de problema, permitindo a reutilização do seu código. Assim, através das diversas linguagens de programação, os Frameworks são criados e identificados pelas metodologias, propósitos, e implementações, aos quais os diversos tipos de aplicações, na maioria orientadas a objetos, poderão reutilizar suas estruturas e códigos.

    Um Framework é formado por um conjunto classes implementadas em uma determinada linguagem de programação, que fornece recursos comuns já prontos, validados e testados, os quais podem ser usados para auxiliar o desenvolvimento de software, viabilizando maior eficiência na resolução dos problemas, otimização de recursos, e detecção de erros. Ele fornece um modelo de dados, usados para resolver um problema específico, abstraindo parte do código das soluções que estamos tratando.

    Na programação orientada a objetos, especificamente, um Framework é um conjunto de classes e interfaces, com objetivo da reutilização de arquitetura de software, é composto por objetos, pelos mapeamentos das suas responsabilidades, que através de interfaces, com um fluxo de controle definido, possibilitará a interação com aplicações, ou seja é ele quem irá guiar à solução de um domínio específico.

    Um Framework possui duas partes fundamentais:

    Hot-Spots – são as partes específicas de sistemas individuais, projetados para serem genéricos, os quais podem ser adaptados às necessidades da aplicação.

    Frozen-Spots - definem a arquitetura geral de um sistema de software, seus componentes básicos e os relacionamentos entre eles, imutáveis em todas as instanciações do Framework.

    Flutter VS Dart

    image

    O Dart, uma linguagem desenvolvida pela Google também, é usada no Flutter para otimizar dispositivos multiplataforma para clientes.

    Os componentes/widgets são a base da estrutura do Flutter, que funciona com a linguagem Dart. Além disso, o que são widgets?

    Os widgets são como "blocos" de construção, como lego ou quebra-cabeça, que encaixamos para montar as telas de um aplicativo.

    Para servir como base para uma variedade de frameworks de desenvolvimento de aplicativos, ela visa ser a mais produtiva possível e a mais adaptável possível.

    Ela oferece algumas facilidades de desenvolvimento como:

    • hot reload: para ver instantaneamente as alterações feitas no código (que é bem incomum para linguagens compiladas);
    • Rodar templates no navegador;
    • null safety: permitindo uma maior adaptabilidade do código

    Embora Dart seja a linguagem base do Flutter, você não precisa aprender Dart antes de aprender Flutter. Aprenda Dart enquanto aprende Flutter. Você se aprofundará mais em Dart com o tempo.

    É importante aprender pelo menos o básico de Dart:

    • Variáveis e tipos;
    • Funções;
    • Repetições;
    • Classes/objetos.

    As vantagens e desvantagens

    Assim como todo framework, Flutter tem suas vantagens e desvantagens. A resposta curta para esta pergunta é: depende do caso. Em resumo, se você precisa de aplicações para diversas plataformas e não quer dar manutenção em três linguagens diferentes, Flutter é para você!

    As vantagens do Flutter:

    • Menor curva de aprendizado: por ter uma interface intuitiva, não necessita de muito código escrito a mão e a linguagem base é muito semelhante à já difundida linguagem JavaScript;
    • Multiplataforma: uma mesma base de código permite gerar aplicações multiplataformas, tanto para web quanto para desenvolvimento mobile e desktop;
    • Recursos nativos: por gerar aplicações nativas, é possível acessar recursos (câmera, GPS, armazenamento, wi-fi, etc.) que outras linguagens não permitem;
    • Desempenho: com a transformação do código-fonte escrito em Dart para a linguagem nativa da plataforma que a aplicação foi compilada, o desempenho é maior;
    • Custo-benefício: por possibilitar a criação de aplicações multiplataformas com a mesma base de código, o custo com mão de obra especializada acaba sendo reduzido, assim como custos de manutenção e o tempo de desenvolvimento;
    • Apoio da comunidade: a comunidade de desenvolvedores Flutter vem crescendo e com isso o apoio se torna maior e cada vez mais qualificado. Aqui é importante citar a maior e mais importante comunidade Flutter da América Latina, a Flutterando;
    • Suporte Google: por ter o suporte do Google, é possível encontrar a documentação sempre atualizada, qualidade na aplicação e até ter um certo nível de segurança quanto à vida útil do framework;
    • Código open source: essa abertura do código permite que a comunidade ajude no desenvolvimento da linguagem e do framework, o que o torna mais sólido em menos tempo;
    • Interface: a sua estrutura permite a criação de design personalizado mantendo o padrão entre as aplicações, mesmo com eventuais mudanças no padrão visual das plataformas.

    As desvantagens do Flutter:

    • Incompatibilidades: alguns recursos do framework estão disponíveis apenas para Android, o que faz com que desenvolvedores iOS não se sintam muito à vontade para usar o framework;
    • Linguagem nova e pouco popular: a linguagem Dart praticamente nasceu com o Flutter e ainda não teve tempo suficiente para se tornar tão popular como o Java e Kotlin, linguagens nativas para desenvolvimento na plataforma Android, ou Swift, linguagem nativa da plataforma iOS;
    • Tamanho dos arquivos: os arquivos gerados são grandes e, dependendo do tamanho da aplicação, isso pode ser um problema.

    O que é preciso para fazer o Flutter funcionar?

    Considere que você tenha quase tudo o que precisa para começar o desenvolvimento com Flutter, incluindo um ambiente de desenvolvimento, emulador e IDE. Como podemos começar a construir a nossa aplicação?

    É necessário instalar as ferramentas a seguir no computador:

    1. O arquivo Flutter SDK, que permite o uso da ferramenta;
    2. Android Studio e/ou xCode: fornecem ferramentas de construção para testar e subir an aplicação em dispositivos Android e iOS, além de funcionarem como IDEs;
    3. IDE: é o programa onde você vai escrever o código. Há diversas opções de IDE no mercado para escolher: Visual Studio Code (que utilizaremos neste artigo), Android Studio, xCode;
    4. Um emulador: é necessário para iniciar e testar o aplicativo que pretendemos criar.

    Caso esteja interessado em uma exploração mais profunda da utilização, apresento a vocês um guia completo e minucioso para o seu primeiro contato:

    https://codelabs.developers.google.com/codelabs/flutter-codelab-first?hl=pt-br#0

    Empresas que utilizam o Flutter:

    image

    1. Google: A empresa de tecnologia lidera o desenvolvimento do Flutter e emprega o framework em vários projetos internos.
    2. Alibaba: A Alibaba, uma das maiores empresas de comércio eletrônico do mundo, adicionou o Flutter a alguns de seus aplicativos, oferecendo uma experiência de usuário mais fluida.
    3. Tencent: A Tencent, um gigante tecnológico adicional, é conhecida por incorporar o Flutter em alguns de seus aplicativos de redes sociais e mensagens.
    4. Reflectly: O aplicativo de jornal e diário pessoal Reflectly é um exemplo de sucesso construído totalmente em Flutter que demonstra a capacidade da plataforma para criar aplicativos bonitos e funcionais.
    5. Hamilton Musical: Demonstrando como an estrutura de Flutter também é usada na indústria do entretenimento, o aplicativo do famoso musical da Broadway foi desenvolvido em Flutter.
    6. Abbey Road Studios: Para destacar a versatilidade da tecnologia, o estúdio de gravação icônico escolheu o Flutter para seu aplicativo de mixagem de áudio.
    7. BMW: Para melhorar an experiência do usuário com a marca, a montadora alemã escolheu o Flutter para algumas de suas soluções de aplicativos automotivos.
    8. Nubank: A fintech bem conhecida do Brasil adotou o Flutter em alguns aspectos de sua interface de usuário, o que contribuiu para uma experiência de usuário mais ágil e responsiva em seus serviços.
    9. Philips Hue: A empresa de iluminação inteligente utilizou o Flutter para desenvolver um aplicativo moderno e fácil de usar que permite que os usuários regulem suas luzes de forma prática.
    10. The New York Times: Demonstrando sua confiança em sua capacidade de entrega de conteúdo e usabilidade, o renomado jornal norte-americano incluiu o Flutter em alguns de seus projetos.

    Esses negócios são apenas alguns dos muitos outros que estão adotando o Flutter para melhorar suas aplicações mobile.

    Conclusão:

    Neste artigo, exploramos o encantador mundo do Flutter. Uma excelente maneira de começar a desenvolver aplicações para dispositivos móveis é aprender sobre essa ferramenta.

    A documentação detalhada do Flutter é muito útil nos primeiros passos, tornando-o uma das ferramentas mais fáceis de aprender.

    Para facilitar a compreensão, é fundamental ter familiaridade com a lógica de programação e o paradigma de orientação a objetos.

    Embora o Flutter tenha conquistado muitos pontos positivos, é importante destacar que, como qualquer ferramenta de desenvolvimento, possui seus desafios e limitações. A curva de aprendizado para aqueles que ainda não estão familiarizados com a linguagem Dart pode ser um obstáculo inicial, mas a documentação e recursos de aprendizado fornecidos pela comunidade podem ajudar a superar esse obstáculo.

    No geral, o Flutter tem sido uma adição valiosa ao mundo do desenvolvimento de aplicativos, capacitando equipes e desenvolvedores individuais a criar aplicativos de alta qualidade em diversas plataformas com rapidez e eficiência. Com a contínua evolução e apoio da comunidade, o futuro do Flutter parece promissor, e é uma opção recomendada para quem busca uma solução moderna, versátil e eficaz para o desenvolvimento de aplicativos móveis e web.

    Referências:

    http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/oque.htm

    https://tecnoblog.net/responde/o-que-e-flutter-em-programacao/

    https://lanconi.com.br/9-aplicativos-mobile-feitos-em-flutter-em-2021/

    https://blog.xpeducacao.com.br/flutter/#Por_que_utilizar_o_framework

    https://blog.geekhunter.com.br/flutter/

    https://www.bain.com/contentassets/a9200a057a0241b8963c05a9b09e33fe/impactos-do-android-no-brasil.pdf

    https://codelabs.developers.google.com/codelabs/flutter-codelab-first?hl=pt-br#0

    Compartilhe
    Comentários (1)

    AM

    Aristides Matoca - 01/08/2023 17:41

    Bom conteúdo, obrigado pelo artigo