10 motivos para não usar JSF (opinião pessoal)

59 respostas
S
  1. Curva de aprendizado muito alta desnecessáriamente.
  2. Não traz grandes vantagens em relação a produtividade. (se duvida tente fazer um objeto simples como um select, depois me diga)
  3. Realizar validação é um caos. Existe excesso de classes e conversores nada intuitivos mesmo para um desenvolvedor J2ee experiente, quanto mais para um novato.
  4. Não é intuitivo para newbies em Java e também não é para veteranos.
  5. Documentação escassa e de dificil entendimento. Basta compará-lo com o Struts por exemplo.
  6. Implementações porcas como o ADF… :roll:
  7. Não tem integração com JSTL… :twisted: LOL Experimente fazer um painel dinamico com componentes html como radio ou selects e compare a mesma implementação com JSTL + Struts.
  8. Ao invés de simplificar, aumenta a complexidade.
  9. Trata tudo como se fosse um “swing”, pra quê eu preciso de um listener para meus componentes html?
  10. NÃO É DESENVOLVIDO PENSANDO NOS CONCEITOS WEB.

LOL, JSF sux a lot, espero que isto desapareça logo da face do J2ee e que venha logo o Struts 2. Mentawai também deve ser outra droga, todo framework que se preze usa xml.

59 Respostas

T

Ainda bem que isso é a opinião pessoal de alguém que fala mal sem conhecer e ainda tem medo do novo, Aliás usar xml é uma prática que só tem a perder em relação a usar somente código java. Perde em clareza, perde em produtividade, perde até em performance…

I

há… ontem na facu, primeiro dia de 3º ano, ltp2 e o prof falo q vai ensinar jsf hahahahaha espero q essa opinião sua ai seja só sua msm… de boua! hahaha nao to afim de perder tempo aprendendo coisa q nao presta

M

Claro, claro. Voltemos a programar JSP/Servlets puro… :x
E falar que framework que se valha, tem que ter XML é no mínimo uma opinião cega. Mas devemos respeitar… fazer o que?

C

realmente o ensino da computação tá só piorando, ainda bem que nao sao todas faculdades.

G

A Mundo Java desse mês traz um artigo muito bom sobre JSF. Tem coisas que vc colocou acima, que lá estão dizendo ao contrário (JSLT por exemplo).
Mas o que seria da banana se todos gostassem de maçã ??? (risos)
Acho que cada um se adapta com algo, e dai, é só trabalhar. Também acho super válido opiniões divergentes como a sua pois, faz a gente correr atras de mais informações.

R

desenvolvido tudo em jsf e hibernate. dá uma olhada lá pra ver o resultado. tem desvantagens sim mas os 10 motivos mostraram q quem criou o tópico só fez um helloworld predisposto a falar mal

G

Rildlanster:
www.dprf.gov.br

desenvolvido tudo em jsf e hibernate. dá uma olhada lá pra ver o resultado. tem desvantagens sim mas os 10 motivos mostraram q quem criou o tópico só fez um helloworld predisposto a falar mal

Muito legal parabéns !!!

Gostei da paginade consulta de combos que é rapida (deve ser o ajax)

S

Se vc gosta tanto de XML assim para achar que o mentawai é uma droga só porque não usa xml, então ok. Acho que vc ficou viciado em Struts. Como vc pode preferir configurar usando XML ao invés de Java ?

Dá uma lida no que o Martin Fowler, que é uma pessoa um pouco respeitada na comunidade, tem a dizer sobre isso: http://forum.mentaframework.org/posts/list/159.page

Do resto concordo plenamente com vc sobre JSF. Lembre-se que o Struts é muito ruim e que o Struts2 não é Struts e sim um major refactoring do webwork.

Repare também que tudo isso que vc reclamou sobre o JSF não se aplica ao mentawai.

S

caramba, fui lendo suas 10 razoes e ate concordando com algumas… mas aí falar bem de struts e mal do mentawai foi triste…

enfim, só pra colocar meu comentario sobre isso:

minha maior birra com JSF é talvez parecida com o seu ponto 10: jsf parece uma gambiarra em cima da web. pra quem ja programava antes pra web, a nocao de componentes e estado parece mto bizarra.

concordo que quem vem da programacao desktop acaba se sentindo em casa, mas o caminho contrario é meio penoso…
eu comecei programando web, em php, e depois em java… meu pensamento ja eh request/response. fazer componentes e stateful me parece mto contraintuitivo num primeiro momento :slight_smile:

S

spark:

7. Não tem integração com JSTL…

Qual especificações JSF e JSP você está usando?

Lembre-se, as versões anteriores JSF 1.2 e JSP 2.1 não eram compatíveis.

F

É meio contraditorio dizer isso e reclamar de JSF.

]['s

M

Eu não sei porque ainda me assusto com essas coisas…

G

A única coisa que eu posso dizer que concordo é em relacao a quem está acostumado a programar jsp + servlet e mete a mao o tempo todo no tal do request e response… depois que você entende que o paradigma é diferente, a produtividade aumenta sim. O resto do que foi dito é como já comentaram… ainda bem que você falou que é opinião tua… e pelo jeito opinião de quem no máximo fez um hello world.
E sobre validação, esperimente sobrescrever um metodozinho chamado equals :wink: você vai se surpreender :twisted:

K

É raro eu discordar em tantos pontos.

1. Curva de aprendizado muito alta desnecessáriamente.

Muito alta? Bom, depende do QI de quem está aprendendo. Se for comparar com o Struts por exemplo, é muito mais simples e fácil de aprender.

2. Não traz grandes vantagens em relação a produtividade. (se duvida tente fazer um objeto simples como um select, depois me diga)

Eu nunca fui tão produtivo no desenvolvimento web (sério!). E com relação a “um objeto simples como um select”, bom, com certeza você não fez o seu dever de casa e aprendeu direito o framework.

3. Realizar validação é um caos. Existe excesso de classes e conversores nada intuitivos mesmo para um desenvolvedor J2ee experiente, quanto mais para um novato.

Você acha complicado escrever algo como

<h:inputText value="#{algo.algo}" required="true" id="idAlgo">
    <f:validateXXX/>
  </h:inputText>

???
Putz!.. E ainda reclama porque existem vários tipos de validadores. Ai…
ALiás, conhece a especificação 1.2?

4. Não é intuitivo para newbies em Java e também não é para veteranos.

Muito subjetivo

5. Documentação escassa e de dificil entendimento. Basta compará-lo com o Struts por exemplo.

Concordo.

6. Implementações porcas como o ADF…
ADF não é implementação do Faces. É apenas um conjunto de componentes.


7. Não tem integração com JSTL… LOL Experimente fazer um painel dinamico com componentes html como radio ou selects e compare a mesma implementação com JSTL + Struts.

Oh a ignorância sobre o assunto de novo…

8. Ao invés de simplificar, aumenta a complexidade.
Compare com o Struts por exemplo. É extremamente simples!

9. Trata tudo como se fosse um “swing”, pra quê eu preciso de um listener para meus componentes html?
O modelo de desenvolvimento de interfaces desktop é muito mais rico que o baseado em web.

10. NÃO É DESENVOLVIDO PENSANDO NOS CONCEITOS WEB.

Defina “conceitos web”.

F

Deixa o Urubatan ler esse tópico pra vc ver.
euuheuheuhe…
Tá parecendo que vc não conseguiu aprender jsf e tah querendo arrumar motivos pra sua derrota. :frowning:

G

Ontem fiz minha primeira aplicação usando JSF, com:

  • NetBeans 5.5 (muito legal principalmente pra quem usa VS.NET2003)
  • JPA (persistencia no MySql)

Muito, mas muito fácil ! (aplicação era simples para meu propósito inicial)

Cara da uma lida melhor sobre o JSF que acredito que vc se surpreendera.

Da uma lida na JavaMagazine desse mês (fev/07).

Abs

R

Continue desenvolvendo com EJB 2 + Struts e seja feliz então cara :slight_smile:

O dia que você resolver acordar vai perceber que Java cada vez mais caminha para utilizar cada vez menos XML :slight_smile:

C

Bom, antes de reclamar precisamos saber algumas informações:

  1. Quanto tempo você mecheu com JSF? 1 dia?!

  2. Qual a experiência que você tem na criação de componentes? 0 dias?

  3. Você possue a mente fechada para novas tecnologias?

  4. Você gosta de configurar XML?

  5. Se tu não gosta de inovações, agarre o struts e durma com ele todo dia, pq JSF é o futuro, queira você ou não.

Eu amo JSF, foi a melhor coisa que já inventaram, é MUITO simples colocar um select na página, é MUITO simples implantar AJAX, é MUITO simples criar um grande sistema utilizando componentes já prontos e é MUITO simples criar novos componentes.
** editado, última parte foi retirada por conter palavriados que não podem ser traduzidos em linguagem java.

S

É simples depois de 6 meses de estudos.

E componentes para web fazem pouco sentido. Dá um exemplo de componentes que vc reutiliza?

Web não é Swing !!!

C

saoj:

É simples depois de 6 meses de estudos.

E componentes para web fazem pouco sentido. Dá um exemplo de componentes que vc reutiliza?

Web não é Swing !!!

Se voce sabe usar bem a ferramenta que voce tem, voce faz milagres.
Agora a pessoa que quer criticar uma ferramenta pra enfatizar uma propria tem essa atitude sua mesmo, tranquilo.

S

Não amigo. Eu fiz uma colocação pertinente e vc por não possuir qualquer argumento válido que embase suas afirmaçoes sem sentido, veio com essa resposta totalmente despresível.

E então? Vai falar quais são os componentes que vc faz e reutiliza?

Ou vai falar que eu e os outros que apresentamos argumentos contrários ao JSF estamos apenas querendo enfatizar uma outra ferramenta? Acredito que estamos apenas debatendo. Ou vc apresenta argumentos ou fala isso daí que vc falou…

C

Bom, respondendo ao nosso querido amigo “Mentawai” que diz que JSF é não é swing, eu disse que JSF tem a possibilidade de reutizar componentes e eu uso JSF para desktop tb e nao só pra web, o que parece que o amigo nao sabe para que jsf serve.

E sim, eu reutilizo componentes. Eu crio um componente especial de validação para jsf que uso tanto para web qnto para desktop e no desktop eu faco uma extensão dele dando suporte a algumas libs próprias como o swing.

Vou ter que copiar trechos na internet que fala o que é “reutilizar componentes” para explicar?

Acredito eu que pessoas que colocam defeito no JSF sao pessoas que nao experimentaram de fato a ferramenta, talvez por preconceito ou talvez por incapacidade mesmo. Voce nao precisa falar que gosta de JSF, cada um tem uma opiniao, agora nao vem colocar defeito no que voce desconhece.

O mundo e muito grande, creio que pessoas ainda irao preferir o seu framework. Eu ja utilizei nao fui com a cara mas nao falo mal.

S

Vc mistura desktop com web. Provavelmente teve suas origens no VB.

Componente que é bom não mostrou nenhum.

Eu não falei mal do JSF, só falei que é uma volta ao mundo para chegar ali do lado, a troco de muito pouco.

Faz o seguinte:

Pega esse link aqui e enfia no seu browser, que acho que o teu problema é outro. :wink:

http://forum.mentaframework.org/posts/list/157.page

C

VB?AhaHAhaHA

Se nao eh bom misturar swing e web, vai na especificacao do JSF e enfia a merda do seu comentario la “nao eh bom misturar swing com web”, quem sabe eles desistem do jsf depois do seu lindo comentario.

Sem mais no momento, da uma lida na especificacao do JSF, vc ta precisando d aprender um pouquinho mais sobre a tecnologia meu caro “mentawai”.

L

Paulo e Sérgio, se vcs estão apaixonados, não fiquem demonstrando esse amor todo em público… rs :smiley:

S

Tá tranquilo meu caro “???”.

Boa sorte com JSF. Se vc gosta e te faz produtivo vai em frente.

Só vê se consegue dar um exemplo de alguns super-componentes aí que facilitam a sua vida pra caramba. E também um exemplo de um sistema web que vc reaproveitou para desktop ou vice-versa.

Sem estresse. Peace and love! E vamos em frente…

M

Vamos a os exemplos de componentes reutilizáveis:

TabbedPane

DatePicker

Tree

PopUp

PickList

Pra complementar -&gt http://livedemo.exadel.com/richfaces-demo/

E antes que alguém diga "mas eu posso fazer isso com JavaScript", ótimo que você faz com JavaScript, eu não faço nada, coloco lá e tá funcionando.

S

Esses componentes me lembram muito swing e programação desktop.

Alguns como data e tab podem ser úteis, já os outros me parecem meio overkill para web. Melhor então fazer um applet swing.

O Mentawai também oferece alguns componentes parecidos com esses aí:

http://www.mentaframework.org/dyntags.jsp

Acho que esses componentes não justificam a adoção de um framework. Acho que há outras coisas mais importante. Mas… Apenas minha opinião pessoal…

M

saoj:

Esses componentes me lembram muito swing e programação desktop.

Alguns como data e tab podem ser úteis, já os outros me parecem meio overkill para web. Melhor então fazer um applet swing.

Diga isso pro GMail.

saoj:
O Mentawai também oferece alguns componentes parecidos com esses aí:

http://www.mentaframework.org/dyntags.jsp

Acho que esses componentes não justificam a adoção de um framework. Acho que há outras coisas mais importante. Mas… Apenas minha opinião pessoal…

Podem não justificar para a adoção de frameworks web baseados em Commands como o Mentawai, já para um framework que é todo baseado em componentes, como Tapestry e JavaServer Faces isso é um dos fatores mais importantes. Acho que eu já repeti isso um milhão de vezes, mas não vamos misturar alhos com bugalhos, Mentawai e JSF são frameworks com ideais completamente diferentes, não vejo sentido nenhum em comparar os dois, cada um vai no seu caminho e cada um parte para uma abordagem completamente diversa.

F

Rich Internet applications are web applications that have the features and functionality of traditional desktop applications. :roll:

S

O Gmail é baseado em componentes? Se for eu não sabia…

Pensei que era baseado em um monte de coisas em Ajax, tanto é que eles fizeram um toolkit lá…

E as maluquices do Gmail não são DHTML + Ajax?

Tudo bem. Realmente não dá para comparar component-based com command-based.

Deixa essa discussão pra lá, mas quem começou o tópico não fui eu… :slight_smile:

D

E por que um componente JSF não poderia ser Ajax-enabled?

U

pode sim …

a prova disto: http://www.icefaces.org
ou então: http://www.urubatan.com.br/2006/11/15/icefaces-agora-open-source-tambem-com-exemplo-de-datatable-e-campo-de-texto-autocomplete/

mas antes de postar qualquer outra cosia aqui …
o que esta sendo chamado de componente?

eu acho que o dataTable do JSF é um componente, e o dataTable do icefaces é um componente que se usa exatamente igual, com as mesmas tags, mas tem suporte a ajax …

J

Olá.

Bom, lí a maioria dos comentários, e acredito que alguns são pertinentes.

Só acho que ficar defendendo frameworks como um time de futebol não leva a nada.
Somos desenvolvedores e devemos estar aberto a tudo o que é bom.

Struts - É um framework bom e fácil de desenvolver.
Os prós poderiam ser a separação da lógica de formulários Bean com ActionForm ou DynaForm, as simples actions e as regras de navegação e a estabilidade.
Contra seria a programação de iterações no seu jsp quando poderia existir componentes que facilitassem isso, justamente por não ter componentes ricos. (A versão 2 ainda não usei, alguém poderia comentar a respeito?). Outra coisa ruim é falta de abstração dos objetos passados via request.

JSF - fácil aprender, ciclo de vida bem projetado em 6 fases distintas, possibilitando desenvolver de modo mais transparente, principalmente para fazer componentes novos ou implementar “renderers”.
Componentes ricos, muito úteis.
Facilidade em uso do Ajax (como DWR e A4J).
Contras:
Muitos bugs nas implementações, aliás, coisas essenciais na vida de um framework. Um deles cheguei a reportar para o grupo MyFaces.
Falta de abstração do componentes request e complicação para usar GET.

Problemas em ambos os frameworks: Falta de integração para modelagem de sistemas usando BPM, por exemplo, regras de conversação, ciclos de casos de uso (request ao inves de session).
O faces tem a vantagem de poder ser usado com o JBoss Seam, que sana quase tudo, o struts fica a deriva.

Bom, relatei alguns prós e contras de cada um, já realizei projetos nos 2 frameworks, e conheço em parte do código fonte de ambos e modelagem.

Sem fosse fazer um projeto hoje, escolheria JSF tranquilamente.
Espero conhecer o struts2 eo menta para aprender mais.

Agora, se querem simplicidade, coesão e não precisam de componentes tão ricos assim, usem o Spring MVC, ou Spring + JSF/Struts. :smiley:

A

Bom, já testei JSF e desisti, em meu trabalho usam Struts e uso Mentawai em um site pessoal… com certeza o Mentawai é o melhor. Trabalhar com Java é bem melhor que XML, e não é só isso, acho que o forte do Mentawai não é deixar de usar XML e sim a simplicidade de aprender a usar o framework.

C

Você escolheu o melhor pra você, as vzes as pessoas possuem um certo problema de deixar os laços do passado ou do comodismo pra aprender uma nova tecnologia, claro que a escolha do framework depende do projeto, as vzes o JSF não é necessário (bom, pra mim sempre é necessário), agora não diz que um é melhor que o outro porque isso está fora do seu alcance, já que você “desistiu” antes de aprender o que a tecnologia tem para lhe oferecer, isso serve pro nosso amigo mentawai.

L

Quanto mais eu leio, mais eu gosto de swing hehe :slight_smile:

L

Colegas,
Acredito que o colega que iniciou o tópico APENAS expressou uma opinião pessoal e alguns cairam de pau em cima dele, onde NO MEU PONTO DE VISTA deveriamos mostrar para ele links, fontes de consulta e exemplos para que ele possa ter mais embasamento e decidir realmente se este framework serve ou não para as suas necessidades, até porque expressar o seu ponto de vista é um DIREITO que ele tem, desde que não ofenda pessoalmente ninguém.
Para mim, o JSF atende minhas necessidades e me faz um desenvolvedor feliz.
Acredito que a quantidade de opções de frameworks web é tão grande que dúvido que as pessoas que criticam X ou Y ou Z realmente os testaram para poder argumentar com embasamento(as que testaram sabem que tanto X, Y ou Z tem suas “qualidades” e “defeitos” e mesmo as “qualidades” e “defeitos” podem ser extremamente relativos a um ponto de vista pessoal).
Recentemente, tive contato com o VRaptor e achei ele muito interessante pela praticidade e facilidade e penso em considerá-lo em novos projetos também, mas por que penso isto ?, porque o estudei, olhei sua documentação, seus exemplos, ou seja, agi como um profissional da área e não como um “cara que programa”.
Uma outra coisa que me assusta é o extremismo e descaso de quem vem de outras tecnologias, qual o problema de ter vindo do VB ?, sou um programador ruim por causa disso ?, ah, venho do Python ! então sou um extremista ?
Por exemplo, para MIM o Mentaway não serve(realmente o testei e não gostei dele), mas nem por isso eu preciso vir a um fórum detonar com ele, apenas não o uso e ponto.
Todos temos direito de gostar do X e não do Y, mas se queremos convercer uma pessoa a gostar o Y devemos convidá-la a experimenta-lo e não dizer o que o X não presta, acho este tipo de colocação muito pouco inteligente !!!.
Ah, quanto aos links para o colega que iniciou o post, tem vários:

[list]
http://www.exadel.com/tutorial/jsf/jsftags-guide.html
http://www.coreservlets.com/JSF-Tutorial/
http://www.theserverside.com/tt/articles/article.tss?l=BuildingCustomJSF
http://www.jsfcentral.com/
http://www.jsftutorials.net/
http://jsf.iatp.org.ua/
http://www.crazysquirrel.com/computing/java/jsf/index.jspx
http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html
http://www.jtechnology.it/jsf/Index_tutorial.htm
http://www.laliluna.de/first-java-server-faces-tutorial.html
http://www.java201.com/resources/browse/2007/jsf.html
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSFIntro.html
http://myfaces.apache.org/
http://www.horstmann.com/corejsf/jsf-tags.html
http://www.programacion.com/java/tutorial/jap_jsfwork/
http://java.sys-con.com/read/46977.htm
https://facelets.dev.java.net/
http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html
http://www.ftponline.com/javapro/2003_12/magazine/features/kmann/
http://www.oracle.com/technology/obe/obe1013jdev/jsfintro/jsfintro.htm
http://www.tutorialized.com/tutorial/First-Java-Server-Faces-Tutorial/6843
http://www.roseindia.net/jsf/tutorial/jsf_examples_explored_part1.shtml
http://jroller.com/page/cschalk
[/list]

Um abraço a todos e viva a tecnologia !!!!.
G

Java-Cachaça:
Colegas,
Acredito que o colega que iniciou o tópico APENAS expressou uma opinião pessoal e alguns cairam de pau em cima dele, onde NO MEU PONTO DE VISTA deveriamos mostrar para ele links, fontes de consulta e exemplos para que ele possa ter mais embasamento e decidir realmente se este framework serve ou não para as suas necessidades, até porque expressar o seu ponto de vista é um DIREITO que ele tem, desde que não ofenda pessoalmente ninguém.
Para mim, o JSF atende minhas necessidades e me faz um desenvolvedor feliz.
Acredito que a quantidade de opções de frameworks web é tão grande que dúvido que as pessoas que criticam X ou Y ou Z realmente os testaram para poder argumentar com embasamento(as que testaram sabem que tanto X, Y ou Z tem suas “qualidades” e “defeitos” e mesmo as “qualidades” e “defeitos” podem ser extremamente relativos a um ponto de vista pessoal).
Recentemente, tive contato com o VRaptor e achei ele muito interessante pela praticidade e facilidade e penso em considerá-lo em novos projetos também, mas por que penso isto ?, porque o estudei, olhei sua documentação, seus exemplos, ou seja, agi como um profissional da área e não como um “cara que programa”.
Uma outra coisa que me assusta é o extremismo e descaso de quem vem de outras tecnologias, qual o problema de ter vindo do VB ?, sou um programador ruim por causa disso ?, ah, venho do Python ! então sou um extremista ?
Por exemplo, para MIM o Mentaway não serve(realmente o testei e não gostei dele), mas nem por isso eu preciso vir a um fórum detonar com ele, apenas não o uso e ponto.
Todos temos direito de gostar do X e não do Y, mas se queremos convercer uma pessoa a gostar o Y devemos convidá-la a experimenta-lo e não dizer o que o X não presta, acho este tipo de colocação muito pouco inteligente !!!.
Ah, quanto aos links para o colega que iniciou o post, tem vários:

[list]
http://www.exadel.com/tutorial/jsf/jsftags-guide.html
http://www.coreservlets.com/JSF-Tutorial/
http://www.theserverside.com/tt/articles/article.tss?l=BuildingCustomJSF
http://www.jsfcentral.com/
http://www.jsftutorials.net/
http://jsf.iatp.org.ua/
http://www.crazysquirrel.com/computing/java/jsf/index.jspx
http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html
http://www.jtechnology.it/jsf/Index_tutorial.htm
http://www.laliluna.de/first-java-server-faces-tutorial.html
http://www.java201.com/resources/browse/2007/jsf.html
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSFIntro.html
http://myfaces.apache.org/
http://www.horstmann.com/corejsf/jsf-tags.html
http://www.programacion.com/java/tutorial/jap_jsfwork/
http://java.sys-con.com/read/46977.htm
https://facelets.dev.java.net/
http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html
http://www.ftponline.com/javapro/2003_12/magazine/features/kmann/
http://www.oracle.com/technology/obe/obe1013jdev/jsfintro/jsfintro.htm
http://www.tutorialized.com/tutorial/First-Java-Server-Faces-Tutorial/6843
http://www.roseindia.net/jsf/tutorial/jsf_examples_explored_part1.shtml
http://jroller.com/page/cschalk
[/list]

Um abraço a todos e viva a tecnologia !!!!.</blockquote>

Muito bom ! :slight_smile:

Excelentes links.

Enquanto todos discutem os vários frameworks (gratuítos por sinal) para se trabalhar com aplicações na WEB com JAVA. Eu aqui tenho que (fazer oq) me contentar com ASP.Net (não é o único mas 99,9% usam ele).
Fico a merce da MS (não é crítica OK).
Também não quero discutir entre Java e .NET pelo amor de Deus.
Só acho que uma das grandes vantagens do universo JAVA é justamente as opções/qtdes de ferramentas open SS e gratuitas para se trabalhar. Isso é excelente !!! Não deveria ser motivo para discussão… (apesar de ser muito saudavel as vezes)
:lol:

B

esse é o principal motivo pra eu usar :smiley:

A

Mentawai não é tão velho assim e não acho que estou acomodado. Você já implementou alguma coisa em GWT?

Cada um tem sua opinião. Acho que facilidade e rapidez na implementação é imporante e o JSF não ajuda muito nesse caso.

S

O Mentawai surgiu depois do JSF, Struts e WebWork.

Essa discussão não vai levar a nada. Tem muita gente que usa o Mentawai (porque é simples, eficiente e oferece um monte de soluções práticas para as maiorias dos problemas), muita gente usa o JSF porque é padrão, component-based, etc.

Muita gente também não gosta de JSF pelos motivos que o autor do tópico descreveu no primeiro post. E algumas pessoas não gostam do Mentawai porque… bom… porque não usa XML… :?

Há espaço para os dois!

C

saoj:

Você escolheu o melhor pra você, as vzes as pessoas possuem um certo problema de deixar os laços do passado ou do comodismo pra aprender uma nova tecnologia.

O Mentawai surgiu depois do JSF, Struts e WebWork.

Essa discussão não vai levar a nada. Tem muita gente que usa o Mentawai (porque é simples, eficiente e oferece um monte de soluções práticas para as maiorias dos problemas), muita gente usa o JSF porque é padrão, component-based, etc.

Muita gente também não gosta de JSF pelos motivos que o autor do tópico descreveu no primeiro post. E algumas pessoas não gostam do Mentawai porque… bom… porque não usa XML… :?

Há espaço para os dois!

Pois então, ai que está a diferença, quem sabe mexer com JSF sabe configurar QUALQUER COISA DO JSF sem XML!

Você não precisa definir componentes, renderkits, navigation rules, managed beans no xml, então para de falar que precisa configurar muito XML com JSF porque não é verdade, quem sabe faz.

Desculpa te decepcionar mais uma vez.

A

casmeiron:
saoj:

Você escolheu o melhor pra você, as vzes as pessoas possuem um certo problema de deixar os laços do passado ou do comodismo pra aprender uma nova tecnologia.

O Mentawai surgiu depois do JSF, Struts e WebWork.

Essa discussão não vai levar a nada. Tem muita gente que usa o Mentawai (porque é simples, eficiente e oferece um monte de soluções práticas para as maiorias dos problemas), muita gente usa o JSF porque é padrão, component-based, etc.

Muita gente também não gosta de JSF pelos motivos que o autor do tópico descreveu no primeiro post. E algumas pessoas não gostam do Mentawai porque… bom… porque não usa XML… :?

Há espaço para os dois!

Pois então, ai que está a diferença, quem sabe mexer com JSF sabe configurar QUALQUER COISA DO JSF sem XML!

Você não precisa definir componentes, renderkits, navigation rules, managed beans no xml, então para de falar que precisa configurar muito XML com JSF porque não é verdade, quem sabe faz.

Desculpa te decepcionar mais uma vez.

Tem??? Como???

M

Tádá!

C

Dê uma olhada na classe RuntimeConfig do faces :slight_smile:

S

Pessoal, estou voltando à discussao (eu postei la na pg 1 hehehe).

Bom, eu questiono essa visão de componentes JSF unicamente como sendo “reaproveitar componentes”. Um Date Picker ou um Menu Tree não são o espírito do JSF ao meu ver. Esses “componentes” existiam muito antes do JSF, e basta colocar um JS lá.

Questionaram que com JSF vc nao escreve nada de JS por isso seria melhor. Bom a maioria desses componentizinhos em JS já provê alguma espécie de facilidade como uma taglib para incluir automaticamente (nao que escrever uma linha de JS mate alguém mas realmente tem gente que não gosta).

Falar que JSF tem Date Picker, Menu Tree ou trequinhos em Ajax já prontos não o diferencia das outras tecnologias. Aliás a produtividade em relação ao reaproveitamente dessas coisas é igual em JSF ou no meu JSP+Taglib.

A grande diferença do JSF é voce parar de pensar no HTML (perde-se o controle dele), parar de pensar em Request/Response e sua página ser, além de componentizinhos visuais em JS, uma verdadeira árvore de componentes em Java (como o Swing). Temos então algo que mantém o estado da aplicação e essa árevore de componentes na nossa aplicação.

São esses últimos argumentos que fazem a diferença do JSF. E são eles que eu acho que para certas pessoas podem ser contra-intuitivos (como o saoj falou, “Web nao eh Swing!”, em web EXISTE request/response por mais que tentem esconder, em Web NAO existe estado por mais que se faça “gambiarra” em cima… agora Date Picker tem em todo lugar e nao precisa de JSF pra isso).

A vantagem de voce abrir mao do seu HTML é que é possivel fazer certas coisas que no modelo JSP+Taglibs dariam trabalho, como validacoes no cliente e no servidor. Alguns componentes JSF sao espertos o suficiente para fazer a validacao em JS e no servidor com base na mesma configuracao. Com JSP isso nao funciona; voce precisa colocar o JS (ou uma taglib que faca isso pra facilitar) E depois fazer isso na sua “Action” (seja Struts, Mentawai, Vraptor ou o que for).

Enfim…

F

Eu tambem, mas vamos la. hehehe

sergiousp:
A grande diferença do JSF é voce parar de pensar no HTML (perde-se o controle dele), parar de pensar em Request/Response e sua página ser, além de componentizinhos visuais em JS, uma verdadeira árvore de componentes em Java (como o Swing). Temos então algo que mantém o estado da aplicação e essa árevore de componentes na nossa aplicação.

São esses últimos argumentos que fazem a diferença do JSF. E são eles que eu acho que para certas pessoas podem ser contra-intuitivos (como o saoj falou, “Web nao eh Swing!”, em web EXISTE request/response por mais que tentem esconder, em Web NAO existe estado por mais que se faça “gambiarra” em cima… agora Date Picker tem em todo lugar e nao precisa de JSF pra isso).

A vantagem de voce abrir mao do seu HTML é que é possivel fazer certas coisas que no modelo JSP+Taglibs dariam trabalho, como validacoes no cliente e no servidor. Alguns componentes JSF sao espertos o suficiente para fazer a validacao em JS e no servidor com base na mesma configuracao. Com JSP isso nao funciona; voce precisa colocar o JS (ou uma taglib que faca isso pra facilitar) E depois fazer isso na sua “Action” (seja Struts, Mentawai, Vraptor ou o que for).

Enfim…

Concordo com tudo que tu falou Sergio. Mas acrescentando alguns pontos. Nao da para comparar JSF com Struts, WebWork, Menta como o Mauricio ja comentou aqui. Ele foi concebido pra simular ambiente desktop na web. Componentes statefull, eventos e etc. Reclamar de Web nao é Desktop nao deve ser feito para o pessoal que inventou o JSF e sim a nós desenvolvedores que de uns anos pra cá queremos colocar tudo na web (entenda-se html + js + alguma coisa). A meu ver isso não ta correto. O que jsf e outros frameworks component based estao tentando fazer é facilitar pra quem trabalha assim.

Um sistema erp na web? Na boa fazer com Struts, WebWork, Menta funciona mas esta longe de ser simples. Com JSF o negocio fica muito melhor.

Agora nao sei o que é pior, se é o pessoal fazendo gambiarra com outros frameworks para conseguir essas funcionalidades ou se é o pessoal usando JSF pra fazer sitezinho simples. hehehe

]['s

S

É essa “longe de ser simples” que eu questiono… Pra mim seria mais simples, porque é mais contraintuitivo pra mim o JSF do que o Actions tratando Requests. Justamente porque me parece gambiarra colocar Statefull, Listener e etc na Web… sei lá…

Acho que a questão toda é essa: enxergar que sao tecnologias diferentes e com focos diferentes. Mas que, na minha opiniao, podem ter a mesma produtividade. Eu acho errado dizer que JSF é mais produtivo. Acho que apenas uma abordagem diferente (que eu particularmente acabo usando pouco).

PS. Algumas pessoas falaram antes aqui da “facilidade” do JSF em ter ferramenta drag&drop e tal. Sei que não é disso que voce fala, Fabio, mas só pra deixar claro pro pessoal que nao estamos discutindo um recurso de IDE mas a tecnologia em si…

fabgp2001:
Agora nao sei o que é pior, se é o pessoal fazendo gambiarra com outros frameworks para conseguir essas funcionalidades ou se é o pessoal usando JSF pra fazer sitezinho simples. hehehe

Concordo. Embora com nomes talvez improprios, eu costumo diferenciar “Site Web” de “Aplicação Web”. Site web é aquele cheio de firula, de corzinha, com designer e o escambau que é feito pro povão acessar (usar JSF nisso é suicídio). E Aplicação Web é aquele ERP que voce falou, o treco bem Form Based, cheio de inputs de dados, data grids e etc (aqui que o JSF entra justamente porque nao te interessa o HTML, mas a funcionalidade).

D

Aprendi em 1 semana os conceitos básicos. Não achei nada extraordinariamente difícil ou complicado de se fazer…

Como assim? Não achei nada de complicado em se criar qualquer componente jsf, ainda mais se estiver usando um binding para os mesmos.

Nada é intuitivo? Amigo, vc ta falando do JSF mesmo?

Tomando-se em conta que um “newbie” vai aprender jse primeiro, depois vai ver as bases dos servlets e jsp, com certeza vai ser difícil um cara com um mês de familiaridade com o Java aprender a usar jsf ou qualquer outro framwwork… Já aos veteranos, me desculpe, mas só se a pessoa for muito devagar…

Tudo que precisei até hoje encontrei sem problemas.

?

Já ouviu falar do JSF 1.2?

Onde?

Você acha desvantagem usar eventos para tratar componentes web? Eu não acho nem um pouco.

Como assim?

Bem, acho que vai ser difícil de desaparecer. Primeiro pq é o padrão usado pela sun (dá uma olhada no sun java creator ou no visual web pack do netbeans)
Struts 2 != Struts 1.x.x
Antes de falar que algo é uma droga, vc deveria implementar algo melhor. Não estou falando bem ou mal do mentaway pois nunca o usei, mas você não pode criticar as coisas assim. Se é uma droga explica pq vc num gosta e usa um termo mais educado para falar que não gostou.
Pq um framework que se preza TEM que usar xml? Então todo desenvolvedor web que se preza tem que usar Struts? Cada um é de um jeito meu caro… Ainda bem que tem gente que faz coisas diferentes…

Muito equivocada e mal educada a sua crítica…

Só lamento…

S

Vejam esse código aqui para parsear um array de bytes para hex, que eu encontrei na Internet:

private final char[] hex = "0123456789ABCDEF".toCharArray();
		public void hexdump(byte[] buf,int len) {
			byte b;
			for(int i=0;;i+=16) {
				for(int j=0;j&lt16;++j) {
					if (i+j&gt=len) System.out.print("   ");
					else {
						b = buf[i+j];
						System.out.print(" "+ hex[b&gt&gt&gt4] + hex[b&0xf] );
					}
				}
				System.out.print("  ");
				for(int j=0;j&lt16;++j) {
					if (i+j&gt=len) break;
					System.out.print((char)(buf[i+j]));
				}
				System.out.println();
				if (i+16&gt=len) break;
			}
		}

Depois de me deparar com esse atente a simplicidade, resolvi perder um tempinho para fazer meu próprio método:

private final char[] hex = "0123456789ABCDEF".toCharArray();
       
	public String toHex(byte[] array) {

               StringBuilder hexSB = new StringBuilder(64);
		
		for(int i=0;i&lt;array.length;i++) {
			
			int b1 = array[i] & 0xF;
			
			int b2 = array[i] &gt;&gt&gt 4;
    	
    		hexSB.append(hex[b2]).append(hex[b1]);
			
		}
		
		return hexSB.toString();
		
	}

Então fica a pergunta: O que leva uma pessoa a dar a volta ao mundo para complicar o simples, etc?

Não sei. De acordo com o livro Better, Faster, Lighter Java, algumas pessoas acreditam que: "Se eu escrevo código complicado, eu devo ser um bom programador!"

Eu acho que na maioria dos casos, na maioria dos projetos web que não necessitam de uma interface super complicada, JSF dá a volta ao mundo para resolver o simples.

E para esses projetos que precisam de uma interface super complicada, melhor usar Swing dentro de um applet, e não JSF.

Um projeto com uma interface web complicada só tem vez dentro de uma intranet, ou seja, num ambiente controlado, então melhor usar um applet swing.

F

O resto vou ver se opino depois, mas lendo uma coisa dessas melhor que eu tenho a fazer é ir dormir. Applet…argh

]['s

M

O resto vou ver se opino depois, mas lendo uma coisa dessas melhor que eu tenho a fazer é ir dormir. Applet…argh

]['s

É o que eu já disse, é melhor alguém ligar pro Google e dizer pra eles que não se faz interface complexa como o GMail pra web não, tem que fazer em um applet e usando Swing :lol:

Eu só acredito que alguém está falando isso porque eu estou presenciando :lol: :lol: :lol:

S

Maurício Linhares:

Eu só acredito que alguém está falando isso porque eu estou presenciando :lol: :lol: :lol:

Eu acho que eu escrevi lá uma palavrinhas tipo INTRANET, AMBIENTE CONTROLADO, etc e tal.

Não faz o menor sentido usar applet se não for um ambiente controlado.

Eu acho que Google não tem nada haver com JSF, mas posso estar enganado…

P

Sorry, mas mesmo em ambientes controlados, usar applets só em último caso. E de preferência, que esse caso seja de morte.

S


Concordo. Embora com nomes talvez improprios, eu costumo diferenciar “Site Web” de “Aplicação Web”. Site web é aquele cheio de firula, de corzinha, com designer e o escambau que é feito pro povão acessar (usar JSF nisso é suicídio). E Aplicação Web é aquele ERP que voce falou, o treco bem Form Based, cheio de inputs de dados, data grids e etc (aqui que o JSF entra justamente porque nao te interessa o HTML, mas a funcionalidade).

bom … já que chegamos na discussão de “Site Web” e de “Aplicação Web” … qual a opinião de vocês.

A partir de um sistema em Swing, que agora deseja-se torná-lo web.
Qual seria o melhor caminho?
JSF ou framework´s baseados em ação?

C

saoj:
Maurício Linhares:

Eu só acredito que alguém está falando isso porque eu estou presenciando :lol: :lol: :lol:

Eu acho que eu escrevi lá uma palavrinhas tipo INTRANET, AMBIENTE CONTROLADO, etc e tal.

Não faz o menor sentido usar applet se não for um ambiente controlado.

Eu acho que Google não tem nada haver com JSF, mas posso estar enganado…

Estamos em 2007 amigos, applet?! Deixe isso pros teclados virtuais dos bancos.
Bom, eu acho que você está com um conceito muito corrompido de web, a idéia é fazer aplicações web para rodar em qualquer tipo de cliente, móvel, desktop etc… Esse é o futuro, agora usar applet?! Certeza que você tá tirando uma com a nossa cara…

Outra coisa, concordando com o que o outro usuário falou, pra quem ja mexe com java web a algum tempo, achou o JSF a coisa mais simples do mundo, aonde tá a dificuldade?!?!?!?!?!
Quer validar? Usa os validators dele.
Quer chamar um método do seu managed bean?! Coloca action ou actionlistener.
Mapear o fluxo da sua página?! Navigation-Rules.
Quer modificar alguma coisa que não está do jeito que você quer?!?! Listener
AJAX?? Listener!!!
Cuspir WML?!?! RenderKit!!!

Mas axo que pra você vai servir bem o applet :stuck_out_tongue:
Mentawai nele!

C

*** Utilizando JSF sem precisar do faces-config ***

// implemente um listener pro servletContext
// implemente o método contextInitialized

public void contextInitialized(ServletContextEvent evt) {
    RuntimeConfig runtime = RuntimeConfig.getCurrentInstance(new ServletExternalContextImpl(this.getContext().getServletContext(), null,  null));
     // managed beans
    bean = new ManagedBean();
    bean.setName(name);
    bean.setScope(scope);
    runtime.addManagedBean(beanName, bean);
    // navigation-rules
    runtime.addNavigationRule(navigationRule);
    // component
    facesContext.getApplication().addComponent();
    // converter
    facesContext.getApplication().addConverter();
    // validator
    facesContext.getApplication().addValidator();
    // supported locations
    facesContext.getApplication().setSupportedLocations(Collection);
}
S

Em ambiente controlado/intranet, não há o menor problema em usar applets/java web start, principalmente se vc precisa trabalhar com Swing. Nunca falei em usar applet/jws para web em geral. Falei em usar para INTRANET onde o ambiente é controlado. Isso se vc quiser uma interface complexa, o que eu acho que só em último caso. As pessoas gostam de WEB mesmo, e não de listas, trees, e essas coisas… (Ok, applet não tem mais vez, principalmente porque tem-se java web start agora. Perdoem minha ignorância nesse sentido…)

Acho que o teu problema é outro casmeiron. Posso entender. O Mentawai é reconhecido por um monte de empresas e usado por um monte de gente inclusive pessoas da própria Sun (leia o esse link novamente). Acho que tu deve ter ficado meio mordido com isso, mas tudo bem… Continua trabalhando no Pimpas que sua vez vai chegar também… Só seja menos debochado e mais sério…

Pra fazer um site com uma interface tipo google, não precisa de JSF, precisa de Ajax. Não deixe de dar uma olhada aqui: http://code.google.com/webtoolkit/

Casmeiron, anota meu messenger aí: oliveira_sergio at hotmail.com. Vamos continuar esse papo em private para não incomodar o GUJ, ok?

Criado 6 de fevereiro de 2007
Ultima resposta 11 de fev. de 2007
Respostas 59
Participantes 28