Eu costumo dizer que Ajax é uma maravilha, mas que dá muito trabalho para programar e por isso, em alguns casos, não é uma boa opção porque pode ficar caro. Bem, talvez eu já não fale mais isso. Explico: o Google lançou um novo serviço que ajuda os programadores a trabalharem com Ajax. É o Google Web Toolkit.
Os problemas de se programar com Ajax
Os programadores, inclusive os do Google, dizem que desenvolver um programa em Ajax, como o Gmail, por exemplo, é um muito chato, pois perde–se muito tempo com bobagens. Isso porque HTML não é exatamente uma linguagem de programação, nem CSS; então, para fazer programas que funcionam pela internet (utilizando Ajax, para funcionar rapidamente) é preciso utilizar o JavaScript.
Aí começam os problemas. JavaScript não é uma linguagem de programação robusta. É cheia de detalhezinhos chatos que podem fazer um programador passar horas para solucionar um problema que seria muito simples em uma linguagem de programação melhor. Além disso, sabe lá Deus porque, cada navegador interpreta o JavaScript de formas diferentes. Então, o coitado do programador, além de agüentar as frescuras de uma linguagem que não é lá essas coisas, acaba tendo que fazer programas específicos para cada navegador. Ou em um detalhezinho da programação, fazer de um jeito para o Internet Explorer e de outro para o Firefox.
Isso ficando somente nestes dois, os mais importantes no momento. Mas para quem se preocupa com acessibilidade mesmo, de verdade, ainda há o Opera, o Safari, entre vários outros. Sinceramente, não dá pra ficar programando e testando em cada navegador, resolvendo os problemas de cada um, etc. Isso é terrivelmente chato e demorado − acredite em mim. Depois que apareceu o Ajax eu ouço muito mais murros na mesa, vindos do pessoal da programação.
Além disso, o programador ainda tem que coordenar quantos scripts serão carregados, para o site não ficar pesado, e quando cada um será carregado. Em alguns navegadores, se o usuário clicar em um botão − que vai fazer algo no programa usando JavaScript − antes da página estar completamente carregada, o navegador pára de carregar o script e dá tudo errado. Vai novamente o programador correr atrás de uma solução…
Como o Google Web Toolkit ajuda
Mas, talvez, tudo isso seja algo que fique no passado, quando nós tínhamos que nos preocupar com essas coisas. Os programadores do Google trabalharam muito com Ajax, fazendo o Gmail, o Google Calendar, o Google Maps, o Google Suggest (ok, já parei…) e puderam sentir na pele os problemas que o Ajax traz.
Para resolver isso eles desenvolveram um framework que os ajuda a programar com Ajax. Eles fizeram isso para o uso deles, para os próprios programadores do Google serem mais produtivos, passando mais tempo jogando hockey ou indo às mini–cozinhas do Googleplex e menos tempo se irritando com os problemas malucos dos navegadores. Mas então alguém lá dentro teve a brilhante idéia de liberar isso para todos os usuários. Esse é o Google Web Toolkit.
Agora funciona assim: o programador pode fazer todo o seu programa em Java, que é uma linguagem muito madura e robusta, mais ou menos como se estivesse desenvolvendo um programa local, e depois o GWT (Google Web Tookit) transforma este programa em web, fazendo a interface, o JavaScript, integrando tudo com o CSS etc. E faz tudo funcionar direitinho em todos os browsers, coordena os scripts, faz da forma mais leve e melhor para o usuário possível.
Outra coisa interessante é que o GWT dá várias bibliotecas de eventos prontos. Então, várias funcionalidades interessantes do Ajax ficaram a meia dúzia de letras de distância do programador, em vez de horas de programação. É como se você pudesse pegar um pedaço do código de alguém e usar
Gilberto Alves Jr.
Gilberto Jr (gilbertojr@gmail.com) tem experiência no mercado digital como designer de produtos, fundador de duas startups, gerente de projetos em agências digitais e gerente de produto no Scup. Agora procura um novo desafio. Veja mais no Linkedin.
14 respostas
Uso JQuery fechou o assunto rsrs..
Tô rindo até agora da cara desse Eduan, hauhauhau. O cara satanizando a idéia de popularização da programação com Ajax da produtividade de navegadores mais rápidos e seguros.
Seria ótimo se funcionasse em linguagens web. Pra que vou querer aplicações em Ajax no meu Website/sistema se tenho que programar em linguagens tipo Java??????
Meu deus…
Esse kit só veio para tapar a b*** q a google fez e está fazendo.
– A Google então tem culpa q o IE não respeita os standards W3C e o Firefox respeita (além de ser mais rápido, mais seguro, etc…)? Deve ser quase satânica tb por implementar um browser próprio rápido, e que (sacrilégio!) também respeita os padrões!
a google está tirando a capacidade de fazermos isso. cuidado com essas facilidades!!!!!!
– Aumentar a produtividade ao mesmo tempo que se evita bugs supérfluos é perigosíssimo, de fato. Tomem cuidado, daqui a pouco vcs vão estar querendo usar frameworks open-source, padrões de programação…
E ainda tem gente q se dá ao trabalho de responder a essas baboseiras… é mt tédio msm.
Devido a expansão de novos navegadores como o Mozilla, essa dificuldade de adaptar códigos a diferentes navegadores foi crescendo, a culpada disso tudo é a própria google que expandiu o uso do mozilla, agora está espalhando seu google crome para aumentar ainda mais a dificuldade dos desenvolvedores em se adaptar com essa ferramenta. Esse kit só veio para tapar a b*** q a google fez e está fazendo.
Desenvolvo ajax mto bem, mas como vejo q a maioria de meus clientes usam IE não me preocupo com coisas superfulas yeah, adoro programar, não vejo dificuldades nenhuma em quebrar a cabeça de vez em quando isso ajuda a desenvolver o cerebro, a google está tirando a capacidade de fazermos isso. cuidado com essas facilidades!!!!!!
Essa ferramente me parece bem interessante. Funciona com ASP.net? Estou utilizando o Delphi 2006 .net pra desenvolver as páginas.
Infelizmente como citou nosso amigo ali em cima, ele trabalha apenas com Java, o que complica para programadores de outras linguagens.
Ajax complica muito exatamente pela questão do javascript, hoje perdi duas horas para compatibilizar a leitura de um XML no i.e. e no ff… tive que fazer uma gambiarra pra resolver =
parabens pelo post.
gostaria de reseber um convite para eu abrir um gmail.obrigado
Realmente é algo bem legal.
Mais infelismente nao funciona na linguagem que a empresa na qual eu faço parte nao funciona (PHP).
Mais realmente é algo bem facinantes o pessoal do google sempre esta buscando melhoras para eles e para nos 😀
Olá Osvaldo,
O modo como você programa a interface é parecido com Swing!
Andre
Prezado Autor
Quando vc escreve Agora funciona assim: o programador pode fazer todo o seu programa em Java, que é uma linguagem muito madura e robusta, mais ou menos como se estivesse desenvolvendo um programa local quiz dizer que faço um programa em java utilizando programação para web(jsp por exemplo) ou swing?
Muito interessante esse artigo..
programo em php com ajax a algum tempo e realmente encontro todos estes problemas que você comentou…
inclusive estou baixando essa ferramenta para testar e ver todas as possibilidades…
muito interessante..
parabens.
Otávio,
No windows funciona bem. Não identificamos este erro quando testamos no linux. 2% dos visitantes do nosso site usam linux. eh bem pouco, mas nao podemos deixar pra lá, até porque, nós mesmos gostamos muito e usamos linux aqui na desta.ca…
Nós vamos procurar este erro lá, obrigado por avisar e obrigado pela visita 😉
Bem interessante o artigo, mas faltou cobrir se a criação do js através do gwt gera um js puro ou gera um js dependente de um js do google.
Outra coisa: o seu site desta.ca (curiosidade é fogo!) não está compatível com firefox (pelo menos no linux) quando abre aquela caixa de texto (http://desta.ca/#o-que-e-a-destaca#o-que-e-marketing-de-performace), ela não fecha…. boa sorte 🙂