+
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!!
Camilo, seria complicado configurar o archetype-webapps-java-angularjs retirando o hibernate e o spring?
Parabéns pelo post, estou aprendendo agora a utilizar os archetypes do maven
valeo!
olá Gustavo,
Não será. Basta remover da dependencia do maven.
Fala Camilo,
Cara sempre acompanho seus posts e sempre me ajudam muito, muito obrigado por sempre compartilhar o conhecimento.
Cara se eu quiser montar um projeto modular, mas o back sem spring, e o angular sem framework (yeoman) só gulp e bower.
Como devo proceder?
Agradeço desde já.
olá Hugo,
Obrigado pelo feedback. Nesse caso terá que fazer tudo na mão mesmo. Tem um archetype nosso que não tem nenhum framework java:
https://github.com/ITSStartup/archetype-webapps-simple-angularjs
Nos archetypes que criamos o uso dos frameworks não é obrigatorio, basta remover da dependencia do maven. Esse archetype acima, ele é o primeiro que fizemos que não tem nem o yeoman. É o angularjs pelado mesmo.
abraço,
Quero iniciar um projeto novo Angular e Spring(Tudo). O que me indica de archetype ?
Não consegui configurar nenhum.