É possível desenvolver de maneira ágil com JAVA?

Pessoal,

seria possível desenvolver softwares com qualidade e de maneira ágil com JAVA ? Falei java, e não ruby, … :slight_smile:

Desenvolver rápido e com qualidade não depende somente da linguagem.
Isso depende muito da capacidade do desenvolvedor, da reusabilidade de código, de ferramentas.

Eu diria que sim. É possível sim, como em qualquer outra linguagem… :wink:

Só o Eclipse e o seu compile while you type feature já agiliza pra caramba !!!

Depende - o que eh agil? Se alguem disser que “sim” ou que “nao”, vai dar tudo na mesma sem ter exatamente essa definicao. :smiley:

Marcio Kuchma

[quote=zirocool]Desenvolver rápido e com qualidade não depende somente da linguagem.
Isso depende muito da capacidade do desenvolvedor, da reusabilidade de código, de ferramentas.

Eu diria que sim. É possível sim, como em qualquer outra linguagem… :wink:
[/quote]

Mas se a linguagem, e no caso de Java, toda a baranga J2EE não ajudar, fica difícil.

[quote=Fabrício Cozer Martins]Pessoal,

seria possível desenvolver softwares com qualidade e de maneira ágil com JAVA ? Falei java, e não ruby, … :slight_smile: [/quote]

voce ta falando de metodoligias ageis ?

http://agilemanifesto.org/

acho que sim, mas claro, considerando utilização de convenções ao invés de configuração (like Rails), e algumas práticas que podem ser adotadas no dia a dia do desenvolvimento.

Bom Fabrício, no seu caso, que frequenta bastante o GUJ, deve conhecer bem Test Driven Development, Automatização de testes e blá blá blá. Acho que o post do fmeyer já diz tudo.

Quanto as tecnologias, vou dar uma opção pessoal.

Gosto muito de usar mvn 2, hibernate + spring e spring MVC.

Com esta arquitetura, acredito que seja possível adiquirir um desenvolvimento um pouco mais ‘rápido’, pois felizmente conseguimos diminuir daqueles xml’s de configuração. Veja http://static.springframework.org/spring/docs/2.0.x/reference/mvc.html#mvc-coc.

Agora, uma opção que ainda quero experimentar é uma arquitetura similar a arquitetura acima, trocando o spring mvc pelo Framework Click. Veja este ótimo post do Ricardo: http://www.guj.com.br/posts/list/39191.java

Bom, apenas postei o que pra mim seria uma arquitetura que dê para desenvolver bem e rápido, evitando muita perca de tempo com configuração.

Espero ter ajudado!
Até +

Se não usar Spring, creio que sim…

A resposta curta é: sim, muito bem. A resposta longa é muito longa e não vou entrar nesta discussão agora. Mais tarde … :wink:

[quote=Fabrício Cozer Martins]Pessoal,

seria possível desenvolver softwares com qualidade e de maneira ágil com JAVA ? Falei java, e não ruby, … :slight_smile: [/quote]

Claro, tudo depende do que vc ta fazendo, qual seu nivel de POO e o qto de Java vc conhece… :smiley:

Olá

O que precisa ser ágil?

Se for para fazer um site desde a criação da base de dados então Ruby pode ser mais ágil.

Se for para fazer um site com a base de dados criada por um DBA e requisitos de projeto escritos por um analista que manja muito de PHP ou de Java, PHP ou Java podem ser mais ágeis em cada caso.

E agilidade no desenvolvimento às vezes redunda em um site pouco otimizado.

Respondendo especificamente à sua pergunta posso dizer que a palavra qualidade geralmente significa atender aos requisitos e maneira ágil geralmente significa mais rápido do que os outros. Então pegue seus requisitos e experimente 2 ou 3 tecnologias para saber a resposta.

[]s
Luca

Então, considerando todos os principios da metodologia ágil ( conveção sobre configuração, reuso, documentação mínima, etc…) ainda é possível continuar usando Java com esses principios ?
Estou dando uma olhada no Maven, e realmente o uso de alguns desses princípios estão bem visíveis. :smiley:

[quote=Thiago Senna]acho que sim, mas claro, considerando utilização de convenções ao invés de configuração (like Rails), e algumas práticas que podem ser adotadas no dia a dia do desenvolvimento.

Bom Fabrício, no seu caso, que frequenta bastante o GUJ, deve conhecer bem Test Driven Development, Automatização de testes e blá blá blá. Acho que o post do fmeyer já diz tudo.

Quanto as tecnologias, vou dar uma opção pessoal.

Gosto muito de usar mvn 2, hibernate + spring e spring MVC.

Com esta arquitetura, acredito que seja possível adiquirir um desenvolvimento um pouco mais ‘rápido’, pois felizmente conseguimos diminuir daqueles xml’s de configuração. Veja http://static.springframework.org/spring/docs/2.0.x/reference/mvc.html#mvc-coc.

Agora, uma opção que ainda quero experimentar é uma arquitetura similar a arquitetura acima, trocando o spring mvc pelo Framework Click. Veja este ótimo post do Ricardo: http://www.guj.com.br/posts/list/39191.java

Bom, apenas postei o que pra mim seria uma arquitetura que dê para desenvolver bem e rápido, evitando muita perca de tempo com configuração.

Espero ter ajudado!
Até +[/quote]

o framework click é sensacional! Ta aí outro exemplo de agilidade em Java!

[quote=Heero Yuy][quote=Fabrício Cozer Martins]Pessoal,

seria possível desenvolver softwares com qualidade e de maneira ágil com JAVA ? Falei java, e não ruby, … :slight_smile: [/quote]

Claro, tudo depende do que vc ta fazendo, qual seu nivel de POO e o qto de Java vc conhece… :smiley: [/quote]
clarooo, desenvolver ágil não depende especificamente da linguagem, e sim da forma ideológica. Mas você acha que Java ajuda ou dificulta ?

Se não usar Spring, creio que sim…[/quote]

Se não souber usar Spring direito creio que não…

mais se vc souber usar xdoclet ou annotations pra gerenciar seus beans, interceptors pra controlar permissão ou acegi se vc preferir e Ioc pra controlar suas dependencias…

ai fica muito rapido…

Se não usar Spring, creio que sim…[/quote]

Se não souber usar Spring direito creio que não…

mais se vc souber usar xdoclet ou annotations pra gerenciar seus beans, interceptors pra controlar permissão ou acegi se vc preferir e Ioc pra controlar suas dependencias…

ai fica muito rapido…
[/quote]

Sim, como se transportar a lógica do código Java para o XML fosse muito mais fácil. Não há como sumir com as dependências, mas os usuários Spring preferem apenas ofuscá-la em algum XML perdido, esperando para dar problemas, o qual masoquisticamente precisam editar para qualquer coisa.

Para uma ferramenta ORM eu até entendo e prefiro do que coisas automáticas, mas para monstruosidades como o Spring? Acho que não.

Bom, eu optei pelo spring por que acho possível usar xml sem fazer sujeira, e principalmente, antes fazer um pouco de sujeira com xml do que re-inventar a roda. Imagine só, ficar criando um dao genérico, datasource, controlar transação na mão… behhhh… to fora! :stuck_out_tongue:

Se não usar Spring, creio que sim…[/quote]

Se não souber usar Spring direito creio que não…

mais se vc souber usar xdoclet ou annotations pra gerenciar seus beans, interceptors pra controlar permissão ou acegi se vc preferir e Ioc pra controlar suas dependencias…

ai fica muito rapido…
[/quote]

Sim, como se transportar a lógica do código Java para o XML fosse muito mais fácil. Não há como sumir com as dependências, mas os usuários Spring preferem apenas ofuscá-la em algum XML perdido, esperando para dar problemas, o qual masoquisticamente precisam editar para qualquer coisa.

Para uma ferramenta ORM eu até entendo e prefiro do que coisas automáticas, mas para monstruosidades como o Spring? Acho que não.
[/quote]

tudo bem, nem vou discutir…

Sinceramente, não entendi nada. Parece que quase todos responderam como se ‘de maneira ágil’ fosse sinônimo para ‘de maneira rápida’.

Enfim… considerando que “de maneira ágil” signifique “utilizando metodologias ágeis”: sim, é possível. A linguagem java não é um fator limitante para nenhum dos princípios nem nenhuma das técnicas utilizadas nas metodologias ágeis.

Reparem que usar “metologia ágil” não necessariamente implica em “desenvolvimento rápido”. Se for para desenvolver rápido… com todo o respeito ao Thiagosc… existem linguagens menos burocráticas. :wink:

Temos ótimas IDEs para Java; Excelentes ferramentas para refatoração de código; Bons frameworks de testes; Dá pra fazer integração contínua sem problemas; Boa parte da literatura de patterns tem os exemplos em Java; Grande parte da comunidade de Agile Development trabalha ou tem experiência em Java… Enfim.