Back-End

27 jul, 2018

Criando uma aplicação (Internet Banking) com Angular 6: na prática e sem complicações

Publicidade

Olá, pessoal! Tudo bem com vocês?

Recentemente eu estive conversando com o William Oliveira sobre a dificuldade que as pessoas iniciantes na área de TI têm quando o assunto é criar uma aplicação na prática ou coisas do tipo.

Outro ponto também corriqueiro, é que na Internet existem muitos tutoriais teóricos, confusos e pouco práticos, sem falar das vezes que a narrativa é muito técnica, o que prejudica quem não entende jargões técnicos.

Pensando nisso, elaborei uma série de artigos para iniciantes em Angular 2+, em um formato prático, ensinando desde instalação da ferramenta, até a configuração e criação da arquitetura do projeto.

A ideia é desenvolver um SPA (aplicação de página única) Internet Banking com o Angular na Versão 6. Apesar dessa ser a nova versão do Framework, vocês podem seguir os artigos a partir da versão 2 em diante. Porém, é altamente indicado seguir os pré-requisitos para manter uma compatibilidade e diminuir as chances de erros durante o desenvolvimento.

Detalhes sobre o projeto

No final da série pretendo criar um CRUD com o fluxo natural features de um Internet Banking, com recursos como:

  • Cadastro de clientes;
  • Acesso a minha conta;
  • Saldos;
  • Extrato.

Não usarei nenhuma linguagem de Back-end, nem persistirei os dados em um banco. Tudo será salvo no LocalStorage do navegador.

Como dito acima, o conteúdo pretende ser para inciantes, caso fuja do propósito, peço que me avisem nos comentários.

Pré-requisitos

Como editor de texto para o artigo vou utilizar o VS Code, mas fique a vontade para escolher seu editor de preferência. Deixo como sugestão (VS Code, Sublime e Notepad++).

Sobre a arquitetura escolhida

Acho importante entender porque escolhi as tecnologias acima. Primeiro, é válido saberem que grandes instituições e ramos, como: bancos, e-commerce, credenciamento médico, entre outras, estão utilizando essa arquitetura. Portanto, para aproximá-los do cenário atual, decidi utilizar tecnologias que ajudem, caso estejam na busca por oportunidades com Angular.

Obervação: existem outras combinações, por exemplo: React com Redux ou Vue.js com Laravel – depende de empresa para empresa.

Sistema operacional

Escolhi o Windows com o intuito de atender a maioria dos leitores, mas fiquem a vontade para seguir com outros sistemas operacionais também.

Começando as atividades

Considerando que você já tenha instalado o Node.js, abra o prompt de comando e verifique a versão instalada do Node.

Verificando a versão do node.js

node -v

Instalando o angular cli

npm install -g @angular/cli

Para quem não sabe, o angular CLI é uma ferramenta de linha de comando do Angular. Com ele, podemos criar projetos novos, criar components facilmente, dentre outras coisas, muito rapidamente e sem complicações.

Se a instalação der certo, você vera um tela parecida com essa:

Verificando a versão do Angular CLI instalada

ng -v

O angular na versão 6 foi instalado com sucesso.

Criando nossa aplicação

O projeto vai se chamar traning-banking em homenagem ao Training Center. Para criá-lo, é mais fácil que do que você imagina.

ng new traning-bank

Aguarde finalizar a criação do scaffold e instalar as dependências.

Assim que o Angular CLI finalizar a criação do projeto, você terá uma tela parecida com isso:

Sucesso! Entre na pasta do projeto.

cd traning-bank

E inicialize o servidor do angular:

ng s

Tudo pronto! Agora abra o navegador e acesse o endereço a seguir:

http://localhost:4200/

Aplicação rodando, podemos começar a instalação do Angular Material e do Bootstrap.

Abrindo a aplicação no editor de texto

Abra o seu editor de texto e configure-o para abrir a pasta do seu projeto. No VS Code você só precisa clicar em “file>open folder“.

Não vou entrar em detalhes sobre os arquivos da aplicação; vamos aprendendo na prática, aos poucos.

Instalando o angular material

Para quem não conhece o Angular Material, ele pode ser visto como um pacote de components, que a equipe do Angular disponibiliza. É de fácil integração para qualquer aplicação, e segue as boas práticas do Material Design da Google.

Santander utiliza angular/angular material.

Perceba a tag de component <alert>. Pois é, trata-se de um component do angular material. Você pode ver a lista de components que pode usar do Angular Material aqui.

Não se apegue ao detalhes, vamos ser o mais objetivo possível.

Instalando Angular Material

Recomendo que você abra uma nova janela do seu prompt/terminal, e digite o comando:

npm install --save @angular/material @angular/cdk

Assim que terminar a instalação das dependências, você terá uma tela parecida com essa:

Instale agora o pacote de animações. Sem ele, não será possível utilizar, por exemplo, um component de modal.

npm install --save @angular/animations

Animations instalado com sucesso!

Configurando angular material na aplicação

Abra o arquivo app.module.ts, adicione o BrowserAnimationsModule, e em seguida declare em imports.

import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [BrowserAnimationsModule],
  ...
})
export class PizzaPartyAppModule { }
Gif explicativo

Abra o arquivo style.css e importe o CSS do Angular Material.

@import "~@angular/material/prebuilt-themes/indigo-pink.css";

Testando o angular material

Vamos usar um component do material. Veja como é simples usar um modal. Siga os passos a seguir:

1. Importe no app.module.ts o módulo:

import {MatDialogModule} from ‘@angular/material/dialog’;
  • Agora declare o MatDialogModule em imports:
imports: [MatDialogModule]

2. Abra o arquivo app.component.ts e atualize-o, seguindo os passos:

  • Importe o component MatDialog:
import {MatDialog} from '@angular/material';
  • Injete o Matdialog no constructor da classe:
constructor(public dialog: MatDialog) {}
  • E na classe do component, insira os dois métodos:
openDialog() {
    const dialogRef = this.dialog.open(DialogContentExampleDialog, {
      height: '350px'
    });

    dialogRef.afterClosed().subscribe(result => {
      console.log(`Dialog result: ${result}`);
    });
  }

Basicamente, abrir e fechar o component.

4. Para finalizar, abra o arquivo app.component.html e insira o código abaixo:

<button mat-button (click)="openDialog()">Open dialog</button>

Basicamente, temos um botão html, com um event bind (evento) do angular de click, que dispara o método openDialod(. Simples, né?

Vamos ver o resultado?

Sucesso! Agora podemos usar qualquer component do Angular Material.

Instalando e configurando o Bootstrap

Em apenas dois passos conseguimos integrar o bootstrap ao projeto, para isso siga os passos:

1. Instale o pacote do bootstrap via npm

npm install bootstrap --save

2. Abra arquivo style.css e adicione o import do bootstrap

@import "~bootstrap/dist/css/bootstrap.css";

Agora no arquivo app.component.html, insira o código abaixo:

<div class="container">
  <div class="row">
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
  </div>
</div>

Resultado

Acho que é isso. Este artigo fica por aqui. Na parte 2 da série, vamos criar e componentizar nossa aplicação, criar rotas (navegação) e muito mais.

Espero ter ajudado, e qualquer dúvida podem pingar aqui nos comentários, ou se quiser falar comigo, estou sempre no Twitter, então me segu27e lá: @danilodev_silva.

O projeto está no GitHub, e para acessá-lo, clique aqui.

Grande abraço!