Flutter para não programadores

Lucas Reinaldo
OPANehtech
Published in
6 min readJan 30, 2024

Um resumo didático do framework

A intenção desse material é apresentar um guia de aprendizado da ferramenta para pessoas que ainda não estão familiarizado com a programação. Ainda, pois como disse Steve Jobs:

Todos neste país ( se referindo aos Estados Unidos ) deveriam aprender a programar um computador, pois isto ensina a pensar.

- Steve Jobs

É importante ressaltar que aprender a programar não está atrelado a uma migração de carreira para a área de tecnologia. Não é um atestado de que você está insatisfeito com a sua formação atual e precisa urgentemente largar tudo para virar um desenvolvedor(a). Programar nada mais é do que criar uma solução para um problema existente, e esse problema pode estar presente em diferentes contextos profissionais, inclusive no seu. Então, tenha em mãos a oportunidade de criar a sua solução!

Professor cria site e aplicativos gratuitos para o ensino de Geografia: https://www.ifsp.edu.br/ultimas-noticias/3061-professor-cria-site-e-aplicativos-gratuitos-para-o-ensino-de-geografia

O que é o Flutter

O Flutter é um framework (leia-se ferramenta) de desenvolvimento multiplataforma criada pela Google e lançada oficialmente em 2018. Sua proposta é oferecer ao desenvolvedor a oportunidade de produzir um software capaz de ser executado em diferentes tipos de plataformas utilizando a mesma base de código.

Isso significa que o Flutter oferece um alto reaproveitamento de código, entregando como saída um software que poderá ser executado nas plataformas mobile, web e desktop.

Mas o Flutter não trabalha sozinho. Como foi dito anteriormente, ele é apenas um framework, uma ferramenta que facilita o desenvolvimento. Por trás do Flutter existe uma linguagem de programação capaz de definir as regras, sintaxes e lógica a ser empregada no desenvolvimento. O Flutter não opera sem ela, e o conhecimento dessa linguagem é primordial para entender as limitações e possibilidades existentes no framework.

Antes mesmo da linguagem

É um erro muito comum entre as pessoas que iniciam o seu desenvolvimento usando o Flutter, ignorar os fundamentos essenciais presente no processo de aprendizagem. Um deles está relacionado ao estudo da linguagem que existe por trás da ferramenta. Começar pelo framework sem antes estudar e conhecer a linguagem, é um erro que poderá causar deficiências técnicas na carreira do programador e dará uma falsa sensação de domínio da ferramenta.

Por outro lado, é importante que antes mesmo de estudar uma linguagem, deva-se estudar a lógica para computação e os fundamentos de programação. Isso destravará seu cérebro para entender que, parafraseando o cantor Marcelo D2:

A v̶i̶d̶a̶ programação é simples, simples, quem complica é a gente..”

Vale a pena pesquisar conteúdos e vídeos sobre o assunto para entender os principais conceitos, conhecer os operadores lógicos e como aplicá-los, os tipos de dados primitivos e não primitivos fazendo sempre uma associação que esses fundamentos são inerentes a linguagem de programação que você pretende aprender. São conceitos universais.

Por fim, antes da linguagem de programação propriamente dita, que tal começar o aprendizado com uma linguagem didática e em português ? Dê uma pesquisada sobre o Portugol e tente usa-lo para praticar os fundamentos que você irá estudar.

Sintaxe de um código simples usando o Portugol

Dart

O Dart é a linguagem multi-paradgima que está por trás do Flutter. Ela foi lançada oficialmente em 2011 pela Google e tem a sua sintaxe baseada na linguagem C.

Estudando o dart, iremos absorver conceitos extremamente importantes que adotaremos na construção de aplicações com o Flutter, como o uso do conceito de segurança nula ( null safety ) e o funcionamento da programação assíncrona:

Exemplo de código dart utilizando o conceito Async Await

Os hiperlinks associados aos termos trazem explicações bem completas dos cenários que se aplicam cada conceito comentado. Caso queira explorar e estudar os outros recursos do Dart, acesse a documentação oficial clicando neste link : https://dart.dev/guides

Dica: Existe uma ferramenta interativa e online para que você possa praticar e validar seu estudo com a escrita de códigos em Dart: Dart Pad.

Principais conceitos do Flutter

Voltando ao tópico do Flutter, é importante enfatizarmos que a proposta desse framework está estritamente ligada a construção de interfaces visuais. Logo, se não há necessidade de construir uma aplicação que tenha camada de front-end, o Flutter se tornará totalmente dispensável para esse cenário.

O Flutter tem inspiração no React e carrega a premissa de oferecer um paradigma de desenvolvimento orientado ao design. Ou seja, toda a construção das interfaces visuais é guiada pelos componentes de UI que serão utilizados. Esses componentes são comumente chamados de widgets e podem ser divididos em dois grupos: Widgets de Interface e Widgets de Layout. A utilização combinada de ambos os grupos de widgets, resultará em uma tela onde serão apresentados os elementos visuais adequados, com suas respectivas restrições de margem, tamanho, padding…

Exemplo do uso combinado de widgets visuais e não visuais

Na figura acima, temos um exemplo visual de como é estruturado uma aplicação Flutter. O text e icon, representam os widgets visuais que assim como os outros widgets pertencentes a esse grupo, tem uma forte dependência dos widgets de layout para que seja definido sua posição e restrições. No contexto da figura apresentada, esses widgets de layout são o Row e o Column. Respectivamente, um é capaz de fazer o alinhamento horizontal dos elementos e o outro vertical. Para ter acesso a lista completa de widgets, acesse o catálogo no link abaixo:

https://docs.flutter.dev/ui/widgets

Além dos widgets pré-definidos, temos a capacidade de utiliza-los como base para criarmos novos artefatos visuais . Dependendo da arquitetura adotada, podemos chamar essas novas implementações de componentes e realizar adaptações dentro deles para que seja possível reaproveita-lo por outros fluxos da aplicação. A criação de componentes em uma aplicação Flutter, atende a um dos critérios da engenharia de software que é o reuso. Através da reutilização de artefatos de software, podemos otimizar o processo de codificação aumentando consideravelmente a velocidade de desenvolvimento de novas funcionalidades que farão uso desses componentes previamente criados.

O Flutter é um ‘’universo de possibilidades’’. Você precisa ser um astronauta para sair da sua zona de conforto e explorar tudo o que essa tecnologia tem pra oferecer.

Considerações Finais

Tudo que é novo assusta. Dá medo, e provoca muita insegurança no começo. Aprender a programar não é um bicho de sete cabeças, mas também não é tão fácil quanto desenhar um boneco palito. A verdade é que a vida é feita de desafios, e os desafios uma vez superado, fortalece mais ainda nossa identidade como pessoa. O Flutter é um framework que poderá ser a sua porta de entrada no desenvolvimento mobile, mas se você realmente tem interesse em aprender e em se aprofundar, se prepare para se dedicar e se deparar com várias situações que fugirão do cenário feliz. Em algumas situações, nem a documentação oficial irá te ajudar, e estará tudo bem. Programação é sobre isso, é sobre te ensinar a pensar, a criar caminhos para problemas existentes, a provocar soluções pré-definidas e tentar melhorá-las.

E como tudo na vida, comece o seu aprendizado do jeito certo. Não pule etapas! Para trazer uma orientação mais completa, segue um link abaixo de um RoadMap do Flutter ( um guia criado pela comunidade da Flutterando indicando qual é o processo de aprendizagem ideal para dominar o framework ).

Até breve!

https://github.com/Flutterando/roadmap

--

--