Pergunta

Estou interessado na possibilidade de que GWT pode servir como base para a minha camada de apresentação inteira.

Eu estaria interessado em saber se alguém já tentou isso com sucesso - ou sem sucesso - e poderia persuadir ou me unpersuade de tentar isso.

Foi útil?

Solução

Eu trabalhei com GWT cerca de um ano atrás. Na época, parecia uma grande idéia, com uma série de ressalvas:

  • Eu tive problemas "pegadinha" com algumas partes do API, que provavelmente estavam relacionados ao fato de que você está de codificação como se você estiver em java, quando na verdade você está realmente escrevendo para um ambiente compilados separadamente que os atos como java, então você fazer algumas suposições incorretas (neste caso, passar valores aninhados para o front-end). Acho que houve um outro foi reescrever meus scripts ant para usar uma JVM de 32 bits para o GWT compilação.
  • Eu passei um pouco de tempo tentando ajustar a aparência - nunca implantado um projeto acabado, então eu não tenho certeza de quanto trabalho isso teria levado para chegar a um nível profissional, mas parecia (logicamente) parecido 'd ser comparável ao ajustar uma interface de balanço. talvez um pouco mais complicado, visualmente, que html.
  • Como o ajax é tão escondido de você no produto final, eu tinha algumas preocupações sobre o que eu poderia fazer se o desempenho foi pobre.

Dito isto, ele definitivamente parece vale a pena jogar com, e minhas experiências foram um longo, longo tempo atrás em anos de internet, especialmente tendo em conta que é provavelmente muito mais maduro agora. Também é importante ressaltar que é muito diferente (e refrescante) maneira de desenvolver código GUI da maioria dos frameworks MVC, e vale uma olhada se por nenhuma outra razão do que isso.

Meu sentimento é que se você está construindo um site profissional de alta carga com exigências gráficas muito exigentes GWT provavelmente não é uma boa escolha, caso contrário ok.

Outras dicas

Você mencionou que GWT iria lidar com a camada de apresentação. Você estaria fazendo a camada de negócios em Java também? Se for esse o caso, eu gostaria de apontá-lo para TI Moinho Toolkit , que faz exatamente isso: É um conjunto de ferramentas que usa GWT para tornar seus componentes GUI, permitindo que você faça as suas aplicações em Java. Acho que o termo que está tentando moeda é "RIA impulsionado servidor".

Eu venho de um fundo PHP, mas instantaneamente veio a gostar do toolkit. Mas é provavelmente melhor que eu não vou dizer mais nada e deixá-lo fazer suas próprias decisões.

Disclamer:. Eu faço trabalho em TI Mill, apesar de que é irrelevante para minhas opiniões

GWT é relativamente novo. O processo de compilação tende a ficar um tanto lenta como sua base de código cresce. Quando trabalhamos com ele encontramos muitos problemas com o layout e renderização de widgets mais sofisticados, eo emulador agiu totalmente diferente de servidores reais. Além disso, tivemos problemas com i18n para a direita para a esquerda línguas ...

Ao todo, GWT tem (o habitual?) Problemas de tecnologias novas. No entanto, ele faz certas coisas realmente fácil, como Ajaxifying como você é chamado.

Temos feito isso para um projeto muito grande, e enquanto você sabe que é limitações, pontos fortes e fracos ele funciona muito bem. Funnily apresentação bastante era a menor das nossas dificuldades, como acabamos de pele lo apenas como faria com qualquer outra página HTML, utilizando CSS. O projeto foi vivo, e correu na perfeição, então eu não tenho queixas.

As armadilhas que eu encontrei com ele você pode encontrar aqui:

Maior GWT Armadilhas?

Nós desenvolvemos um aplicativo grande HR Portal com toda a camada de apresentação feita no GWT. A infra-estrutura é mola. Tudo funciona muito bem e a interface do usuário tem sido muito bem recebido pelos usuários. Muito importante é fácil para nós para adicionar novas funcionalidades e manter a aplicação. Eu acho que seria muito mais difícil de fazer algo comparável e sustentável usando bibliotecas Javascript.

Você precisa fazer algum tipo de quadro do lado do cliente ou você vai acabar escrevendo um (como fizemos!): Nosso aplicativo é construído em

GWT em auto é uma biblioteca melhoria UI, não um quadro. Se você usá-lo com o Google App Engine então você tem uma estrutura básica. (Essa é uma história diferente, e enquanto eu olhei para ele, eu decidi não incluir isso em nossa arquitetura).

É uma grande biblioteca, temos feito algumas coisas espectaculares com ele. Como se trata de uma biblioteca no entanto, é apenas tão bom quanto sua arquitetura permite que ele seja.

Quanto ANT vai sem problemas com um compilador de 64 bits.

<- dir.GWTCompile é o diretório que contém GWT -> classpath

Quanto ao código gerado, ele não é tudo na sua guerra, se você quiser olhar através dele. (Também é open source, assim você pode olhar para ele lá.)

O que GWT faz durante o processo de compilação: Ele cria várias cópias de bibliotecas JS para diferentes conjuntos navegador (Uma razão que pode levar alguns minutos para compilar), você pode adicionar / remover estes conforme necessário. Isso reduz o pacote JS que precisa ser baixado e aumenta a velocidade uma vez que não tem que ter aqueles desagradável se (EI) este else if (FF) que. No entanto, quando seu fazer depuração local (pelo menos em eclipse) você não tem que esperar, o que permite deixar isso para o servidor de compilação (ou quando você precisa para construir e implementar manualmente (neanderthals)).

A desvantagem do GWT. Como é um lado do cliente javascript (quase puramente), você não pode utilizá-lo para coisas que não suportam-lo, ou apoiar uma das versões. Assim, para coisas como iPads e iPhones que você pode executar em algumas questões, se você não usar bibliotecas adicionais destinados a colmatar essas lacunas (como mgwt).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top