Usando Yoeman com AngularJS

yeoman

Olá Pessoal,

No post de hoje vamos ver como usar o Yeoman com AngularJS.  Eu falei sobre o Yeoman rapidamente nesse post.

Lets go…

Step 1

Para o ambiente Windows, você pode ter o Gitbash instalado com suporte a execução de comando linux/unix. Instale também o NodeJS.

 Step 2

Agora abra o Gitbash e digite o comando

npm install -g yo

 

yoemaninstall

Ao terminar

 yoemanfinishedinstall

Step 3

Para ter suporte à criação de projetos com o angular, precisamos instalar o generator para o framework.

npm install -g generator-angular

yoemaninstallangular

Crie uma pasta algo como yeomandemo. Entre nela e digite

 yo

 

Responda Y

E escolha a opção:

yo angular

 

E vá respondendo às perguntas.

 yoemanangularsetup

Pronto, seu projeto foi criado. Para entender a estrutura há um post completo: http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/

 No meu github coloquei um exemplo do projeto demo que fiz com yoeman gerando o projeto com angular https://github.com/camilolopes/workspaceAngularJs

 Abraços. See ya!!!

Série AngularJS: Criando blackList com angular-ui validate

Olá Pessoal,

O objetivo do post de hoje é mostrar um pouquinho do que temos no angular-ui.  E para isso vou mostrar um recurso de ui-validate que permite validar se o valor recebido está em um Blacklist ou não.

Lets go…

Starting…

O angular-ui é uma suíte baseado no angularJS com vários componentes UI implementados. Tem coisas bem bacanas e é um projeto que é tão novo quanto o angularJS. Ainda acho o angular-ui um pouco bagunçado e tem poucas informações de como getstarted por exemplo para pegar o .js, não está em um local simples, tem bastante coisa separado. O ideal era oferecerem .js de maneira mais simples e fácil de achar no site.

O código é bem simples, apenas um input e o nome do usuário. Se ele digita alguma palavra que esteja no blacklist, o botão de submit não é habilitado.

Metendo a mão na massa

Vou considerar que você já vem acompanhando a série do angularJS e tem as configurações básicas. Não seria legal repetir toda configuração a cada novo post. Vou colocar apenas o código relacionado  ao objetivo do post.

Step 1

Adicione o angular-ui.js  ao projeto

Step 2

Como estou usando rotas e o ng-view tudo fica na index.html, então vou colocar para carregar o novo arquivo angular-ui.js  lá. Veja como fica:

<script src="js/lib/angular-ui.js"></script>

 Step 3

Crie um controller

var blacklistController= function($scope){

       //criando meu black list, um array.

       $scope.blacklist= ['satanas', 'biba'];

       //verifica se a palavra digitada corresponde ao que temos no blacklist

       $scope.notBlackListed = function(value){

             return $scope.blacklist.indexOf(value)===-1;

       }; 

};

 Step 4

Agora vamos criar o arquivo HTML, que não tem nada de especial. Chamei ele de angularui.html

<form name="form">

<label> first name</label>

<input name="firstname" type="text" ng-model="user.firstname" required

ui-validate="{blacklisted:'notBlackListed($value)'}"/>

 <button ng-disabled="form.$invalid" class="btn">Submit</button>

</form>

 

Step 5

Como estou usando o recurso de rotas do angularJS, preciso atualizar para quando eu chamar a url  /angularui ele deve carregar o controller. Basta adicionar a linha abaixo:

when("/angularui",{templateUrl:"angularui.html",controller:blacklistController}).

 

 Testando

Vamos testar agora:

uivalidateinvalid

Observe que o botão de submit não ficou ativo.

uivalidatevalid

Agora sim. Simples, não?

Claro que ao clicar nada acontece. O objetivo aqui não era dar funcionalidade real, mas mostrar como o ui-validate do angular-ui facilita nossa vida. Óbvio que as palavras do nosso blacklist deveriam ser recuperadas de uma base de dados através de um serviço  REST, por exemplo.

Bom, vou ficando por aqui. Espero que tenham curtido um pouco do angular-ui e é claro que há muito mais coisas, basta acessar  http://angular-ui.github.io  e se divertir.

Abraços. See ya!!

Série AngularJS: Atualizando versão do AngularJS via Yeoman

yeoman

Olá Pessoal,

No post de hoje vamos ver como dizer para o Yeoman usar uma versão específica do angularJS.

Lets go…

Atualizando AngularJS via Yeoman

Por default, o Yeoman na versão 1.0 vem com o AngularJS 1.0.7, mas se precisamos usar a versão mais recente ou uma específica, como atualizar? É bem simples.

Note: vou considerar que você criou seu projeto via yeoman.

Step 1

Abra o arquivo bower.json

Step 2

Altere as dependências a seguir para a versão desejada:

"angular": "~1.2.9",
"angular-resource": "~1.2.9",

 "devDependencies":

{

    "angular-mocks": "~1.2.9",

    "angular-scenario": "~1.2.9"

  }

  Step 3

Digite bower update e aguarde atualização

bowerupdateversion

Step 4

Agora execute:

bower install --save angular-route

 Step 5

Precisamos atualizar o arquivo Karma.conf.js  no array files adicione:

'app/bower_components/angular-sanitize/angular-route.js',

 Step 6

Abra o arquivo apps.js  e atualize. Adicione ngRoute ficando assim:

angular.module('webappApp', [

  'ngCookies',

  'ngResource',

  'ngSanitize',

  'ngRoute'

])

Step 7

Abra o arquivo index.html dentro de app/index.html e adicione a linha a seguir no bloco de script/modules.js

<script src="bower_components/angular-route/angular-route.js"></script>

Pronto. Veja que a estrutura do projeto foi alterada de acordo com a versão escolhida do AngularJS. Sabemos que a partir da versão 1.2 tivemos mudanças que são incompatíveis com projetos na versão 1.0.x, como já citei aqui no blog.

Vou ficando aqui e espero que tenham gostado do post.

Abraços, see ya!

AngularJS: Primeira aplicação a gente nunca esquece

Olá pessoal,

O post de hoje é mais para compartilhar com você a minha primeira aplicação com angularJS.  Como dizem: “a primeira vez a gente nunca esquece”, e comigo não foi diferente. Apesar da aplicação não seguir boas práticas, eu não quis apagar da minha vida,pelo contrário.

Lets go..

Movie Vote

É uma aplicação que exibe aos usuários opções de filmes e no final mostra o mais votado.  A combinação nunca pode repetir o mesmo filme na pergunta, ou seja, não posso perguntar: “Qual seu filme favorito?”.

  1. Batman
  2. Batman

Desenvolver essa aplicação simples na época me ajudou a entender muitas coisas básicas do framework que não conhecia bem ou não entendia quando fazia de maneira isolada. Juntar as peças e comunicação entre controller, view etc, faz a diferença no aprendizado, e certamente vamos errar, ter exceções na tela, mas não vamos desmotivar e desistir. Quando criei essa aplicação o objetivo mesmo era praticar o básico do básico do framework, sem ainda estar preocupado com as boas práticas etc. Deixei isso para o segundo tempo do jogo.  Depois de ter desenvolvido, aprendi como internacionalizar apps com angularJS e coloquei em prática  testando no movie-vote.

Onde quero chegar?

Sem prática, não tem como aprender. Parece óbvio, mas é preciso exercitar, criar, dar trabalho para você mesmo, e não necessariamente criar algo complexo; pode ser simples. Esse simples, pode acreditar que vai dar um certo trabalho de fazer quando você está usando uma tecnologia nova. E o melhor de tudo: não se envergonhe daquilo que fez quando estava aprendendo, tenha orgulho, pois quando você olha para o passado e vê o presente saberá se evoluiu ou continua escrevendo e pesando da mesma forma que começou.

Vou ficando por aqui. Segue o link da aplicação movie-vote https://github.com/camilolopes/workspaceAngularJs

Abraços, see ya! 

Série AngularJS: Usando Yeoman com AngularJS

yeoman

Olá Pessoal,

No post de hoje vamos ver como usar o Yeoman com AngularJS.  Eu falei sobre o Yeoman rapidamente nesse post.

Lets go…

Step 1

Para o ambiente Windows, você pode ter o Gitbash instalado com suporte a execução de comando linux/unix. Instale também o NodeJS.

Step 2

Agora abra o Gitbash e digite o comando

npm install -g yo

 

yoemaninstall

 

Ao terminar

yoemanfinishedinstall

 

Step 3

Para ter suporte à criação de projetos com o angular, precisamos instalar o generator para o framework.

npm install -g generator-angular

yoemaninstallangular

 Crie uma pasta algo como yeomandemo. Entre nela e digite

 yo

 

 Responda Y

 

E escolha a opção:

yo angular

 

E vá respondendo às perguntas.

yoemanangularsetup

Pronto, seu projeto foi criado. Para entender a estrutura há um post completo: http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/

No meu github coloquei um exemplo do projeto demo que fiz com yoeman gerando o projeto com angular https://github.com/camilolopes/workspaceAngularJs

Abraços. See ya!!!