Excesso de frameworks = excesso de complexidade

32 respostas
S

Bem, vamos lá. Acho que esta seção é a mais adequada.

Estamos passando por um momento estranho no mundo java ee principalmente. Existem N ou N+1 frameworks, a maioria deles faz a mesma coisa que o outro porém este se julga melhor que os anteriores por estou ou aquele motivo.

Poucas ferramentas neste mar de frameworks de nomes bonitos e que prometem fazer muito e deixar o nosso trabalho mais fácil, pouquissimas realmente cumprem o que prometem. É o caso do Hibernate, Struts (porque não?), Spring e mais uma meia dúzia. O resto é coisa de gente que estava sem o que fazer ou resolveu tentar a sorte, fazer um framework conhecido e quem sabe, quem sabe mesmo ganhar alguma coisa com isto.
É o caso dos brasileiros que andam fazendo framework mvc que promete fazer muito… no fim das contas, eles não estão trazendo nada de novo, simplesmente tentando reinventar a roda.

A curva de aprendizado está aumentando, a quantidade siglas também, no fim das contas, o nosso trabalho está mesmo ficando mais fácil? Iniciativas como o Ruby on Rails poderão quem sabe tomar o lugar desta sopa de letrinhas que se transformou o mundo Java EE?
E a compatibilidade entre essas ferramentas como anda? Até agora estou apostando uma grana com quem conseguir integrar o ajax4jsf com o sitemesh, duas ferramentas por sinal muito boas. Integrar estes dois sem fazer uma gambiarra parece muito complicado, a não ser que surja outra versão.

Já é hora de parar pra pensar, temos muitas ferramentas, mas a maioria não fala entre si e não são 100% integráveis. Nosso trabalho está ficando mais produtivo? Os frameworks estão cumprindo mesmo com esta promessa? Ou as ides que ficaram melhores? Isto tudo é muito discutível.

32 Respostas

N

Cara, acho uma visão interessante.

Pra dizer a verdade apóio que tenhamos frameworks diversos no mercado. Isso faz com que cada vez mais tenhamos boas ferramentas para trabalhar e que se aprimoram a cada dia.

Mas também concordo plenamente, a integração é crucial em todas as situações.

A cada dia, a área de TI tem trabalhando mais fortemente com o conceito de integração. E por que não trazer isso para uma camada mais a baixo de nosso dia a dia.
Talvez inclusive facilitaria a própria integração de aplicações também, quem sabe né.

Até…

M

Vou tentar ser o menos mal-educado possível.
Porque muda-se processos? Só por diversão? Ou é porque algum dia você teve uma necessidade e o processo não lhe satisfez? Se você não acha uma ferramenta mais adequada, cria-se uma. E é o que os brasileiros estão fazendo. Reinventando a roda? Quanto tempo você estudou esses frameworks que você tanto critica? Ou você estudou pouco ou nada. Hibernate, Struts, Spring e mais a meia dúzia que me disses te satisfaz? RoR também? Criticas compatibilidade de frameworks mas os mesmos frameworks que cita(JSF, ajax4jsf, sitemesh) não são compatíveis entre si, sendo que os frameworks dos brasileiros tem uma compatibilidade muito boa com outros frameworks bem conceituados ( quais? Estude e veja, oras! ).

Sinceramente, acho esse seu comentário mais um desabafo de alguém que não conseguiu avançar muito, e enxerga tudo a mesma coisa. A curva de aprendizado aumenta de acordo com a complexidade do que se cria, não da quantidade de alternativas disponíveis para se criar. Consegues afirmar que as coisas ficariam mais fáceis ou melhores se só tivesse 1 ou 2 frameworks disponíveis?

Cansei, até!

S

maquiavelbona:
Vou tentar ser o menos mau-educado possível.
Porque muda-se processos?
Só por diversão? Ou é porque algum dia você teve uma necessidade e o processo não lhe satisfez? Se você não acha uma ferramenta mais adequada, cria-se uma. E é o que os brasileiros estão fazendo. Reinventando a roda? Quanto tempo você estudou esses frameworks que você tanto critica? Ou você estudou pouco ou nada. Hibernate, Struts, Spring e mais a meia dúzia que me disses te satisfaz? RoR também? Criticas compatibilidade de frameworks mas os mesmos frameworks que cita(JSF, ajax4jsf, sitemesh) não são compatíveis entre si, sendo que os frameworks dos brasileiros tem uma compatibilidade muito boa com outros frameworks bem conceituados ( quais? Estude e veja, oras! ).

Sinceramente, acho esse seu comentário mais um desabafo de alguém que não conseguiu avançar muito, e enxerga tudo a mesma coisa. A curva de aprendizado aumenta de acordo com a complexidade do que se cria, não da quantidade de alternativas disponíveis para se criar. Consegues afirmar que as coisas ficariam mais fáceis ou melhores se só tivesse 1 ou 2 frameworks disponíveis?

Cansei, até!

Se está levando para o lado pessoal esquece de discutir comigo então. Se você é xiita por isto é problema seu.

O fato é: a curva de aprendizado está aumentando, Java não está mais produtivo que antes, eu falo da linguagem e dos padrões, não de IDE. As tecnologias estão aumentando em complexidade e os frameworks estão sendo ineficazes, a maioria, em cumprir o que um framework deve fazer:

  1. Ser produtivo.
  2. Melhorar o desempenho do processo de desenvolvimento.
  3. Encapsular complexidade.

Alguns conseguem, outros só chovem no molhado. Eu penso o seguinte: um framework não deve servir só pra encher linguiça nas páginas da java magazine, ele deve realmente ter utilidade. A maioria não serve pra muita coisa. Você fica dias pesquisando coisas simples e porquê? Porque tem muitas opções que deveriam servir, mas nenhuma serve. O projeto atrasa, os custos aumentam e o cliente fica nervoso porque vê seu dinheiro ir embora nessas coisas. Acho que metade dos frameworks atuais deveriam ser eliminados. É coisa de gente que não tem o que fazer.

G

Vou dar a visão de quem hoje é obrigado a trabalhar com um só framework proprietário (ASP.NET):

Adoro ter opção…
E já fiz a minha para JAVA: JSF + JPA + Spring.
Vou batalhar nisso um tempo e ver.

Mas quero ver o Menta e o VRaptor também, mesmo porque, me parece que são conceitos toltamente diferentes (não sei só li a respeito).

Nada como poder escolher e te-los gratuitamente.
Meu único medo era continuidade e suporte da ferramenta… e já estou perdendo :wink:

R

Concordo em partes,

Acho que, realmente, estava (eu disse estava) ficando muito complicado utilizar um framework. Como o struts e o hibernate 2, e os seus zilhões de XML e etc etc etc.

Mas, depois do RoR, muita coisa mudou na comunidade java, e, na minha opinião, os frameworks estão ficando mais fáceis de usar e com menos configuração. Como é o caso dos (brasileiros) Mentawaii e Vraptor, e até mesmo o Spring MVC e Hibernate 3 (com Annotations).

Acho que estamos no caminho certo.

Minha opinião.

Falow.

M

spark:

Se está levando para o lado pessoal esquece de discutir comigo então. Se você é xiita por isto é problema seu.

O fato é: a curva de aprendizado está aumentando, Java não está mais produtivo que antes, eu falo da linguagem e dos padrões, não de IDE. As tecnologias estão aumentando em complexidade e os frameworks estão sendo ineficazes, a maioria, em cumprir o que um framework deve fazer:

  1. Ser produtivo.
  2. Melhorar o desempenho do processo de desenvolvimento.
  3. Encapsular complexidade.

Alguns conseguem, outros só chovem no molhado. Eu penso o seguinte: um framework não deve servir só pra encher linguiça nas páginas da java magazine, ele deve realmente ter utilidade. A maioria não serve pra muita coisa. Você fica dias pesquisando coisas simples e porquê? Porque tem muitas opções que deveriam servir, mas nenhuma serve. O projeto atrasa, os custos aumentam e o cliente fica nervoso porque vê seu dinheiro ir embora nessas coisas. Acho que metade dos frameworks atuais deveriam ser eliminados. É coisa de gente que não tem o que fazer.

Não estou levando para o lado pessoal e se me achas xiita, problema…
Java está se estruturando muito rápido, abraçando conceitos e funcionalidades que poucas linguagens conseguem competir em tempo tão curto. Quanto tempo o C++ demorou para ser o que é agora? Compare com o Java para ver o que cada um tem e o tempo relativo.
Frameworks são produtivos, melhoram o desempenho e encapsulam a complexidade quando sabes o que procuras. Não serve para muita coisa ou não serve para você? Passar dias pesquisando é importante, senão como vai definir o que é melhor para algo? De ouvir alguém falar? Será que você chega para o seu chefe ou para o seu cliente e fala que algo é melhor porque alguém te disse que é? Nem preciso dizer o que eles vão responder.
Metade dos frameworks atuais? Quais? Com que critérios? Ficaria o Struts que é baseado todo em XML ao invés de um frameworks baseado em convenções? Hibernate ao invés de JDO porque é mais conhecido? ADF ao invés de MyFaces porque é mantido por uma corporação?
Frameworks não são criados para encher páginas de revista e sim fazer algo que não existe ou melhorar o que já é consagrado. Mais alternativas não complicam, na verdade facilitam encontrar uma solução. E se algo que quisesses fazer não existisse? Farias um framework para aquilo. Mas alguém não gostou de como foi implementado, faria outro, geraria uma diversidade útil. Framework não é album de figurinha que se cria para ser bonito, cria-se para suprir necessidades.

Até!

E

Isso é uma vantagem e desvantagem

Para os iniciantes o monte de siglas e frameworks assusta mesmo (eu sei eu me assustei). Depois com o tempo vc (caso não tenha desistido), passa a ver cada framework de forma mais crítica e poder escolher melhor.

O fato de terem vários fazendo a smesmas coisas acho positivo, mas mais q seja a mesma coisa cada um faz de uma forma diferente, no mínimo serve para ver como resolver o mesmo problemas de formas diferentes e se for uma idéia boa, ela pode ser adotada nos principais q estarão evoluindo … é praticamente um ecossistema a plataforma java.

Mas para os principiantes é o preço a se pagar por uma plataforma assim.

C

gbmesso:
Vou dar a visão de quem hoje é obrigado a trabalhar com um só framework proprietário (ASP.NET):

Adoro ter opção…
E já fiz a minha para JAVA: JSF + JPA + Spring.
Vou batalhar nisso um tempo e ver.

Mas quero ver o Menta e o VRaptor também, mesmo porque, me parece que são conceitos toltamente diferentes (não sei só li a respeito).

Nada como poder escolher e te-los gratuitamente.
Meu único medo era continuidade e suporte da ferramenta… e já estou perdendo ;)

Bem…se eu tiver que escolher, já que trabalho com Java e .NET, escolheria .NET, o tempo que eu gastaria aprendendo N Frameworks para trabalhar com J2EE eu uso para sair na balada e pegar a mulherada, ou jogando bola, ou praticando algum esporte…enfim, cada um faz o que quer com o tempo disponivel…questão de gosto pessoal… :slight_smile:

N

Acho que o problema não está na diversidade de frameworks, mas sim em ter o conhecimento necessário para escolher qual é o mais adequado para sua aplicação.

Os frameworks não fazem parte da especificação Java EE. Se você quiser menos opções, use apenas o que está na especificação. É claro que por isso suas aplicações podem ficar “ultrapassadas”. Imagine se todos utilizassem Entity Beans e EJB’s para tudo. Hoje há frameworks como o Hibernate e o Spring que contornam muito bem os problemas encontrados com as tecnologias citadas, e que inclusive tiveram suas idéias principais incorporadas na nova especificação Java EE. Um dos papéis da comunidade é justamente servir de termômetro para saber se o que está na especificação está sendo bem aceito.

A pro-atividade da comunidade java é tida como uma das mais interessantes características da mesma. A comunidade, sempre que se vê diante de uma solução não ideal, cria a sua própria solução. Foi assim com o Hibernate e muitos outros frameworks. Isso é um ponto positivo.

Conclusão: cada framework tem um objetivo. Ou é para MVC, ou para persistência, etc. Escolha o melhor frame para sua necessidade. Um ponto forte dos frames MVC nacionais é a facilidade e rapidez no desenvolvimento. Se esse é um quesito para uma aplicação sua, por que não utilizá-los?

:wink:

M

Eu acho melhor você ter para o seu chefe

  • Temos 20 opções de framework para ver se resolve o nosso problema.
    do que ter
  • Temos 2 opções de framework que bem possível que não resolva o nosso problema.

Solução para a última?

  • Vamos criar um novo framework!
  • Para que? Colocar mais um? Dificultar cada vez mais? Vamos mandar um request for enhancement para os criadores do framework X e esperar que eles façam algo.

O resto já dá para imaginar.

Até!

A

clodoaldoaleixo:

Bem…se eu tiver que escolher, já que trabalho com Java e .NET, escolheria .NET, o tempo que eu gastaria aprendendo N Frameworks para trabalhar com J2EE eu uso para sair na balada e pegar a mulherada, ou jogando bola, ou praticando algum esporte…enfim, cada um faz o que quer com o tempo disponivel…questão de gosto pessoal… :)

Mas você não precisa aprender N Frameworks para trabalhar com J2EE. Se você quiser, pode trabalhar com Struts, por exemplo, a vida inteira :shock: e sair na balada etc etc ! As pessoas estudam vários frameworks porque querem/buscam uma produtividade/facilidade maior de fazer as coisas, coisa que você não tem muita opção com .NET. Se amanhã eles resolverem adotar um “Struts.Net” ou outra “Porcaria.Net”, você vai ter que usar aquilo e pronto, mesmo que sua produtividade não seja tão boa.

ASOBrasil

S

Para quem não concorda com o que eu disse vou deixar uma pequena reflexão.

Imagine que você está em um projeto X e precisa aprender algo AGORA. Exemplo, Facelets e usar ajax4jsf.

Experimenta procurar no google, usando tomcat 5.5 que é o server mais básico que existe, tenta rodar. O tempo que você irá levar até reunir as informações que precisa, o tempo resolvendo bugs malditos e mais um monte de outros problemas é o que conta.

Não estou dizendo que precisamos saber todos os frameworks, mas hoje em dia até mesmo um ou outro está dificil de se utilizar. Não estou exagerando.

M

Realmente, para mim isso é falta de planejamento. Todo projeto, na fase de concepção, já começam a estudar as tecnologias a serem utilizadas e a viabilidade. Se não é viável aprender ou utilizar, estudam outra. Se só eu não soubesse algo, aí quem está “errado” sou eu, mas se é uma tecnologia nova para toda o grupo, não existe essa de aprender agora.

Até!

P

Ter opções não é o problema, o problema é fragmentar o mercado com zilhões de opções redundantes. Quando algo novo surge ele deveria olhar em volta e pensar em evoluir o que já existe, não apenas criar uma base de código toda nova, com uma maneira de configurar e utilizar toda nova, só porque seu projeto permite utilizar alpiste no lugar de arquivos de configuração.

Bons frameworks (e o struts Action não é um bom framework, só para deixar claro :P) são criados exatamente para serem extensíveis. Ao inventar uma funcionalidade X qualquer você não deveria eescrever todo um framework e sim extender os disponíveis.

Então, respondendo, sim, existe muita redundância e o mercado está muito fragmentado com diversas opções que fazem a mesma coisa do mesmo modo. Claro que existem exceções, mas na maioria das vezes o que as pessoas querem é ficar ricos e famosos com um framework novo que faz o mesmo que o anterior faz, só que diferente.

P

A propósito, quanto ás respostas mal-educadas acima:

Isso aqui é um fórum. Se toda vez que alguém levantar uma idéia nova for recebido deste modo o debate acaba e isso vira cada vez mais helpdesk 24 horas gratuito.

S

Não sei como responder a esse seu post depois de ler esse seu outro post aqui: http://www.guj.com.br/posts/list/52386.java

Também quanto a esse seu comentário aqui:

“Spark”:
É o caso dos brasileiros que andam fazendo framework mvc que promete fazer muito… no fim das contas, eles não estão trazendo nada de novo, simplesmente tentando reinventar a roda.

Me sinto no direito de dizer que vc realmente não vai conseguir chegar a lugar nenhum tentando desmerecer o trabalho dos outros por puro recalque. Deixe esse recalque de lado e vá estudar. Seria o melhor que vc faz, não pra mim, mas para vc mesmo.

Sendo bem objetivo:

  • Quantos idiomas existem no mundo? Quantos idiomas vc fala? Vc está preocupado com a complexidade do idioma mongol? Não né… Ok…

  • Quantas linguagens de programaçao existem? Quantas vc sabe? Vc está preocupado com a complexidade da linguagem E (http://en.wikipedia.org/wiki/E_programming_language) ??? Não né… Ok

  • Estamos falando de frameworks web ou frameworks no geral? Hibernate e Spring não são frameworks web.

  • Struts não é um bom framework. Se fosse o Struts 2 teria algo do Struts 1 e como podemos ver não há praticamente nada. O Struts 1 foi jogado no lixo e o Struts 2 é um refactoring do WebWork.

  • Se vc acha que Configuração Programática, Sticky Actions, Configuração por Script (beanshell, groovy), só para citar algumas, não são inovações, ok…

  • Se vc acha que simplicidade é algo não muito importante para um framewrok web, então ok…

  • Se, como vc mesmo disse:

“Spark”:
Mentawai também deve ser outra droga, todo framework que se preze usa xml…

vc deve realmente achar que todo framework que se preze deve usar XML, principalmente para validaçao… Então ok…

Já é a segunda ou terceira vez que vc bate nessa tecla, ficando claro o seu sentimento dúbio e recalcado. Quer debater, quer argumentar, o GUJ está aberto pra vc. Se vc acha que alguns brasileiros estão perdendo tempo fazendo frameworks web, tudo bem. Basta ignorar e usar outra coisa. Struts 1 como vc falou. Só peço que contenha a sua revolta e/ou recalque.

Mais um vez procure estudar e leia bastante. Ninguém nasce sabendo…

Quanto a existência de muitos frameworks web isso é bom e praticamente força com que os próximos que vierem a surgir tenham que ser bem simples e com uma curva de aprendizado muito baixa. Ninguém hoje em dia tem tempo e/ou quer perder meses aprendendo mais um framework web. A simplicidade ao extremo se tornou um pré-requisito básico, coisas que ao meu ver nunca foram fornecidas por webwork, struts, spring mvc, jsf, etc.

Há outras pessoas que compartilham da mesma opinião que a minha, dá uma olhada só:

B

Fiquei curioso… :slight_smile:

Que promessa vc espera de um framework ? Por favor dê exemplos.

O que vc espera de uma ferramenta 100% integrável? Estamos falando de ferramentas pagas ou open-source? Por favor dê exemplos.

spark:

Já é hora de parar pra pensar, temos muitas ferramentas, mas a maioria não fala entre si e não são 100% integráveis. Nosso trabalho está ficando mais produtivo? Os frameworks estão cumprindo mesmo com esta promessa? Ou as ides que ficaram melhores? Isto tudo é muito discutível.

L

Minha opnião:

Vejam o exemplo do Linux, porque depois de mais de uma década, ainda existem mais de 100 distribuições (sem falar nas comerciais) e mesmo assim o Linux ainda é esmagado por completo pelos outros SO?

Eu vejo isso pelo fato de 80% dessas 100 dsitros ai, fazerem exatamente a mesma coisa, mas com um nome diferente, com um ícone diferente por alguém não gostou e mandaram ele criar a própria distro.

Com os frameworks Java EE aconteceu a mesma coisa, todo mundo esta criando o seu framework, pra fazer exatamente o que algum outro já faz, mas que em alguns pontos acredita-se (e muitas vezes realmente fazem) pode-se fazer algo melhor.

Ai denovo, a liberdade virou libertinagem.

Exatamente o conceito que o Shoes falou, será que a granularidade não está muito alta?
Será que não seria melhor ter poucas opções, mas com mais possibilidades de extendê-las? de se tornarem masi flexivéis a nossas necessidades?

Vejo muita gente ai falando que escolher o que melhor se adequa e tal, mas de todos aqui, são pouquíssimos que tem esse poder de escolha, o que realmente ocorre é a pessoa sair de um projeto com Menta, e cair num projeto com Spring 2, e depois de 3 meses, a consultoria alocar o cara num projeto de Struts, ou com SuperUltraNewFWEE, ou seja, querendo ou não, os desenvolvedores vão ter que se interar de todas as novas soluções que vão aparecendo e tomando uma certa “popularidade”.

Por isso entendo quando alguém fala que escolheria fazer em .Net, mesmo não atendendo a contento. Não estou querendo dizer que temos que ficar parados numa única solução, mas tem muita gente reinventando a roda sim em Java EE, muito framework com uma ou outra funcionalidade a mais, que poderia muito bem ter sido adicionada num framework existente.

Acho que é isso.

S

Muitas opções sempre irão existir, não há como impedir isso a não ser que vc esteja em Cuba… Reclamar da quantidade de opções num mundo globalizado e aceleardo como hoje é chover no molhado…

Escolher uns 5 dentre o bolo e desses 5 escolher o que melhor lhe agrada. Struts, Spring MVC, Tapestry, Mentawai, VRaptor, JSF, etc fazem a mesma coisa mas de maneira bastante diferente e particular.

Se vc é consultor e tem que manter/cuidar de um projeto já pronto com um framework diferente a cada 6 meses, realmente sua vida pode ser complicada. Ou se vc olhar pelo lado positivo, quem melhor que vc poderá decidir pelo framework web a usar num projeto novo?

Algumas vezes pode ser bem mais vantajoso reescrever um projeto novamente usando as ferramentas e os frameworks certos ao invés de retalhar/concertar um projeto zoneado. Eu sugeriria isso para o cliente e garantiria satisfação, mesmo que eu tivesse que trabalhar um pouco mais na migração.

V

http://www.guj.com.br/posts/list/52386.java

Fiquei em dúvida, o q vc não conhece? O Mentawai, O Struts, ou programação java em geral?!

Sei lá, estuda um poquinho ao inves de dar um copy and paste de uma página pra pode emitir uma opinião ao menos decente.

Conhecidos, bem o pessoal do menta já o é! Respeitados, nossa, tbm…
Emitindo opiniões como essas talvez você pegue carona no framework e fique conhecido… já respeitado… sei não…

VELO

L

Amigo você com certeza não deve saber nada sobre servidores e em si tratando de workStation menos ainda…

Mas a questão aqui são os frameworks…

Aos que não pensaram muito ao falar mal dos frameworks em especial do framework mentawai, seria interessante estudar mais.
Eu vi na prática Prazo x Curva de aprendizado para 8(Oito) projetos em produção no Tribunal de Contas do Estado do Ceará em 1 ano e meio.(http://www.tce.ce.gov.br)

Implementei o site e o gerenciador de conteúdo 1 mês o site 1 mês o gerenciador de conteúdo utilizando o mentawai.

Amigo , voltando ao assunto de linux… o site está rodando num desktop com Slackware 10.2 com 512mb de RAM , P4 2.26ghz, HD IDE !!
O antigo site foi removido de um Itautec com windows2000 professional com 1GB de memória, HD com controladora SCSI etc… E TODOSS os funcionários do Tribunal e os Usuários externos elogiaram a performance que por sinal não necessitou ser medida por ferramentas pois era notável a olho nú… Então amigo estuda mais linux pra falar depois também ok…

Ao spark:

Você acha realmente que você é melhor do que muita gente por ai que acredita no Mentawai ?

Você não acha realmente que deveria fazer um bem a si mesmo e começar a estudar ?

Você parece que está revoltado pelo fato de não conseguir aprender nada meu chapa !

L

Antes de mais nada, bem-vindo ao GUJ amigo!

depois de mais nada, tente ser educado nas repostas pq vc não está na rua da sua casa!

Quando me referi ao Linux, citei o mesmo no ambito de desktop, procure usar a busca do GUJ ou entre no meu perfil e veja minhas repostas já postadas, pra ver se eu (ou vc) preciso estudar mais de linux ou não, assim vc evita ficar falando porcaria e eu tendo de dar essas respostas mal-educadas tbm.

minhas desculpas aos demais mebros que leram isso.

L

Obrigado amigo !

Eu não sou muito fã de fórums, prefiro livros…

Dá uma olhada no fórum do mentawai procura por perguntas minhas lá deve ter uma , duas ou 3… gosto de resolver problemas e não de perguntar muito entende…

Eu prefiro implementar soluções linux do que ficar falando em fórum …

Mas, a propósito … Eu falei algo de errado ? algum palavrão ? Não vou pedir desculpa a ninguém, nem quero ser elogiado, apenas mostrei a verdade. E porque você está sendo mal educado ? 0_o

Eu também sei escrever bonito, mas só quando eu quero :smiley:

Atenciosamente,
Hélio Frota

K

pcalcado:
Ter opções não é o problema, o problema é fragmentar o mercado com zilhões de opções redundantes. Quando algo novo surge ele deveria olhar em volta e pensar em evoluir o que já existe, não apenas criar uma base de código toda nova, com uma maneira de configurar e utilizar toda nova, só porque seu projeto permite utilizar alpiste no lugar de arquivos de configuração.

Bons frameworks (e o struts Action não é um bom framework, só para deixar claro :P) são criados exatamente para serem extensíveis. Ao inventar uma funcionalidade X qualquer você não deveria eescrever todo um framework e sim extender os disponíveis.

Então, respondendo, sim, existe muita redundância e o mercado está muito fragmentado com diversas opções que fazem a mesma coisa do mesmo modo. Claro que existem exceções, mas na maioria das vezes o que as pessoas querem é ficar ricos e famosos com um framework novo que faz o mesmo que o anterior faz, só que diferente.

Sinceramente sinto a mesma coisa. Estava olhando o SEAM, projeto bem interessante que na nova versão tem muitas características novas, principalmente na área de segurança.

Faz uso extensivo de JSF e eu me pergunto, AJAX por mais que seja um componente estável, ainda é web retrógrada, sem possibilidades de mídia, usabilidade pobre para o usuário.

Para comprovar, basta darem uma olhada no que o Flex vem fazendo.

Se o Flex virar padrão de mercado para interfaces por exemplo, pode jogar fora praticamente todo o SEAM, pois o mesmo não é extensível.

Poderiam dizer que isso é uma questão de renderkit, então pergunto, pq ao invés de inventar a roda novamente - tapestry vs jsf, myfaces, adf, entre outros, o pessoal não investe na extensibilidade, como renderkits poderosos que cospem flash por exemplo, pq HTML na minha opinião cada dia vai se tornando mais obsoleto. :twisted:

G

Bom, voltando ao titulo do tópico, obviamente excesso de framworks vai causar um excesso de complexidade mesmo… mas mais obviamente ainda voce nao vai querer colocar um excesso de complexidade na sua aplicação, nao é mesmo.
Realmente quando a gente bate o olho no mundaréu de siglas ou no monte de nomes de bixos, dinossauros (nao que dinossauros nao seja bixos :slight_smile: ), ou naqueles nomes menos divertidos das especificações (que acabam virando letrinhas também) a gente dá uma assustada e não sabe muito bem por onde começar.

Tem gente complicando muito mesmo as aplicações por querer colocar todos os frameworks de uma vez. Sendo que o melhor é voce gastar um tempo pesquisando (pode nao ser pouco tempo…) e entao escolher a melhor opção para cada caso. Eu gosto do estilo JSF, entao uso ele com Facelets e JPA/Hibernate e para mim já basta. Nao preciso ficar me matando com xml porque uso anotações, e onde uso xml é por opção mesmo. Eu vejo muita coisa interessante em frameworks como Menta e VRaptor, e também em outros frameworks como Shale que são feitos mesmo para integrar com outros (no caso JSF). A questão é ter bom-senso (essa é a palavra mágica para tudo) e ver se vale a pena adicionar um outro framework pra fazer só uma coisinha de nada…

É legal fazer essas coisas complexas, cheia de integrações cabulosas para você aprender, e então numa aplicação real você saber o que vale e o que nao vale a pena. Eu pessoalmente prefiro fazer minhas customizacoes em cima do framework que uso, como já foi dito aqui pelo pessoal.
Tem muito framework? Tem mesmo… mas apesar de ter muita coisa igual, se nao houvesse toda essa iniciativa de ter um monte de frameworks nao apareceria coisas novas também… ou seria mais difícil.

Falando do linux, eu nao manjo nada… :oops: mas nao precisa ser o cara para falar sobre o que, acredito eu, foi o sentido que o Luiz quis dizer. A questão não é se é bom ou nao, se é mais usado em server ou nao, a questao é que em numero de usuários ele perde feio pro windows… e nao tem nada a ver com qualidade.

Com frameworks é igual. O caboclo vê um monte de coisa e fica no .Net :shock: .
Deveria ter mais opções de frameworks para integrar e estender, em vez de criar um do zero. Não quero entrar no mérito se é bom ou ruim, mas uma iniciativa legal, que inclusive eu já citei, é o Shale, que é feito para estender o JSF e integrar com outras coisas da ASF.

B

Em termos de desktop sim, é esmagado pelo Windows.
Em termos de server, com certeza não. Hoje é difícil ver uma empresa de porte médio que não tenha Linux; e muitas empresas pequenas usam a solução LAMP para prestar os seus serviços.

Isso é verdade, o projeto FreeDesktop que pretende acabar com essa bagunça demorou pra sair, e a conseqüência disso foi essa diversidade toda. :wink:
Esse problema não é privilégio só do Linux, o mundo dos UNIX hoje é tão diversificado pq não foi forçado a seguir nenhum padrão, aí hoje temos Solaris, HP-UX, AIX e por aí vai…
Felizmente com outras coisas temos padrões… imagine se não existisse o ANSI SQL que bagunça seria entre diferentes bancos de dados? Se hoje já é meio complicado migrar de um banco pra outro, imagine sem padrão nenhum ? :slight_smile:

Acho que no caso do JEE isso aconteceu pq simplesmente o framework mais usado eu precisava fazer:

A + B + C + D + E + F + G :arrow: para conseguir X

E surgiram novas opções:

A + B + C :arrow: para conseguir X
A + D + E + F :arrow: para conseguir X

Que são caminhos alternativos mais fáceis para chegar ao mesmo resultado. Os autores do framework enxergam como uma alternativa viável e melhor que as existentes, mas talvez a maioria não veja dessa maneira. Acho que pela quantidade de usuários e cases de um framework dá pra saber se a alternativa encontrada é uma boa escolha.

Ideal seria mesmo, mas para fugir da burocracia do JCP o pessoal aposta pra uma solução open source…

Realmente a escolha de um framework é uma decisão que precisa ser ponderada bastante…

Bom, como eu já disse antes, vale a pena dar uma olhada nos cases do framework e no que as pessoas que usam acham dele…

E até entendo que diante dessa complexidade toda algumas pessoas optem para .Net mesmo…

G

Sobre o Flex, e mais especificamente Lazslo, uma ve li um cara metendo o pau no JSF falando que ele nao servia pra nada, e que o Laszlo, com suas interfaces “nervosas” ia fazer com que o JSF, e consequentemente o Seam e quem mais trabalhe com html já nascessem mortos…
Eu concordo com o Kenobi, acho que poderia ter projetos mais voltados a essa integragração com flash etc (onde foi parar o jsf4laszlo?). Mas o que eu vi na prática, é que para aplicações corporativas, pelo menos na minha realidade, o flash ainda é utópico :frowning:
As aplicações que eu desenvolvo são usadas pelo interior do estado de MS e em alguns lugares o negócio é caótico… uma paginazinha html já demora horrores… e a minha esperança é que o uso de ajax ajude na maioria dos casos melhorar o tempo de resposta para esse usuários.
Mas como eu falei, essa é a minha realidade, para quem tem menos restrição de banda e hardware, acho que pode até se incomodar mais com essa defasagem do html. Mas no meu caso (e acho que deve ter mais gente na mesma situação), mesmo que saia A solução em renderizadores flash para JSF nao iria poder usar :cry:

R

eu acredito que qualquer tecnologia blackbox (que voce não tem acesso a especificação/implementação - perceba que eu não mencionei proprietária) que se torne um “padrão de mercado” não deva ser vista com bons olhos e por esse motivo eu não ache que aplicações em flash/flex devam deslanchar.

A partir do momento que a adobe liberar o flash/flex eu perco o meu poder de argumentação nessa discussão (que já é off-topic aliás)

Sobre a discussão: a diversidade de frameworks é um problema quando você não conhece o problema que pretende resolver, IMHO a partir do momento que você tem o seu problema definido isso automaticamente reduz o seu leque de escolhas de um framework (pressupondo que você os conheça minimamente para saber qual o propósito/escopo de cada um - o que não parece ser o caso aqui)

Sim, você realmente acaba tendo que sempre procurar se informar sobre “a nova onda”, sim, você acaba tendo que ler sobre mais um framework-que-não-usa-xml ou um framework-que-usa-xml (sem desmerecer nenhum nem outro, que fique claro) mas afinal isso acaba tornando você um programador melhor (ou pelo menos menos pior) o que no final é o objetivo de todo mundo aqui certo?

J

As iniciativas que vêem surgindo são muito boas se comparadas às que tínhamos há pouquíssimo tempo atrás. Os Brazucas têm se mostrado como excelentes alternativas, particularmente posso falar do vRaptor que se comparado ao “poderoso” Struts é muito, mas muito mais produtivo, falo isto com a certeza de quem olha para o Livro “Struts in Action” e pensa: que dinheiro perdido! Estou longe de querer levantar bandeiras mas não posso me calar quando alguém fala que os frameworks nacionais são frutos de quem não tinha o que fazer, muito pelo contrário. O pessoal é muito competente, a ponto de não abrir um tópico como este para reclamar das opções e sim criar uma nova alternativa de qualidade, uma alternativa bem pensada, estruturada, extensível, produtiva e mais alguns adjetivos que caracterizam um framework quanto ao uso e extensão. Peca-se por falhas? Sim, peca-se, em documentação por exemplo, mas acima de tudo existe boa vontade, acima de tudo existe a qualidade e o sentimento de continuidade da ferramenta. Atualmente tenho uma aplicação estável e em produção em um Hospital de grande porte em MG utilizando a arquitetura MVC, tendo vRaptor como meu controller, Hibernate /Annotations em minha camada de Modelo e JSP+JS+CSS na minha camada de apresentação.

Sabem porque está estável porque assumi junto a minha diretoria migrar o desenvolvimento que era baseado em PHP para J2EE e sabem o que mais me agradou? Foi a possibilidade de escolhas entre frameworks e de onde tinha-se um framework MVC chamado CAKE PHP e era a única opção por melhor que ele fosse alguém acredita que ter somente uma opção facilita o desenvolvimento? A resposta é obvia, não, não facilita.

Viva as opções para que meu poder de escolha continue vivo!

T+

S

Algumas opiniões que peguei em um blog conhecido de desenvolvimento Java. O problema é integrar Ajax4JSF e Facelets:

Enfim, exemplos como este demonstram meu ponto de vista.

G

gilliard_santos:
Sobre o Flex, e mais especificamente Lazslo, uma ve li um cara metendo o pau no JSF falando que ele nao servia pra nada, e que o Laszlo, com suas interfaces “nervosas” ia fazer com que o JSF, e consequentemente o Seam e quem mais trabalhe com html já nascessem mortos…
Eu concordo com o Kenobi, acho que poderia ter projetos mais voltados a essa integragração com flash etc (onde foi parar o jsf4laszlo?). Mas o que eu vi na prática, é que para aplicações corporativas, pelo menos na minha realidade, o flash ainda é utópico :frowning:
As aplicações que eu desenvolvo são usadas pelo interior do estado de MS e em alguns lugares o negócio é caótico… uma paginazinha html já demora horrores… e a minha esperança é que o uso de ajax ajude na maioria dos casos melhorar o tempo de resposta para esse usuários.
Mas como eu falei, essa é a minha realidade, para quem tem menos restrição de banda e hardware, acho que pode até se incomodar mais com essa defasagem do html. Mas no meu caso (e acho que deve ter mais gente na mesma situação), mesmo que saia A solução em renderizadores flash para JSF nao iria poder usar :cry:

Concordo !

Por enquanto o FLEX é muito lento. Principalmente nas conexões discadas. Mas é muito legal !!! Fiz um exemplo em casa e me surpreendi.
Eu que sou pessimo para layout (designer) fiz um negocinho que ficou da hora… hehehe :slight_smile:

L

Recentemente escrevi um post “Simplicidade, é disso que o Java precisa!” no meu blog que tem tudo a ver com o assunto que está rolando aqui.

Acho que de fato estamos chegando em um nível de complexidade sem sentido. A complexidade está crescendo, o custo de desenvolver uma aplicação também cresceu e em muitos casos na minha opnião o produto final não tem tido qualidade superior aos da época do delphi/vb/asp/php.

Podemos estar usando o estado da arte mas acho que o mais importante que é deixar o cliente mais feliz em geral tem deixado muito a desejar. Vocês não acham que uma aplicação que levava 24 meses pra ser construída em 1997 hoje deveria ser desenvolvida em 12 meses? pelo que tenho visto hoje ela é feita em 36. E mesmo quando se fala em manutenção não vejo grandes ganhos.

Criado 21 de fevereiro de 2007
Ultima resposta 13 de mar. de 2007
Respostas 32
Participantes 20