Flutter — Conhecendo o Flutter
O desenvolvimento de aplicações mobile tem se popularizando cada vez mais ao longo dos tempos, acompanhando assim a evolução e popularização dos smartphones que acabaram dominando o mundo!
Usamos todos smartphones, porém não correm todos o mesmo SO e foi pensando nisso que os engenheiros da Google lançaram em Maio do ano passado(2017) o Flutter, permitindo aos desenvolvedores maior facilidade de desenvolvimento e gestão de diferentes projectos para uma mesma app mas em plataformas diferentes, mais concretamente o iOS e o Android.
Este é o primeiro artigo da série Flutter. Desde conhecendo o Flutter, até tornamo-nos amigos íntimos deste e contará com 3 artigos:
- Conhecendo o Flutter (este artigo);
- Hey Flutter, Diz Olá Mundo e
- Flutter Widgets.
O que é o flutter?
Flutter é um FrameWork para desenvolvimento mobile da Google que permite desenvolver aplicações nativas IOS e Android usando um único código. As aplicações desenvolvidas em Flutter são com recurso a linguagem de Programação Dart e é baseado e widgets, o que faz com que aplicações desenvolvidas com recurso a flutter possam ser chamadas Widget Applications.
O framework é grátis e de código aberto!
Widgets e Flutter!
Em Flutter tudo é considerado widget, desde a cor do botão até a própria tela.
Mas o que são Widgets???
Widgets são os componentes de uma aplicação que permitem ao utilizador interagir com as várias funcionalidades da nossa App.
E quanto mais bonitos e chamativos os widgets mais interessante ao utilizador fica interagir com a app!
O Flutter que não é bobo, vem trazer o conceito de widgets como um main core do desenvolvimento de aplicações mobile, tornando assim a aplicação mais chamativa e interactiva.
É possível controlar usando o conceito Widget tree, que poderemos ver mais adiante na série e que permite melhor gerenciamento de nossa aplicação e cada frame que ela possui.
Dart e Flutter!
Para aplicações que permitam desenvolver com base em widgets a Google escolheu o Dart, e devo dizer que foi uma escolha acertada depois de dar uma olhada!
Dart é uma linguagem de programação concisa, fortemente codificada e orientada a objetos.
O Dart é de fácil aprendizado, especialmente pra quem já vinha programando em Swift, C#, java e javaScript, pois carrega consigo algumas características similares a estas como o facto de ser case sensitive, possibilidade de definir propriedades de elementos. Creio que a partir destas duas já deu pra identificar-se mais com o Dart, seja bem-vindo 😁.
O Dart é uma linguagem que permite o desenvolvimento de aplicações em módulos tornando a percepção do código mais simples e ainda a sua manutenção; Possui ainda uma performance magnífica em termos de desenvolvimento e produção pelo facto de suportar a compilação Just-in-Time e Ahead-of-Time.
Compilação Just-In-Time permite compilar o código diretamente no dispositivo o que permite o uso do hot-reload do flutter que iremos abordar ainda nesta série.
Ahead-Of-Time permite que o código da aplicação compile directo no código ARM, pelo que a app arranca mais rápido e torna a performance mais rápida, o que dá ao flutter um desenvolvimento mais rápido e possibilidade de correr em IOS e Android com mesma performance.
Flutter combina o melhor de ambas soluções.
Material Design e Flutter!
Para desenvolver aplicações sejam mobile, web ou desk nos últimos tempos a opção mais viável é o Material Design e… claro é da Google, portanto não seria uma opção a descartar no desenvolvimento de aplicações baseadas em widgets, algo que a Google já possui.
O Material Design nada mais é que uma forma de organização dos elementos de uma aplicação (widgets), ou de forma mais simples regras que definem o comportamento destes widgets.
O flutter usa bibliotecas do material design como o material.dart.
import 'package:flutter/material.dart';
O que permite o desenvolvimento de widgets de forma mais organizada e claro mais bonita, visto que o Material Design tem como grande feature trazer designs mais bonitos ao mundo de desenvolvimento de aplicações.
A partir deste pacote com várias classes relacionadas com o Material design preparadas para desenvolvimento em Dart é possível ter um mesmo application behavior para ambas plataformas IOS e Android.
Porquê Flutter?
Bom, foram explicados alguns conceitos relacionados ao Flutter, mas será que é o suficiente para largar Swift e Kotlin (ou Java), largar outros frameworks como Ionic e React native??
Eu creio que já sabemos a resposta a essa pergunta, claro que seria Sim, mas porquê???
Resposta:
O Flutter possui:
· Modern Reactive framework;
· Engenho que permite rápida renderização para aplicações 2D directo na app;
· Ferramentas de desenvolvimento como o Inspector e flutter Doctor que iremos abordar mais adiante nesta série;
· Compila directo no código ARM do dispositivo.
Qualidade e performance com facilidade de desenvolvimento e renderização rápida e animações leves!
Requisitos necessários
Para desenvolver widget apps usando o Flutter basta-nos ter :
- Android Studio v3.0 ou superior;
- Xcode v9.0 ou superior e
Baixar e instalar o flutter sdk: https://flutter.io/docs/get-started/install
Bom, este foi literalmente o meu primeiro artigo!
Obrigado por acompanhar até ao fim e espero por você no próximo artigo.
Para questões e sugestões esteja a vontade para tal nos comentários, email igorlsambo1999@gmail.com ou twitter @lsambo02.
Obrigado e até ao próximo artigo!!!