Pergunta

Eu gostaria de criar um banco de dados feito interativo AJAX webapp que tem um costume (tipo específico de eventos, edição) sistema de calandragem.Isso envolveria um monte de JavaScript e AJAX, e eu pensei sobre o Google Web Toolkit para a interface e Ruby on Rails para o lado do servidor.

É o Google Web Toolkit de confiança e bom?O que oculta riscos podem ser, se eu escolher o Google Web Toolkit?Pode facilmente combinar com Ruby on Rails no lado do servidor?Ou devo tentar usar diretamente uma biblioteca de JavaScript como jQuery?

Eu não tenho nenhuma experiência em desenvolvimento web, exceto um pouco de HTML, mas eu sou um programador experiente (c++, java, c#), e eu gostaria de usar apenas ferramentas gratuitas para este projeto.

Foi útil?

Solução

RoR é, na verdade, uma das coisas que o GWT é feito para funcionar bem, enquanto você estiver usando o RESTO corretamente.É o Google Web Toolkit Aplicativos livro, e você pode ver um demo do livro usando esse tipo de idéia aqui.Isso não quer dizer que você não terá problemas, mas eu acho que o apoio é definitivamente lá fora para ele.

Há um interessante projeto para fazer RoR/GWT fácil que você pode encontrar aqui (Licença MIT).Eu não tive a chance de experimentá-lo ainda, mas parece uma boa quantidade de pensamento tem sido colocado nele.Um problema é que parece que ainda não foi totalmente testado com 2.1 Trilhos ainda, 2.0, de modo que você pode executar em alguns (provavelmente menor e passível de correção) de erros.

Outras dicas

Se você estiver olhando para integrar o GWT com não-Java frameworks multimídia, como o ROR, PHP, etc., você deve ter em mente que o GWT 1.5 agora suporta JavaScript Sobreposição de tipos.Esta funcionalidade permite-lhe escrever classes, que podem ser mapeados por cima de objetos nativos do JavaScript para facilitar o fornecimento de métodos de acesso para as propriedades desses objetos e outros funcionalidade estendida.

Veja este link para mais detalhes:JavaScript Sobreposição De Tipos

Assim você pode retornar dados codificados no formato JSON a partir do seu back-end através de chamadas AJAX, analisá-lo em um Objeto JavaScript e, em seguida, acessar os dados através do seu GWT Java de código utilizando a sobreposição de classes que você criou.Ou quando você gerar a sua página pode render estática de configuração de dados como Objetos JavaScript e lê-através deste mecanismo, em vez de ter que fazer uma chamada AJAX para pegar os dados.

Se você conhece JAVA, e tem em algum lugar você pode hospedá-lo (como o tomcat ou glassfish recipiente) eu recomendaria que muito mais do que usar Ruby para o back-end.A principal razão é que, em seguida, você pode compartilhar todos os seus objetos, e usar o construída em mecanismo de RPC.Eu fiz isso por um monte de nossos projetos e é uma grande economia de tempo, para não mencionar que o código é menos propenso a erros, porque você não converter seus objetos java para qualquer coisa e, em seguida, novamente.

Tenho ligado o meu GWT com o Rails antes, usando o to_json função no Rails e, em seguida, ler o JSON no GWT.É todas as edições, mas é muito mais chato do que apenas fazendo o back-end em JAVA.

Claro, se você tem hospedagem barata, em seguida, Java recipientes estão praticamente fora de questão, no caso, eu acho que o Rails seria a próxima melhor coisa.

GWT é muito alta qualidade com uma grande comunidade.No entanto, você precisa saber CSS, se você quiser ajustar a aparência das coisas (você) - CSS pode fazer um monte de layout, assim como regular web, se você quiser.Bibliotecas como GWT-ext ou ExtGWT pode ajudar um pouco, como eles têm deslumbrante "fora da caixa" parece, mas por um preço (tamanho extra para a sua aplicação).

Você pode tudo código em Java, usando GWT, e você pode integrar existente 3ª parte bibliotecas javascript com ele.É muito bom.Eu nunca usei RoR muito embora, por isso não posso dizer nada sobre isso.

Se você é experiente em Java, mas não em Javascript/CSS e, em seguida, GWT vai ser um salva-vidas (a menos que você quer aprender, é claro).CSS tem tantos pouco complicadas detalhes.Não é incomum para passar a metade de um dia a fixação de um 2 pixel desalinhamento que só ocorre no IE6.

Eu não estou certo sobre o quão fácil seria para usar ROR para o back-end...É possível que, estou certo, desde GWT ajax comunicação é apenas servlets.Mas eles fornecem algumas realmente boa funcionalidade para a passagem de objetos Java e para trás que você não será capaz de utilizar se o seu servidor não está usando também o Java.

Eu escrevi sobre alguns dos as desvantagens do GWT recentemente.Principalmente, as desvantagens são:longo ciclo de implantação de alterações em algumas partes do aplicativo e um pouco íngreme curva de aprendizagem.Como um experiente programador Java, a segunda deve ser menos de um problema e se você usar uma área separada de back-end, o primeiro é também mitigado (como um reimplante é essencialmente necessária quando você alterar o 'servidor' parte da aplicação).

GWT é um maravilhoso quadro com muito potencial.Tenha em mente que ele ainda é muito novo, porém.Existem alguns bugs não resolvidos que realmente pode irritá-lo, e eles geralmente necessitam de feio soluções alternativas para obter o passado.A comunidade é grande, mas você provavelmente vai acabar com alguns problemas, mais cedo ou mais tarde que o Google não pode responder ainda.

Mas hey, eu digo para ela ir.O potencial para o GWT é incrível, e eu aposto que o futuro será brilhante.

Você deve definitivamente usar o GWT para um novo projeto (que é muito fácil de usar em um projeto antigo, também).

Eu com a minha experiência, é muito rápido para aprender e usar.O compilado o código javascript é muito melhor do que qualquer coisa que você jamais poderia escrever com a mão e ele funciona muito rápido.

Outro benefício é a capacidade de depuração estiver código (que é o inferno com o javascript sozinho)

Este blog tem entradas a partir de muitos usuários experientes do GWT e tem algumas grandes pontos de discussão.Eu, pessoalmente, tenho grande experiência com as mais variadas Estruturas de INTERFACE do usuário.Vou adicionar meus dois centavos.Vamos olhar para fundamental vantagens e desvantagens do GWT

Vantagem Fundamental

GWT leva a camada web programação JAVA.Assim, as vantagens óbvias de Java começam a entrar em jogo.Ele irá fornecer-programação Orientada a Objeto.Ele também irá fornecer grande depuração e compilação de verificações de tempo.Uma vez que gera HTML e Javascript, ele também vai ter a capacidade de esconder alguns complexidade dentro de seu gerador.

Fundamental Desvantagem

A desvantagem é iniciado a partir da mesma instrução.GWT leva a camada web programação JAVA.Se você conhece JAVA, provavelmente você nunca vai olhar para fora para uma alternativa de linguagem para escrever a sua lógica de negócios.É auto-suficiente e grande.Mas quando se trata de escrever configurações para um aplicativo JAVA.Usamos a propriedade de arquivos, banco de dados, XML, etc.Nós nunca armazenar configurações em um arquivo de classe JAVA.Acho difícil, por que isso?

Isto é porque a configuração é um estática de dados.Muitas vezes requerem hierarquia.É suposto para ser legível.Nunca necessita de compilação.Ele não requer conhecimentos da linguagem de programação JAVA.Em suma, é um diferente jogo de bola.Agora a pergunta é, como ele se relaciona com a nossa discussão?

Agora, vamos pensar em uma página da web.Você acha que quando escrevemos uma página da web que escrever uma lógica de negócios?Absolutamente não.Página da Web é apenas uma configuração.É uma configuração hierárquica de recipientes e campos.Precisamos escrever a lógica de negócios para os dados que serão capturadas a partir de e exibido na página da web e não para criar a própria página web.

Parágrafo anterior faz muito, muito forte declaração.Isto irá explicar por que o HTML e o XML com base em páginas da web ainda são os mais populares.XML é o melhor negócio para gravar as configurações.Um framework deve permitir uma clara separação de página web a partir da lógica de negócios (o objetivo do framework MVC).Fazendo isso um web designer será capaz de aplicar suas habilidades de visualização e arte para criar brilhante procurando páginas da web apenas configurando XMLs e sem ser incomodado sobre os meandros de uma linguagem de programação.Os desenvolvedores serão capazes de usar o seu melhor no negócio JAVA para escrever a lógica de negócios.

Finalmente, vamos falar sobre as repercussões em termos directos.GWT quebras esse principal assim é fadado ao fracasso.O custo para o desenvolvimento de aplicação GWT vai ser muito alto, pois você precisará multiskill programadores para escrever páginas da web.O necessário olhar e sentir, vai ser muito difícil de alcançar.A volta em torno do tempo de modificar a página da web será muito alto porque desnecessária a compilação.E por último, já que você está a escrever páginas da web em JAVA é muito fácil corrompê-la com a lógica de negócio.Sem saber, você vai introduzir complexidades que devem ser evitados.

Você também pode considerar Grails ("Groovy on Rails") que dá a você os benefícios de uma Rails e o uso da máquina virtual Java.

Nossa equipe recentemente fez a mesma pergunta, e nós escolheu para ir com GWT, especialmente desde que o designer plugin trabalhar com GWT mais acessível aos não-especialistas em java na equipe.Quem faz essa escolha, só cuidado com que você NÃO use o GWT Designer plugin !!Ele não foi atualizado (em pelo menos um ano, aparentemente) para criar uma aplicação GWT que é compatível com IE8.

Nossa equipe teve quase a terminar a nossa aplicação de layouts, que estavam funcionando perfeitamente no Chrome, FF e Safari.Em seguida, eles explodiram no IE.O IE 7, carga parcial páginas (mas não de composto inclui), e IE8 não foi sequer capaz de carregar o aplicativo.Ele simplesmente desligou.

O designer plugin tem botões que permitem que o usuário adicione CellTable widgets que não são compatível com internet explorer (CellTable, DeckPanel, a barra Horizontal, Vertical, Painel, entre outros).Estes irão causar dor intensa, quando os layouts têm de ser re-feito em java sem a assistência do designer.

Experiente GWT usuários amá-lo, mas o designer plugin irá matá-lo.

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