Top Posts

Série NZ:Processo Intercâmbio

Continue lendo

Série Ionic: Um pouco sobre o Ionic + AngularJS

Posted by camilolopes | Posted in AngularJS | Posted on 25-04-2015

2

ionic-angular-opti

olá Pessoal,

Hoje vou falar rapidamente sobre esse cara aqui Ionic. Que tem ganhando bastante popularidade quando
se fala em desenvolvimento mobile hibrido. Mas, a pergunta o que esse cara faz de tão especial?

lets go…

Vamos entender…

Há ainda uma confusão sobre o que é o Ionic, ele é tão simples que não parece verdade. Vou explicar  nesse post de forma pratica com o que vivemos aqui na ITSLabs. Ter adotado o AngularJS no passado como nosso framework de front-end, hoje tivemos o ganho em desenvolver mobile com Ionic, pois não precisamos fazer quase nada para ter uma app mobile, claro só o trampo de desenhar a cara da app. Mas,  toda camada de serviço, já veio de graça da app web.

O Ionic…

Nada mais é que um framework front-end para mobile. Pense nele como um angular-ui, bootstrap. Ele é html e css e feito em cima angularjs, ou seja, se vc já desenvolve com angularjs, não nada que aprender, apenas usar o Ionic como vc usa o bootstrap ou angular-ui. Agora se vc nunca viu angularjs, terá que aprender o framework da Google para entender o que é um controller, services, factory etc. E dai saber como usar o Ionic, senão ficará perdido e achar tudo confuso. Mas, é muito mais simples que possa imaginar. Fizemos uma app aqui em menos 5 min, já integrando com o serviço no server.

Nosso cenário aqui

Para ficar mais claro, aqui na ITSLabs temos projeto com java no back-end + angularjs se comunicando via rest com jersey. E nada demais aqui. Quando pensamos em fazer app mobile, dai veio e agora? o que aproveitar? Com ionic aproveitamos tudo, desde os controllers e serviços que criamos no front-end, até o serviço rest que disponibilizamos, então só nos preocupamos em fazer o design, ver os componentes disponiveis no Ionic e ter mais de uma versão da app com diferente UX para validar qual seria mais apropriado para o perifl do usuário que estaria usando a versão. Fizemos tudo isso em minutos.

E como testar?

Ah, isso aqui parece uma piada. Tem uma app no Google Play chamado de Ionic View que permite testar sua app no celular, isso mesmo. Veja como funciona:

1. voce baixa o ionic view para o seu celular IOS ou Android

2. Cria a conta no Ionic View

3.Faz o upload da app do Ionic

4. Pronto. Agora é so usar clicando em view no IonicView

Ele irá simular a APP. Observe que não fizemos deploy pra iOS,mas conseguimos simular no Iphone por exemplo. O resultado no iOS não é diferente da app final. Porém, achei problemas no tablet Android 4.1 da Samsung na hora de simular pelo IonicView ele deixou zicado o front-end. Ainda não sei o motivo, mas ao fazer deploy no apk por exemplo está tudo certo.

Essa é a forma mais simples de testar se não quiser ter um simulador local na máquina.

Iai curtiu o Ionic view? Olha aqui nossa app:https://www.facebook.com/usecash

No meu Github.com/camilolopes tem um app de exemplo:

https://github.com/camilolopes/workspaceAngularJs

Conclusão

Eu confesso que estou gostando muito da experiência de desenvolvimento e preparei uma série que vou trazer nela o que estamos fazendo aqui na ITSLabs, pois tudo que estamos fazendo aqui vai para produção. Próximo posts da série vamos ver instalação,um pouco de mão na massa,e depois vamos chegar o grande momento de deploy e opções que temos de fazer isso pra colocar nosso app na store da vida.

abraço, see ya!!!

Série AngularJS:Enviando Notificação por E-mail AngularJS + JavaMail + Gmail

Posted by camilolopes | Posted in AngularJS | Posted on 26-01-2015

0

angularjslogo

olá Pessoal,

O post de hoje vamos ver como enviar uma notificação por email, usando JavaMail com AngularJS e tendo o gmail como servidor de email. Aplicação é bem simples e vou usar um dos archetypes maven + angularjs que criei, assim vai poupar bastante tempo de configuração do projeto e podemos focar no que mais interessa para o post.

lets go…

Requisitos:

  • archetype-webapps-java-angularjs-yeoman;
  • JavaMail;
  • Ter uma conta Gmail;

Starting…

Para começar instale o archetype a seguir:

https://github.com/camilolopes/archetype-webapps-java-angularjs-yeoman

O archetype acima, já vem com o Spring, Restful via Jersey, Twitter Bootstrap, AngularJS 1.0, Yeoman etc. Se não tiver o archetype instalado, siga os passos no GitHub do projeto.

O Projeto
O projeto de exemplo,vai simular uma recuperação de senha onde o usuário informa o email cadastro e em seguida receberá um e-mail com as instruções para recuperação de senha. Para envio

Development

Vamos começar a meter mão na massa.Vou ser bem objetivo e considerar que você já conhece AngularJS + Java.

Passo 1

Criando o projeto

emailnotificationmavenarchetype

Escolha o archetype e preencha os campos com o nome do seu projeto.

Passo 2

Apague todos os packages em src/main/java deixando assim:

 

emailnotificationpackages

E apague os packages em src/test/java

Passo 3

No arquivo pom.xml adicione a seguinte dependencia:

E remova a tag

 

 

Passo 4
Abra o arquivo applicationContext.xml e apague todo o código relacionado a banco de dados, deixando o conteúdo assim:

Passo 5

No arquivo web.xml vamos informar o local onde ficará as classes dos serviços restful, no meu caso será:

 

Observe que o caminho para API Restful será /rest/*. Você pode chamar como quiser /api/*.

Passo 6

Vamos desenvolver uma classe que terá o serviço de enviar o e-mail e as configurações do gmail, chamei de EmailNotificationService, veja a seguir (classe e os métodos são auto-explicativos):

 

Passo 7

Criaremos um objeto para representar os dados na tela User.java

 

Passo 8

Agora vamos fazer o Controller e serviço restful:

Agora que temos o back-end pronto, vamos começar com o front-end. Primeiro passo, após a criação do projeto é instalar o bower para baixar as libs necessárias para isso via console vá até a raiz do projeto e depois até a pasta src/main/webapp e digite:

Aguarde a instalação terminar.

Como estamos usando o Yeoman + AngularJS ele já vem com uma estrutura minima funcionando, então vamos reaproveitar.

main.js

Vamos deixar o arquivo assim:

 

Criando EmailService.js

vamos gerar o arquivo para camada de serviço, para digite:

E altere o arquivo emailservice.js deixando assim:

Alterando o arquivo app/index.html
Vamos arrumar o nome do arquivo EmailService.js para forma correta deixando assim, na linha 72:

Criando o views/home.html

Agora precisamos criar a tela que faz a recuperação de senha:

 

Alterando a rota

Em app.js altere a rota deixando assim:

 Testando

Vamos testar aplicação.Primeiro passo é compilar toda aplicação:

Agora vamos subir:

emailnotificationrun

Agora vou informar um e-mail e em seguida verificar se receber o e-mail:

emailnotificationrundata

O email acabou de chegar:

emailnotificationreceived

emailnotificationbodysent

O projeto example está disponível no meu Github

https://github.com/camilolopes/emailNotification-angularjs

Simples não? A aplicação é bem simples, e claro que se fosse um código final tem muita coisa para melhorar. Uma delas é não ter as informações de envio do e-mail (from) hard-code. A autenticação também não deveria está hard-code :D.

Vou ficando por aqui…

See ya!!