Olá Pessoal,
Resolvi criar esse post para ajudar aqueles que estão querendo começar com o AngularJS, mas não sabem como dar os primeiros passos.
Lets go…
Por onde começar?
Essa é uma pergunta muito comum para quem quer ter o primeiro contato com o framework da Google. Eu também fiz essa pergunta quando me foi apresentado o AngularJS, apesar de que a documentação do framework é boa e está em atualização constante. Algumas coisas não são bem explicadas como deveriam, mas dá pra fazer pelo menos um “Hello world” e tirar dúvidas de como usar algumas funcionalidades do Angular, sem falar que a lista de discussão deles é bem ativa e os próprios desenvolvedores do framework estão lá participando.
Sabemos que se formos no Google.com e realizarmos uma pesquisa sobre AngularJS vai ter bastante post sobre assunto, e alguns de qualidade, mas será o suficiente para você de fato aprender o framework? Depende até onde você deseja ir. Para sair do 0 x 0 o material que está disponível na internet já é mais que o suficiente, mas se você deseja se aprofundar mais no framework e começar a tratar o mesmo para ambientes corporativos, dai terá que entender alguns assuntos mais específicos, pois achei as informações práticas limitadas na documentação. Sem falar que entender angularJS é apenas uma parte da história, o ideal é que você entenda como trabalhar com frameworks JS da mesma forma que você trabalha do lado do servidor, por exemplo unit test, build etc. Eu particularmente estou entrando aos poucos no mundo JS e o Angular está sendo meu ponto de entrada, uma vez que client-side nunca foi meu forte por questões de projetos e fora um trauma que tenho de JavaScript de 13 anos atras, mas hoje acho que ja superei.
Quando me perguntam por onde começar com o AngularJS sempre recomendo na seguinte ordem:
1. Internet: pesquise posts sobre o assunto na Internet, veja aqueles que tem qualidade e comece a ler, e se for prático ja saia metendo mão na massa. Leia a parte teórica que tem na documentação, participe de grupo de discussões como o AngularJS-Brazil e o AngularJS-Brasil no Faceboook. Aqui seu objetivo é descobrir o framework, de poder brincar com ele e saber se você curtiu o jeito de “trampar”. Acho que é a melhor forma e mais barata que se deve seguir quando ainda está experimentando se você deve investir tempo e dinheiro no angularJS. No grupo AngularJS-Brazil eu postei uma pilha de hotlinks sobre o framework, é só acessar o grupo e conferir.
2. Livros: Hoje há bastante livro sobre o assunto comparado a 3 meses atras onde tinham apenas 2-3. Mas o negócio cresceu e temos mais opções.
3. Comunidade: Participe das comunidades ativas do AngularJS. A página no facebook é bem agitada e recentemente criei um grupo no Google Groups AngularJS-Brazil para centralizar posts, links e discussoes sobre o framework.
A seguir alguns livros que recomendo:
É um livro em português sobre o framework, mas ainda está em desenvolvimento. Acho que já passou da hora do autor publicar, pois esse foi o primeiro livro que vi do assunto em português, lá em meados de julho/13. Recomendo o livro para quem quer dar os primeiros passos com o framework. A escrita do autor é bem confortável e os exemplos funcionam. Um detalhe importante é que a parte de server-side é em PHP, mas não vejo isso como problema, é só pegar o conceito e aplicar na linguagem que você trabalha.
2. Recipes with Angular.js
É um livro bacana que recomendo para quem já está mexendo com AngularJS. Não precisa ser um expert, mas se você já aprendeu a base do framework já consegue fazer um pequeno projeto (nem que seja um crud) usando o AngularJS. Esse livro vai dar umas dicas legais, é bem pequeno e prático. Pena que o autor não mostra o resultado do código, apenas joga e o resto fica direcionado para pegar no github dele. Mas ele organizou bem os arquivos no github e você pega por capítulo. Recomendo. Foi o terceiro livro que li.
Esse livro aqui não é dos melhores. Em termos teóricos até ajuda, mas parece que o autor pegou o que tem na documentação, jogou no livro e tratou apenas deixando a escrita direcionada para o modelo de livro. Eu li e gostei como ele conceituou, já que no início tinham coisas que não eu sabia o porquê e a forma que ele explicou ficou melhor de entender. Muitos dos códigos que estão no livro estão quebrados, parece que o copy/paste não foi feito da melhor forma. Por um lado foi minha primeira oportunidade em abrir a fazer um fix em um código angularJS escrito por outra pessoa. Pelo preço do livro na versão kindle talvez vale a pena comprar só pra não aprender pelo caminho feliz.
4. ng-book (http://www.ng-book.com/)
É um livro que ainda não li, mas vi que quem leu gostou do livro. Está na minha lista. Aqui
5. Mastering Web Application Development with AngularJS
Esse é o que estou começando a ler. Os comentarios de quem já leu são animais. Parece ser um bom livro. Estou esperando chegar o meu exemplar, pois pela quantidade de página prefiro ler na versão impressa, além de poder usar o marcatexto, escrever no livro, etc. O preço é diferente, $40 doletas e ainda tem IOF + Frete. A versão Kindle tá mais em conta. Assim que terminar de ler posto um review aqui no blog.
Estou com um post em draft com review dos livros que já li. Vou postar em breve e com mais detalhes.
Bom, é isso pessoal. Vou ficando por aqui e espero que tenham gostado da série AngularJS, foi mais de um mês postando e compartilhando com vocês há muito mais coisas sobre o framework (claro) e quem sabe fica para uma outra série mais lá na frente?
Abracos, see ya!!!
como eu faço n é so aperta e ai estala ja esto ficando doido mim ajuda ai!
Alisson,
Não entendi sua dúvida. O que seria?
Só fiquei bem na dúvida de angular, quanto as suas manipulações nas tags html, isso não é uma má prática? Não torna seu projeto totalmente dependente do angularjs ?
olá Rodrigo,
Deixa eu ver se entendi o que vc quis dizer com dependência. Ao usar o angularJS você não usa tags exclusivas do framework, vc usa atributos em seu html do angularjs, se amanhã vc decide tirar o angularJS nenhum componente visual é do angularjs, o que vai perder (claro), são as funcionalidades, então vc não tem algo como . Por isso que o angularjs é um framework que extends html. O problema não é só ter dependência, pq de qualquer modo sempre teremos seja qual for o framework, o problema na verdade é o grau de de dependência ou acoplamento que um framework traz para aplicação, o angularjs favorece ao baixo acomplamento.
abraco,
Não é bem assim. Você tem, sim, “” para todas as diretivas que forem criadas com restrict: ‘E’, que são diretivas de elemento: http://docs.angularjs.org/guide/directive
A questão é que é necessário entender o “.html” do AngularJS realmente como um template de View, de modo que, comparando com outras soluções de construção da camada de visualização tanto server-side (Rails, CakePHP, Django) como client-side (Ember.js), você percebe que todos tem formas diferentes de construir a exibição final através de especificidades da template engine. A vantagem do AngularJS, para mim, é que é tudo client-side e é muito mais compreensível e direto que a maioria das alternativas.
Você estará “casando” com o AngularJS, sim, mas esse casamento também existiria em qualquer alternativa de framework MV* tanto client-side quanto server-side, pois você teria que escrever o template de View de qualquer forma.
O ng-book é o mais completo que tem, eu o li e ele é mais completo que documentação oficial.