Flutter

Eai galerinha! Tudo certo com vocês?

Hoje vamos falar um pouco a respeito do Flutter

Imagem que mostra as características do framework Flutter

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). Vamos entender mais sobre isso?

Na prática, o Flutter é uma ferramenta para desenvolver aplicativos em diferentes plataformas – Android e iOS – ao mesmo tempo com um único código. Logo, seus principais benefícios são a versatilidade, menor curva de aprendizado e agilidade.

É extremamente vantajoso para as empresas, pois uma pessoa dev pode desenvolver aplicativos para sistemas operacionais diferentes, oposto ao modelo nativo, em que são necessários duas pessoas devs para cada plataforma.

O que é um framework?

framework pode ser simplesmente definido como uma ferramenta. Em uma definição mais aprofundada, trata-se de um pacote de códigos de bibliotecas pré-prontas que facilitam o desenvolvimento do projeto.

O Flutter é uma linguagem de programação?

A resposta é simples: não! O Flutter não pode ser considerado uma linguagem de programação como Dart, Java e .net; trata-se de um framework.

Qual linguagem o Flutter utiliza?

O Flutter utiliza o Dart, também criada pela Google, uma linguagem otimizada para dispositivos clientes (ou client-side) multi plataforma.

O objetivo dela é ser a mais produtiva possível e também a mais flexível para servir como base para diversos frameworks de desenvolvimento de aplicativos.

Até o momento da escrita deste artigo, Flutter é o único framework que utiliza Dart para desenvolver aplicativos.

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, não é necessário que você aprenda primeiro Dart e depois Flutter. Você pode ir aprendendo Dart enquanto aprende Flutter. Quanto mais você se aprofundar em Flutter, mais vai se aprofundar em Dart por consequência.

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

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

O que é multiplataforma?

Dizemos multiplataforma em razão de que o Flutter desenvolve um único código, que funciona simultaneamente para diferentes sistemas operacionais; esse modelo de desenvolvimento é chamado de híbrido.

Há também a opção de desenvolvimento nativo. No mercado de mobile, antes era difícil programar um aplicativo para Android e iOS ao mesmo tempo, pois o desenvolvimento para dispositivos diversos requer técnicas em diferentes linguagens de programação, e cada uma delas com suas características e estruturas:

  • Sistema operacional Android utiliza Java/Kotlin;
  • Sistema operacional iOS usa Swift;
  • Desktop pode ser desenvolvido com Java/JavaScript(Electron)/Rust etc.

Imagem que mostra um diagrama com de como funciona o desenvolvimento mobile e as tecnologias híbridas e nativas

Ou seja, há um problema: sabendo Kotlin, posso construir apenas para Android, porém não para iOS! E para solucionar isso, o Flutter foi criado: nele conseguimos produzir aplicações multiplataforma.

A partir da versão 2.10 do Flutter, podemos desenvolver aplicações para desktop também. Desta forma, o Flutter é uma das tecnologias mais maleáveis do mercado.

Como funciona o Flutter?

Flutter funciona com a linguagem Dart e sua estrutura funciona por meio de componentes/widgets. E o que são widgets?

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

O Flutter utiliza como base o Dart, uma linguagem de programação do paradigma Orientação a objetos. Com o Dart no núcleo, podemos criar aplicações que são mais otimizadas para diversos dispositivos do que outras ferramentas híbridas, por exemplo, o React Native.

Quando falamos de linguagens mais otimizadas, pensamos no tempo de execução e performance. Desenvolver na linguagem nativa do dispositivo é sempre mais performático do que com uma linguagem híbrida independente de qual seja ela, além de que novas features são implementadas primeiro nas linguagens nativas.

Por que utilizar Flutter?

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ê!

Vantagens do Flutter

Linguagem orientada a objetos

Como falado acima, Flutter utiliza Dart como base. Dart é uma linguagem com estrutura muito semelhante a linguagens focadas em orientação à objetos, por exemplo, o Java.

Uma das vantagens da linguagem é que ela não é presa 100% ao tipo. Dart tem a capacidade de adaptar o tipo de uma variável sem que ela seja declarada explicitamente. Também tem a capacidade de trabalhar com valores nulos através do null safety.

Assim, o Flutter combina as vantagens de linguagens mais robustas como Java e a adaptabilidade do JavaScript. Isso pode ser tanto uma vantagem quanto uma desvantagem.

Ao mesmo tempo que temos liberdade para declarar variáveis como quisermos, nós também precisamos nos preocupar de colocar o tipo certo no lugar correto. Às vezes isso pode causar confusão no momento de codar.

Documentação de qualidade

Uma outra grande vantagem do Flutter é a sua documentação. Flutter conta com uma documentação bem detalhada e estruturada de como instalar, configurar e utilizar em um projeto.

A documentação conta com exemplos de códigos, tutoriais e uma descrição bem detalhada do que cada componente faz. Convido você a abrir a documentação do Flutter e explorar tudo o que ela pode oferecer. É bem incomum encontrar uma linguagem tão bem documentada quanto o Flutter.

Mesmo para linguagens mais famosas como JavaScript ou Java as documentações oferecem pouco suporte. Geralmente, contamos mais com a ajuda da comunidade do que realmente dos órgãos desenvolvedores. Sites como Stackoverflow ou Dev.to acabam servindo mais como suporte “oficial”.

Mesmo falando extremamente bem da documentação do Flutter, ela não é perfeita. Os exemplos nem sempre mostram a forma mais eficiente para o nosso caso de uso (para esses casos precisamos de suporte da comunidade), e alguns componentes/widgets tem a sua descrição um pouco confusa.

No geral é uma linguagem muito boa para começar porque o suporte inicial é bem estruturado e completo, permitindo que você consiga criar pequenas aplicações com facilidade.

Desvantagens do Flutter

Vamos ser sinceros com você: toda e qualquer tecnologia apresenta vantagens e desvantagens; é importante que você as conheça para tomar decisões embasadas e conscientes em sua carreira. Afinal, para quem não sabe aonde vai, qualquer caminho serve, não é mesmo?

Configurar o ambiente de aprendizagem

Uma desvantagem (e no geral para frameworks híbridos) é configurar o ambiente de desenvolvimento. Para codar em Flutter, precisamos de duas ferramentas: uma IDE (VSCode, VisualStudio, AndroidStudio, etc) ou um editor de texto (bloco de notas, notepad++, Atom, etc).

Se você quiser saber mais sobre o que é uma IDE, acesse este artigo que explica o que é essa ferramenta. Basicamente, uma IDE é o programa onde a gente escreve as linhas de código.

O problema vem na hora de testar a aplicação. É necessário que você tenha um dispositivo virtual ou físico que emula um celular funcionando em tempo real. Para Android, é um pouco mais tranquilo porque o emulador roda em várias máquinas. Já o iOS precisa de um Mac com xCode.

Print de tela do emulador android.

Existe uma diferença entre emulador e simulador. Rapidamente explicando: o emulador imita todo o hardware e software como se fosse um dispositivo real. Por sua vez, o simulador é um ambiente que imita o comportamento e estado de um dispositivo. Emuladores precisam de um sistema mais poderoso para rodar do que um simulador.

E mesmo para Android, o seu sistema precisa ser poderoso o suficiente para rodar o código e o emulador. Um sistema muito fraco pode tornar a experiência de codar muito exaustiva e frustrante.

Essa é a primeira e principal barreira para começar a desenvolver aplicações híbridas.

Tempo de mercado

Uma outra desvantagem é que Flutter ainda é muito novo no mercado. Então ainda existem poucos recursos criados pela comunidade, como por exemplo respostas à dúvidas e posts/vídeos com ideias e tutoriais.

Agora que entendemos as vantagens e desvantagens do Flutter, é hora de ir para o código — a parte que você provavelmente estava esperando!

Curva de aprendizado

Uma dúvida comum para iniciantes nos estudos da tecnologia pode ser: Qual a curva de aprendizado do Flutter?

Os pré-requisitos, conhecimentos e técnicas que você precisa dominar para mergulhar no Flutter são:

Se você está iniciando os estudos na área de desenvolvimento, pode estudar com a gente na Alura! Temos um roteiro de estudo simplificado:

  1. Comece com a Formação Iniciante em Programação para entender lógica de programação e criar os primeiros algoritmos;
  2. Em seguida, siga para a Formação de Dart e desenvolva sólidas técnicas com a linguagem – o que ajuda muito no Flutter;
  3. Por último, mergulhe de cabeça na Formação Flutter!

Aprenda mais sobre Flutter

Acesse gratuitamente as primeiras aulas da Formação Flutter, feita pela Escola de Mobile da Alura e continue aprendendo sobre temas como:

  1. Flutter: Widgets, Stateless, Stateful, Imagens e Animações
  2. Flutter: Controller, navegação e estados
  3. Flutter: aplicando persistência de dados
  4. Flutter com WebAPI: integrando sua aplicação
  5. Flutter com Web API: evoluindo na integração da aplicação

Mercado de trabalho e empresas que utilizam Flutter

É natural também se perguntar: o mercado de Flutter é aquecido e oferece boas oportunidades? Quais técnicas preciso dominar para me inscrever em um estágio ou vaga Dev Flutter Júnior?

O mercado de Flutter é promissor e você pode encontrar boas oportunidades. Veja algumas empresas que utilizam o Flutter:

  • Nubank;
  • iFood;
  • Alibaba;
  • Ebay.

 

Aqui tentei apresentar para vocês o Flutter, é incrível tudo o que pode ser feito com ele, caso queiram saber mais, vou deixar igual o post do PHP (para quem não viu segue o link → https://giovanidacruz.com.br/php/) para acessar o link do material onde eu usei de exemplo, lá tem vários posts e até exemplos mais completos de como criar um app (ficava muito grande o post se eu colocasse aqui kkk)!

Espero que tenham gostado, valeu!

 

Fonte e alguns exemplos:

https://www.alura.com.br/artigos/flutter

  • Publicado por Giovani Da Cruz
  • 55 views
  • 0 comentarios
  • 16 de novembro de 2022

 

Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Computação

Continue aprendendo

Aumente o seu conhecimento
Explorando a Tokenização: Uma Abordagem Crucial no Processamento de Dados
4 de abril de 2024
Conheça o GPT: A Revolução da Inteligência Artificial no Processamento de Linguagem Natural
4 de abril de 2024
Qual a diferença entre software livre e software open source?
1 de abril de 2024
A Importância de Protótipos na Área de Desenvolvimento de Software
27 de março de 2024
Para Onde Vão Meus Arquivos Excluídos?
24 de março de 2024
Como Fazer Comentários em Instruções de um Arquivo .BAT
20 de março de 2024
Arquivos .BAT: Uma Janela para a Automação no Windows
19 de março de 2024
Como você se torna um especialista em sistemas?
29 de fevereiro de 2024
A Fascinante Mágica dos GUIDs: Identificadores Únicos no Mundo Digital
31 de janeiro de 2024
O que é análise de coorte?
20 de janeiro de 2024