sábado, 16 de janeiro de 2010

Voltando a atividade!!!

Olá Pessoal, tudo bem?
Antes de mais nada, gostaria de pedir desculpas pela falta de posts, infelizmente estive um tempo afastado por motivos pessoais... Calma não fui preso, ou sequestrado! Infelizmente passei por algumas enfermidades que acabaram tomando muito do meu tempo!

Nós continuaremos a nossa série sobre Maven2 e como otimizar e organizar o nosso ambiente de trabalho.

Espero que gostem!

terça-feira, 30 de setembro de 2008

Por dentro do Maven2

Como instalar o Maven2
Para instalar o maven2 basta baixar o arquivo do seguinte site: http://maven.apache.org/download.html
Após, descompacte o arquivo em sua máquina e crie uma variavel de ambiente para o Maven2, feito isso você pode testar o maven com o seguinte comando: mvn –version
Se você instalou o maven de forma correta você terá uma tela similar a esta.



Por dentro do Maven2:
Maven2 é uma ferramenta de linha de comando que tem por finalidade contruir, testar, gerar relatóriose empacotar projetos em Java. Provê muitas features que auxiliarão o desenvolvimento do seu projeto.


Estrutura padronizada de diretório: Cada projeto que usa Maven2 terá a mesma estrutura de diretório, isto facilita as coisas para desenvolvedores quando trabalham em múltiplos projetos, pois sempre materá o mesmo padrão de nomes e a mesma organização.



Arquitetura orientada a plug-ins: Cada feature do Maven2 é gerada por plugin, logo podemos dizer que o Maven é orientada a plugins. Não importa se a feature é compilar classes ou utilizar o web-container. Se a uma feature estiver sendo usada pela primeira vez, o plug-in será baixado de um repositório; você não precisa mais obter manualmente todas as partes antes de começar a trabalhar, pois o maven faz isso pra você.



Gerenciamento de dependência: Quando dependências forem descritas no arquivo de configuração do Maven2, elas serão acessadas de um repositório local ou baixadas do repositório local durante o processo de construção (da mesma forma que os plugins do Maven2).



Gerenciamento de Escopo: O pacote final de distribuição contém apenas os elementos exigidos. Código de teste e dependências que não são necessárias (ou providas por servidores de aplicativos) não serão inclusos no release da aplicação.



Arquétipos (Archetype): O plug-in de arquétipos permite que os desenvolvedores criem um template default de implementação para categoria do projeto. Este é então usado para criar um novo projeto rapidamente sem a necessidade de criar uma estrutura, criar arquivos de configuração e codificar as classes padrões e testes apartir do zero.



No próximo post iremos ver como usar os arquétipos para facilitar o nosso trabalho, e vamos criar uma aplicação em Struts2 e ver o quanto o Maven2 e Struts2 podem deixar o nosso processo Web rápido e fácil.


Fontes utilizadas para este post: Pratical Apache Struts2 Web 2.0 Projects, Ian Roughley (Recomendo a leitura) e http://maven.apache.org (muito bom para estudo e aprofundamento em Maven).

domingo, 21 de setembro de 2008

Ferramentas para auxiliar a produtividade

É sem dúvida que o desenvolvimento de software tem cada vez mais se tornado simples e rápido. Não que as IDEs tenham mudado, mas é que o mercado atual exige uma postura mais ágil das empresas. Não quero aqui defender metodologias ageis como Scrum, XP, Crystal etc... O intuito deste blog, como já disse é mostrar que com o Java pode se ser tão produtivo quanto Rails ou outros frameworks, basta apenas ter as ferramentas certas ao seu alcance.

Maven2:
É sem dúvida alguma a ferramenta mais importante para desenvolver aplicações em Java.Surgiu da necessidade de reuso de código e da cansativa configuração excessiva de XMLS (Ant) para geração de builds. Como a apache vinha perdendo muito tempo criando e mantendo códigos de builds para seus projetos resolveram criar o Maven.
O Maven é uma ferramenta para gerenciamento de projetos Java, e posso dizer por experiência própria que é muito útil.

Vamos a um exemplo prático:

Como criar uma aplicação com o Maven2 para Struts 2?

mvn archetype:create -DgroupId=com.knowtec.s2 -DartifactId=app -DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-archetype-starter -DarchetypeVersion=2.0.11.2-SNAPSHOT -DremoteRepositories=http://people.apache.org/maven-snapshot-repository 


Este exemplo serve para criar um projeto inicial em Struts 2, caso queira estudar mais clique aqui.

Com este código você poderá criar a estrutura do projeto para sua aplicação. É claro que o Maven2 não é tão fácil como o gerenciamento de projeto do RoR, mas ele ajuda e muito o gerenciamente de projetos java e também a velocidade que você cria sua estrutura de projeto.


No proximo post, irei detalhar cada comando do Maven2 e mostrarei como é fácil criar um projeto com Struts2 + Maven2 em menos de 1 minuto.

Abraços e Be agile dude!

domingo, 14 de setembro de 2008

Desenvolver com Java pode ser ágil?

Olá, primeiramente me permitam ter um espaço para justificar o porque deste blog. Atualmente venho desenvolvendo aplicações em Java e ouço muito falarem que Java não é produtivo, que desenvolver com Java é lento e que a moda hoje é adoção de frameworks baseado em Rails. Tanto venho ouvindo isso que me senti obrigado a comprar um livro de Rails pra estudá-lo mais profundamente e tentar entender suas features de forma mais clara. Bom acho que entendi até certo ponto, mas ainda assim prefiro o Java, não sei se por um certo puritanismo, ou pela "portabilidade", mas ainda continuo pensando em java.
Atualmente com o movimento Ágil crescendo, vemos linguagens de Script como PHP e Ruby crescendo, e nisso alguns comentários que Java vem perdendo força e etc. Realmente não dá pra negar que Ruby ou melhor o RoR (Ruby on Rails) vem ganhando força e adeptos, até a própria Sun está se unindo ao RoR.
Também fica impossível negar que o desenvolvimento de aplicações com RoR não seja fácil, rápido e indolor, isso, infelizmente não dá pra negar, mas por outro lado e no meu singelo ponto de vista, Java ainda tem grandes vantagens sobre linguagens de scripting e a primeira delas é:
1) Java é portavel;
2) Java é robusto e já se tornou consolidado no mercado, não há como negar isso;
E pra finalizar podemos ainda dizer que possuí a maior comunidade de desenvolvedores do mundo. Mas enfim, será que podemos ser Ageis com Java?

R: Isso iremos ver isso conforme forem acontecendo os Pots neste blog, mas já adianto que sim, realmente podemos ser ágeis com Java e não abrir mão de uma plataforma tão robusta e confiável quanto é Java.

Bom por hoje é só...
Até o próximo post, no qual veremos as ferrementas e frameworks que nos auxiliam a ser tão produtivos quanto as linguages de scripting e frameworks baseado em Rails.

Be agile dude!