Chegou aquele momento em que não dava mais pra fugir dele: finalmente me vi forçado a aprender AngularJS. Neste post vou listar o que usei para meus estudos e também as minhas primeiras impressões sobre o assunto. Levem em consideração que estou apenas começando!
O AngularJS: primeiras impressões
Apesar de já estar na versão 1.5, meus estudos estão focados na versão 1.4.2, dado que estou lidando com um projeto legado. Pouco a pouco vou me atualizar com as novas versões, já sabendo que a 2.0 é, pelo que pude ver, radicalmente diferente.
Mecanismo de templates
Como mecanismo de templates, achei fantástico (o mínimo que eu esperava). De imediato o vejo como uma excelente ferramenta para se escrever relatórios quando os dados são obtidos via REST no formato JSON. Alguns experimentos que fiz durante os estudos iniciais foram muito promissores.
Interações de usuário
Como framework usado para se escrever as interações do usuário, também achei bastante interessante. Me lembrou bastante o modelo de desenvolvimento que temos ao desenvolver aplicações desktop.
Escrever aplicações cuja interface no formato tabela usando o binding de duas vias do AngularJS se mostrou uma tarefa trivial com o AngularJS. E escrever filtros com ele (em tabelas) também é ridiculamente simples (quase aposenta o Datatables).
Roteamento
Ainda não me desceu bem o modelo de roteamento apresentado pelo AngularJS, mas creio que seja por enquanto apenas o resultado do meu contato inicial com o framework. Ainda tenho minha cabeça presa ao modelo de desenvolvimento AJAX tradicional (com muito jQuery), o que tem me dificultado um pouco a compreensão.
Saudades do jQuery
Adoro jQuery, o que me atrapalha um pouco no aprendizado do AngularJS. Em diversos momentos me via pensando em como faria a mesma coisa com minha biblioteca favorita. No entanto, conforme o tempo vai passando, este “vício” vai se reduzindo.
Confesso que me deu um certo alívio ver que o modo como fazemos requisições Ajax com AngularJS é muito parecido com o que conhecia no jQuery. :)
O que li
Angular Basics – http://www.angularjsbook.com/
Escrito por Chris Smith, é um pequeno livro online interativo no qual você pode experimentar o código fonte de uma forma muito interessante. Sem sombra de dúvidas foi o melhor material que encontrei sobre o assunto.
A linguagem adotada é muito simples e muito direta ao ponto. O autor se preocupa bastante em tratar apenas do que é essencial para que você possa começar a dar os primeiros passos, o que é excelente, pois alguns materiais que encontrei achei muito complicados para quem está iniciando.
Ao ler este livro, tinha ao lado um editor de textos e um navegador que usava para fazer alguns experimentos baseados no texto. Me ajudou bastante. Importante lembrar que o livro cobre a versão 1.4.2 do Angular, e não a 1.5.5 ou 2.
Algo bacana neste texto são as referências feitas pelo autor. Dá para o leitor que não tem muita vivência com JavaScript se aprofundar em diversos temas sobre a linguagem.
Resumindo: leitura fantástica!
Tutorial oficial do AngularJS – https://docs.angularjs.org/tutorial
Não gostei quando li na época em que o AngularJS foi lançado e continuei não gostando hoje.
Meu principal problema com este texto é que ele afoga quem está chegando em informações e terminologias que deviam ser apresentadas de uma forma mais suave.
Além disto, o código fonte já vêm pronto de cara em um repositório Git. Confesso que prefiro quando o próprio leitor vai gerando este código, tal como fiz lendo o “Angular Basics”.
Desconfio que este meu atraso no AngularJS se deve à antipatia que sempre senti por este tutorial (não vou negar).
Guia do desenvolvedor – https://docs.angularjs.org/guide
Se você quer conhecer a fundo o conceitual por trás do AngularJS, este é o texto. Não é algo que deve ser lido sequencialmente, mas sim como leitura complementar.
É muito bem escrito, e tem o nível de profundidade que se espera ao buscarmos uma melhor compreensão a respeito dos conceitos envolvidos na construção do framework e, ainda mais importante, das motivações que justificam o AngularJS ter a forma que possuí.
Não creio que seja um bom ponto de partida para se aprender o framework, mas como leitura complementar, foi fundamental para mim.
Curso gratuito da CodeSchool – http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro
Feliz demais pro meu gosto: me deu vergonha alheia e acabei pulando.
Ferramenta legal: AngularJS Batarang
Trata-se de uma extensão do Chrome que nos permite depurar código escrito em AngularJS. Você a instala e, na sequência, será criada uma nova aba nas ferramentas de desenvolvimento.
Por lá você poderá ver o escopo do seu módulo, informações sobre desempenho, interceptadores e tudo mais. É muito bacana para se ter uma visão melhor sobre o que estamos escrevendo com o AngularJS.
Concluindo
Apesar de atrasado, o processo de aprendizado do AngularJS tem sido uma experiência muito enriquecedora para mim. Confesso que não tanto pelo Angular, mas sim pelas referências que vou pegando no caminho que, acidentalmente, tem aumentado muito meu conhecimento sobre JavaScript.
Estou apenas começando no framework, apanhado bastante em alguns pontos, mas, no geral, gostado do que tenho visto. Aproveitando, você tem alguma boa indicação de leitura para me passar? Toda dica é bem vinda!
Concordo plenamente sobre o tutorial do AngularJS. Não te “ensina”, simplesmente carrega trechos de códigos pré-fabricados e te i forma das principais mudança de um commit pro outro. De tutorial não tem nada. Vou buscar a primeira referência que você citou, mesmo sendo versão mais antiga! Valeu por compartilhar!
Oi Pedro!
Só consegui me aprofundar no AngularJS depois de ler o “Angular Basics” e, devo confessar, grande parte do meu atraso para aprender o framework se deu por causa deste tutorial.
Olá Henrique,
conheci seu blog a pouco tempo. Encontrei ele por acaso por causa de um post em que você fala sobre pirataria e teve um monte de canalha aqui sendo a favor de pirataria, teve um que ainda disse que você era um cu*** só porque não compartilhava um mero pdf…Mudando de assunto…foi saber que você está aprendendo Angular isso me motivou a aprender também. Uma hora terei que aprender. Vou começar a estudar baseado nos artigos que você indicou em em outros materiais também. Talvez a gente possa ir trocando umas ideias. Um abraço.
Oi Gustavo, obrigado pelo apoio!
Kico, boa noite, tudo bem?
Bacana que está estudando AngularJs, comecei por aqui também um tempo mas parei quando soube que iria mudar 80% do projeto atual, confesso que por conta da versão 2.0 ser completamente diferente da versões anteriores e ele obrigar você a usar o TypeScript me causa verdadeiras náuseas por este framework pois adotando-o vamos perder o que o JS tem de mais valor nele, enfim, tenho estudado o Ember no lugar do Angular, acredito que para crescimento do projeto/equipe faz ser mais útil e agradável, além de qualquer projeto que adote o Ember ter a mesma organizaćão dos projetos da qual muda no Angular mesmo usando a abordagem do John Papa e outro cara bacana para usar no Angular como Guide , se quiser dar uma olhada sobre o Ember . Agora, estamos nesse hype monstruoso sobre o “Fantásticos mundo dos Frameworks com JavaScript” como é o React, Flux entre outros, enfim, estou achando o Ember mais consolidado e próspero para isso tudo que está ocorrendo na web.
Obrigado por compartilhar suas experiências aí!
[ ],s
Oi Cristofer, obrigado!
Curiosamente, também havia partido para o estudo do Amber um tempo atrás, mas acabei parando os estudos.
E compartilho com você as mesmas críticas que está fazendo ao AngularJS. Esta história do 2.0 é inclsuive a razão pela qual não o indico para meus clientes.
Estou aprendendo apenas por duas razões:
1) Manutenção de alguns sistemas legados
2) Por que, convenhamos, já tinha passado da hora, até pra poder falar mal! :)
Mais uma vez, valeu!
Acho que os links em html ele não aceita aqui no seu blog, vamos lá:
John Papa Angular Styleguide – https://github.com/johnpapa/angular-styleguide
Yeoman Generator Angular – https://github.com/yeoman/generator-angular
Ember – http://blog.yodersolutions.com/why-i-recommend-emberjs-over-angularjs/
[ ],s
Obrigado pelos links Cristofer!
Ola Henrique, eu também comecei a aprender Angular, porém fui direto para versão 2. Fiz um curso na Pluralsight “Angular 2: First Look”. Belíssimo curso, o author é o John Papa.
Ele escreveu todo o código usando Plunker. A lista completa está no link abaixo:
http://a2-first-look.azurewebsites.net/
Oi Fernando, obrigado pela dica!
Kiko! Olá.
Tenho estudado Angular há alguns meses e estou gostanto muito. Lí alguns livros da PacktPub que me ajudaram bastante. Estes livros – e outros – já foram distruibuidos de graça (apesar de eu ter comprado dois deles).
https://www.packtpub.com/web-development/angularjs-essentials
https://www.packtpub.com/web-development/dependency-injection-angularjs
https://www.packtpub.com/web-development/angularjs-directives
https://www.packtpub.com/web-development/angularjs-services
Bons estudos.
Abraço.
Valeu pelas dicas!
Achei muito bom!
Também sou um estudante de Angularjs e como aprendiz tive muita dificuldade no início principalmente na arquitetura da aplicação. O que me ajudou bastante, como o Cristofer sugeriu, foi o Style Guide do John Papa (conteúdo muito bom).
…
Obrigado!
Fala Kiko!
Uma dica de leitura também seria: https://www.sitepoint.com/premium/books/angularjs-novice-to-ninja
Aprendi AngularJS de verdade lendo o livro, é realmente bem completo, recomendo a todos que queiram aprender.
Abç
Oi Leonardo, valeu pela dica!