Front End

28 mar, 2014

Serie AngularJS – Entendendo Maven archetypes AngularJS para Java Developers – Parte 10

Publicidade

Olá, pessoal! No artigo de hoje vou apresentar os archetypes maven que criei com AngularJS. Espero que gostem e vejam a diferença de cada um.

Entendendo os archetypes 

Bom, resolvi fazer um artigo para explicar cada archetype que criei e a diferença entre eles. Cada um nasceu a partir da necessidade de projetos reais, quando tivemos que fazer só uma POC e não queríamos dar copy/paste em outro projeto, mas sim ter um esqueleto funcionando e com mínimo de trabalho possível, pois há copy/paste em que ter que fazer os ajustes é algo muito estressante. Vamos entender aqui cada um deles:

archetypeWebAppsModule 

Esse aqui nasceu com objetivo de deixar em aberto o que vai ser usado no front-end, mas o back-end, com o que é básico, já vem configurado. Por exemplo: Hibernate, Spring, Jersey (se for o caso), DBUnit, DAO Generic, Service Generic etc, mas o front-end fica em aberto para você escolher. Esse archetype atende quando precisamos usar o recurso de módulos (module) do maven e por default vem com webapps-core, que é para back-end e webapps-web para front-end. O principal é conhecido como parent, e no pom.xml dele tem as libs em comum para os dois módulos. 

Vai criar um novo projeto e não sabe o que vai ser no front-end e quer usar a estrutura de modules? Recomendo usar:

archetype-webapps-module-angularjs

Esse aqui tem tudo o que tem no archetype anterior, a diferença é que vem com o AngularJS configurado pelo Yeoman tools. Então, se vai começar um projeto com AngularJS e separado por modules back/front-end, recomendo usar esse archetype. Claro, considerando que a estrutura do front-end vai seguir o que o Yeoman gera, e já vem com suporte ao twitter boostrap, mas você vai precisar que o bower baixe as dependências, portanto build seu projeto antes via grant.

archetype-webapps-java-angularjs

Esse aqui tem tudo o que os outros archetypes tem em termos de framework, exceto que esse não usam módulos do maven. É um único projeto JEE, como estamos acostumados. Ele usa o angularjs 1.0.x. e segue uma estrutura simples de organização dos controllers, services e outros JS. 

Quando usar? Quando você precisar criar um projeto JEE com AngularJS, mas que não precisa ser separado em módulos e não quer usar o Yeoman. Aqui a estrutura é bem pura, ou seja, nada do front-end é gerado por ferramentas.

archetype-webapps-java-angularjs-yeoman

Tem tudo o que o archetype-webapps-java-angularjs tem, a diferença é que o front-end é gerado pelo yeoman.

archetype-webapps-simple-angularjs-yeoman

Esse aqui tem tudo que o anterior tem, exceto que não vem com os frameworks Java. 

archetype-webapps-simple-angularjs

Esse aqui é o mais simples archetype. Ele não tem nada de framework Java, apenas o AngularJS configurado e a estrutura dos packages para JS. Se você quer testar o AngularJS da maneira mais simples, esse é o archetype ideal.

Pronto pessoal. Essa é a lista de archetypes que criei para facilitar a nossa vida com AngularJS. Espero que ajudem também no dia a dia de vocês.

Abraços!