GWT (Google Web ToolKit) alguém usa ? Experiências?

Alguém tem experiência com GWT (Google Web Toolkit) ?
Fiz alguns testes basicos e gostei! O que mais gostei foi a programação ser feita em Java. Acho que será um ganho de produtividade pois minha equipe conhece bem SWT e Swing, acho que é mais facil se adaptar ao GWT, pois lembra o estilo de programação desktop.
O problema é que não é padrão…

Comparando com JSF, que é component-based… quem tem experiência com as 2 tecnologias, gostaria de saber os prós e contras de cada uma delas! ??

Eu ainda gosto de programar na Web, pensando em Web, frameworks action-based… html/css/javascript… jquery… mas vejo que dependendo do sistema, a quantidade de javascript vai tornar a manutenção um inferno, principalmente por ter muitos programadores envolvidos, vai ficar dificil manter a “qualidade” e “organização” dos javascripts.
Por isso estou pensando seriamente em adotar algo que “abstraia” isso dos programadores… mas ainda tenho duvidas em relação a performance em telas muito pesadas, pois fazendo ajax na unha (apesar que costumo usar o DWR), você tem total controle e fica mais facil otimizar.

Também dei uma olhada no wicket (que nunca usei profissionalmente), mas achei pouca documentação e acho que isso pode ser um problema…

Obrigado

Olá.

Amigo, eu nunca trabalhei com GWT. Mas todos que conheço que trabalharam com ele, exceto 1, me disseram que se arrependeram amargamente da escolha. Disseram que é legal no inicio, mas na medida que o projeto cresce a manutenção torna-se mais e mais difícil. Disseram que o “editor visual” funciona só no inicio com telas simples, depois, só “na unha” e haja código!
O cara que é a exceção é um desenvolvedor desses que trabalharia na Google de tão bom que é.
Assim, pela amostragem que conheço, me parece que é uma tecnologia que só é produtiva se a equipe for de altíssimo nível.

Olá jmmenezes,

A empresa que estou trabalhando atualmente utiliza GWT em alguns de seus projetos. Visando produtividade e manutebilidade  considero GWT uma ótima tecnlogiapara esses requesitos e a sua dúvida em relação a telas muito pesadas posso te garantir que o GWT é muito bom para isso, já que seu front-end quando compilado é javascript puro (lembrando também que ele quando compilado ele gera uma versão otimizada para cada navegador) . Por contra partida, para aplicações WEB que deveriam ser apenas páginas ele já não é legal, até que para voce indexar por pagina fica algo estranho.

Sugiro usar GWT apenas para aplicações WEB mas com a visão de um sistema WEB e não paginas. Na empresa que trabalho, desenvolvemos uma framework para otimizar ainda mais o desenvolvimento e o resulto comprado com JSF foi muito superior.

Boa sorte :smiley:

Oi jonathan.c.rodrigues,

  1. Vocês utilizam o GWT “puro” ou um framework feito em cima dele similar ao Vaadin?

  2. Você sabe dizer se o GWT é muito utilizado no mercado?

flws

cara,
concordo com o jyoshiriro, alem do que, quando eu estava trabalhando com gwt, sempre tinham atualizações do gwt e essas atualizações na maioria das vezes não eram compativel com a versão anterior.

t+

Tópicos que podem interessar:

http://www.guj.com.br/java/252170-wicket-15

http://www.guj.com.br/java/277347-gwt-ext-integrando-com-spring-e-jpa

http://www.guj.com.br/java/277429-java-cliente-muito-mais-leve-que-algumas-paginas-web-convencionais

http://www.guj.com.br/java/275782-tecnologias-a-se-prestar-a-atencao

http://www.guj.com.br/java/274029-conexao-java-2012---como-foi-o-evento

jmmenezes,

Fiz alguns testes utilizando o Vaadin. Na época, a integração com JEE estava fraca… Problemas para o gerenciamento de sessão com grande volume de acesso. Problemas com componente para trabalhar com valores monetários.

Atualmente, estamos fazendo testes com o JavaFX 2. Design muito bom… Separação da camada de visão, via fxml… Publicado de artigo ainda em baixa…

Então acredito que o GWT não é tão utilizado comparado com JSF e não vejo muito futuro para ele por causa do HTML5. Acredito que ele esteja na mesma linha que o Adobe Flex, porém sem a necessidade de utilizar um plugin no navegado para funcionar.

Não usavamos GWT puro e sim uma framework que foi desenvolvida pela própria empresa que trabalho. Concordo com o jyoshiriro quanto a necessidade de pessoas de alto nivel para desenvolvimento de aplicações complexas, mas isso concordaria independente de linguagem e tecnologia.

A empresa estava com planos de disponibilizar essa framework como open source… Vou conversar com os arquitetos aqui e caso positivo entro em contato com voce e passo para voce avaliar. Mas, comparado as outras tecnologias acredito que GWT vale a pena para determinados tipos de sistemas

Outros tópicos no StackOverflow (mais profundos):

http://stackoverflow.com/questions/3180116/to-gwt-or-not-to-gwt

http://stackoverflow.com/questions/5731835/gxt-alternatives

Se o seu projeto é importante, não se baseie em análises superficiais ou em profissionais que ouviram coisas aqui ou ali. Tire suas próprias conclusões. Se o GWT fosse ruim o Google não o estaria utilizando em diversos projetos.

Legal gente…

Realmente a idéia é criar uma aplicação para gerenciamento de cadastros, nada muito complexo em termos técnicos, mas com uma usabilidade legal e muitos campos… por este motivo pensei em algo que não precisasse “pensar” como web. Para site, eu prefiro mesmo fazer com action-based…

Estou coletando diversas informações a respeito de todas estas tecnologias para tomar a decisão… sei que fazendo com action based e javascript o resultado será bom (pois temos outras coisas assim), mas a produtividade poderá deixar a desejar, além da questão de manutenção. Além do mais, por ser um sistema de cadastro, acho que posso ter bons resultados com algo component-based.

Estudando Primefaces, vi alguns problemas de incompatibilidade com navegador (No caso o IE 8) e como tem muito windows xp aqui e gente usando IE 8, não tenho como adotar algo incompativel com este… pensei em escrever os componentes do JSF mas isso levaria tempo e não sei até que ponto é realmente necessário!

Aguardo mais opniões… obrigado

[quote=jonathan.c.rodrigues] Então acredito que o GWT não é tão utilizado comparado com JSF e não vejo muito futuro para ele por causa do HTML5. Acredito que ele esteja na mesma linha que o Adobe Flex, porém sem a necessidade de utilizar um plugin no navegado para funcionar.

Não usavamos GWT puro e sim uma framework que foi desenvolvida pela própria empresa que trabalho. Concordo com o jyoshiriro quanto a necessidade de pessoas de alto nivel para desenvolvimento de aplicações complexas, mas isso concordaria independente de linguagem e tecnologia.

A empresa estava com planos de disponibilizar essa framework como open source… Vou conversar com os arquitetos aqui e caso positivo entro em contato com voce e passo para voce avaliar. Mas, comparado as outras tecnologias acredito que GWT vale a pena para determinados tipos de sistemas
[/quote]

Amigo, agradeceço muito!

Acho que no tipo de sistema que vamos fazer (cadastros de dados, com usabilidade e muitos campos), como não é nada complexo tecnicamente, acho que o resultado pode ser bom!

Usamos action based e javascript em sistemas que são realmente portais web… e nesse caso… eu ainda acho action based melhor… sem dizer as diversas otimizações de usar javascript direto (quase sempre com jquery)…

[quote=jonathan.c.rodrigues] Então acredito que o GWT não é tão utilizado comparado com JSF e não vejo muito futuro para ele por causa do HTML5. Acredito que ele esteja na mesma linha que o Adobe Flex, porém sem a necessidade de utilizar um plugin no navegado para funcionar.
[/quote]

Abobrinha. Realmente dá pra ver que vc nunca usou GWT.

Falar que GWT não tem futuro por causa de HTML5 é o mesmo que falar que Javascript não tem futuro por causa de HTML5.

GWT NÃO tem nada a ver com Flex!!!

Se o seu sistema é apenas um cadastro e vc domina outras tecnologias, realmente não recomendaria GWT. Agora, se é para brincar sério, a conversa muda…

[quote=jmmenezes]
Usamos action based e javascript em sistemas que são realmente portais web… e nesse caso… eu ainda acho action based melhor… sem dizer as diversas otimizações de usar javascript direto (quase sempre com jquery)… [/quote]

GWT é mais rápido que JQuery.

Segue comparativo de desempenho:

http://gwtquery.googlecode.com/svn/trunk/demos/gwtquery.samples.GwtQueryBench/GwtQueryBench.html?ask=false

André, não estou aqui para discutir com você e sim ajudar o nosso amigo ai. Se é essa sua opinião otimo seja feliz :D. Agora, se você não consegue ter uma visão de como as aplicações mobile estão dominando e de qual forma… tranquilo continua com essa visão. GWT e Flex que eu citei é a idéia não a tecnologia!! Presta atenção. Para bancos, o GWT e Flex seriam tecnologias concorrentes porque atuariam no mesmo tipo de sistemas que eles necessitam.

Sendo objetivo, jmmenezes procura testar o GWT e ve se ele funciona bem com o que voce precisa. Eu recomendo utilizar caso voce tenha uma equipe que esteja preparada para tal. Boa sorte e caso tenha mais dúvidas estou a disposição :smiley:

[quote=jonathan.c.rodrigues]André, não estou aqui para discutir com você e sim ajudar o nosso amigo ai. Se é essa sua opinião otimo seja feliz :D. Agora, se você não consegue ter uma visão de como as aplicações mobile estão dominando e de qual forma… tranquilo continua com essa visão. GWT e Flex que eu citei é a idéia não a tecnologia!! Presta atenção. Para bancos, o GWT e Flex seriam tecnologias concorrentes porque atuariam no mesmo tipo de sistemas que eles necessitam.

[/quote]

Jonathan, isso não é opinião, é fato. HTML5 e GWT NÃO são tecnologias concorrentes!!!

Agora se vc perguntar o que eu acho melhor: JSF ou GWT? Aí sim, eu posso te dar uma opinião.

O que tem “banco” a ver com isso!?!?! Não viaja na maionese tentando explicar o inexplicável.

E em relação ao Vaadin ? Tem muitos bugs ? Tava olhando os demos no site e achei uns componentes legais/interessantes. Confesso que nunca tinha ido atrás do Vaadin e sempre que ouvi falar dele pensei que era JSF (mas também nunca fui atrás, foi pura suposição).
Pelo que vi nos demos dele, parece que para construir a parte visual da APP será um ganho de produtividade legal, com boa qualidade grafica.

Então André, o caso dominar, apenas eu domino Web, e não serei um recurso programador no projeto. A equipe domina desktop, em Web, eles são crus em qualquer coisa que vá além de um formulário que faça um post… são poucas as pessoas que conhecem bem javascript (acho que não deixei isso claro quando falei).

No caso eu domino frameworks action based (trabalhei com struts, vrpator, spring mvc e também servlet/jsp) e também trabalhei muito com taglibs, jstl, jquery, dojo, javascript… não só com java mas também usei muito html/css/javascript em outras tecnologias (php/perl/asp/cfm), pois trabalho desde 97 com Web. Os sistemas de uso pessoal geralmente utilizo servlet/jsp ou senão vraptor ou spring, e gosto de fazer html/css/javascript e usar dwr pro ajax… talvez por ser o que eu domino melhor! Mas JSF conheço pouco e trabalhei poucos projetos profissionais com o mesmo. GWT nunca fiz nada profissional (na verdade to começando a ver agora… mesmo já conhecendo a tecnologia e tendo lido a respeito dela há muitos anos atrás)!

Vejo que para uma equipe que conhece muito desktop e pouco web, talvez seja mais facil e produtivo aprender GWT ou JSF do que Javascript! Além do que o sistema precisa ter uma usabilidade, precisa de ajax (não da para fazer tudo na base do POST, se é que me entende)! É mais para criar a parte visual pois muitos componentes de negócio serão reaproveitados… Acho que algo component-based seria melhor para esse projeto!

Hahaha… quando digo banco não é banco de dados!! E concordo e nunca disse que são concorrentes. Só estou afirmando que se GWT nao mudar cai em desuso e atualmente o Google investe mais em HTML5 do que no proprio GWT… E amigão, pensa antes de falar por favor. De qualquer maneira é perca de tempo discutir isso. Infelizmente voce tem visão de software, eu por outro lado penso em negócios e tendências. Mas como nosso amigo vai testar o GWT ótimo… e é isso que basta. Seja feliz :smiley:

Isso é um medo que sempre tive dessas tecnologias que escondem “a web” do programador!!! Talvez por sofrer tanto com legados .NET que usaram os componentes do framework 1.1 em VS 2003 com C# e hoje os sistemas não funcionam direito nem mais no próprio internet explorer quanto mais em outros navegadores, tendo que apelar para algumas gambiarras gigantes, como adicionar um javascript no onload da página que muda as partes do DOM para a “bagaça” renderizar corretamente, o lixo que foi renderizado pelos malditos componentes do .NET!

Se param de investir em uma tecnologia… ela cai em desuso… logo, o seu legado nesta começa a virar um pesadelo! (por mais que seja código aberto, o que é uma vantagem em relação ao .NET, você poderá gerar um custo alto de manutenção)!

Sim é bem verdade isso que voce citou. Na verdade deve existir problemas maiores em relação ao GWT (talvez o problema com o Oracle possa ser um deles)… Então o que eu estou falando é de um futuro distante, caso eles não melhorem. Agora, pensando hoje, pode ser uma boa utilizar GWT no seu projeto, tudo dependerá da equipe. De nada adianta colocar uma linguagem melhor se a equipe não se adapta. JSF é bem legal também. Mas acho melhor voce avaliar o perfil comum da sua equipe e ver no que eles se adaptam melhor. Afinal, o objetivo final é a aplicação… não se foi legal ou não desenvolver com tal linguagem hehehe…

O que você poderia fazer é atuar neste projeto como arquiteto, como você tem bastante experiencia você tem condições de dominar o framework que escolher rapidamente. Provavelmente sua equipe encontrará bastante dificuldades em relação aos conceitos inicialmente e por causa disto poderá perder bastante tempo com as documentações e os tutoriais.

Após você entender o framework e fizer alguns testes que lhe passe confiança e clareza da arquitetura empregada você poderia construir a estrutura do projeto com ao menos uma ou duas funcionalidades.

Após a estrutura base do projeto construída você inclui a equipe fazendo com que ela estude e avalie sua proposta; muitos podem levantar duvidas importantes e sugerir modificações interessantes mesmo sem ter experiência.

Para construir a estrutura básica do projeto fique atento as dicas espalhadas nas docs., tutoriais e forums e principalmente nas melhores praticas - como você tem experiencia com outros frameworks ja deve saber do que estou falando.

Fique atento ao desenvolvimento das funcionalidades mais complexas, como a equipe não tem muita experiencia no assunto pode surgir muitos focus de gambiarras ou inexploração dos recursos oferecidos pela arquitetura do framework.

Se vocês não adotaram nenhuma metodologia ágil ainda talvez esta seja uma boa oportunidade de iniciar uma, mesmo que aos poucos.

flws