+
Olá Pessoal,
O post de vou apresentar os archetypes maven que criei com angularJS. Espero que gostem e vejam a diferença de
cada um.
Lets go…
Entendendo os archetypes
Bom, além de responder ao leitor, resolvi fazer um post 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 possivel, pois há copy/paste que ter que fazer os ajustes é algo muito estressante. Vamos entender aqui cada um deles:
archetype-webApps-Module
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.
Iai, 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 esse archetype.
https://github.com/camilolopes/archetype-webapps-module
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.
https://github.com/camilolopes/archetype-webapps-module-angularjs
archetype-webapps-java-angularjs
https://github.com/camilolopes/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.2.x. e segue uma estrutura simples de organização dos controllers, services e outros JS.
Quando usar?
Quando você precisa 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
https://github.com/camilolopes/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 com AngularJS 1.0
archetype-webapps-simple-angularjs-yeoman
https://github.com/camilolopes/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
https://github.com/camilolopes/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.
Abracos. See ya!!