Pular para o conteúdo principal

GWT e o desenvolvimento Web

Quando desenvolvemos para este novo mundo velho chamado internet ou Web, muitas vezes deixamos de lado o principal envolvido: o navegador.

Mas desde que a Netscape introduziu linguagem de script e a Microsoft criou componente de requisição assíncrona ao servidor, surgiu uma das palavras que mais causaram barulho nos últimos anos: AJAX, ou seja:

Javascript + DHTML = navegador mais inteligente, ou ainda, a volta do conceito de Network Computer, que hoje é elegantemente chamado computação na nuvem, o que deixa muitas pessoas com a cabeça nublada.

Com a introdução do V8 no Google Chrome, do TraceMonkey no Firefox e do Nitro no Safari, temos javascript com, praticamente, as mesmas características que potencializam a performance da Tecnologia Java: JIT (compilador em tempo real para código de máquina) e Garbage Collector.

Nisso, o V8 vai mais além com a geração de classes para cada objeto modificado (criando forte tipagem virtual). Motivos pelos quais, esses navegadores têm posição tão forte no peacekeeper.

Como a maioria de nós conhece bem a tecnologia Java, quando temos que lidar com outra, como a Javascript, ficamos assustados. E, não fica por aí, a diferença entre os modelos DOM’s dos navegadores. Como disse nosso caro amigo Vinicius Senger, desenvolver em Javascript é um projeto de vida.

Mas, voltando novamente ao GWT, imagine escrever uma fonte java parecido com AWT. A tela, depois vem um programa e transforma isso em HTML e Javascript, além de uma versão própria para cada navegador.

Você provavelmente pensaria: que chato, onde fica a diversão então? Que nada, você dirá: uau, funciona!

Programadores Java, vamos conquistar a web! Siga as redes sociais da The Developer's Conference e acompanhe as novidades do maior evento de TI. Estamos no Twitter, Facebook, LinkedIn e Instagram.

Comentários

E a diversão? Fica por conta de continuar precisando escrever CSS e de tratar as diferenças dos browsers ao dispor visualmente os elementos. Como sempre foi. :)
Muito bom o primeiro post a respeito do GWT a idéia foi boa, uma introdução bem informal não assustando os leitores.
Acredito que a idéia seja essa, aos poucos você vai arregaçando as mangas :)
Unknown disse…
Realmente essa "sacada" de transformar o Java em JavaScript é o grande diferencial do GWT. Outra vantagem GWT, assim como no JSF, é o "apelo" em componentes visuais (UI), permitindo que vc crie/utilize extensões terceiras (como GWT Ext, SmartGWT e outros) ganhando muito em produtividade!
Wagner Santos disse…
Grande Eder !!!

Bem interessante o post, por conta do Browser Wars, acabei adepto de bibliotecas como jQuery, EXT JS, etc...
Agora o contrário é interessante tb,, chamada de funções Java em JS com DWR ;-)
Abraço e sucesso !!
Yara Senger disse…
Grande Glaucio,

Muito legal seu post/colaboração valiosa no nosso blog colaboritvo. GWT está realmente se tornando cada vez mais importante e popular.

Depois de ter presenciado diversas "aulas espontâneas do prof. Glaucio" sobre Flex, Ajax, e afins, lendo seu texto da para imaginar você falando isto tudo.

É ótimo saber a sua opinião sobre GWT e vou tomar a liberdade de dar a minha opinião, não da perspectiva técnica, mas da perspectiva de alguém que se pergunta: eu preciso mesmo ler, aprender, testar GWT ?

Estive no evento Google Developer Day e na apresentação do Google Wave, eles falaram bastante sobre GWT e o que podia ser criado com GWT, ou seja... se Google Wave deslancha fortalece o GWT, e vice versa.

Imagino que também seja possível fazer deploy de aplicações com GWT no Google App Engine, e de novo o sucesso de um projeto puxa o outro...

Não quero assumir que GWT vai ter sucesso porque é da Google, mas acho importante ficar atento e acompanhar esta tecnologia porque faz parte de uma estratégia maior.

Bom, além disto, é interessante notar o número de instrutores e amigos que se empolgam com GWT, como o Eder Magalhães, autor do minicurso de GWT referenciado por você.

Muito obrigada!

[]s
Yara

Mais referências:
Mini Cobertura do Google Developer Day:
http://www.globalcode.com.br/site/noticias/painel.seam?chave=GoogleDeveloperDay2009

Entrevista com Pamela Fox e Mike Repass da Google sobre Google App Engine:
http://www.globalcode.com.br/site/noticias/painel.seam?chave=EntrevistaPamelaMikeGoogle
Digão disse…
Mexi muito pouco com a ferramenta, mas fui na estreia do Mini-curso de GWT na Globalcode, muito bom o MC, o conteúdo passado mostrou a utilidade da ferramenta. Para aqueles q não foram, quando tiver novamente não perca tempo.

Postagens mais visitadas deste blog

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

Vem vindo novidade por ai... Minicurso de desenvolvimento iOS

Ola pessoal, Depois de uma conversa com a Yara, resolvemos colocar em prática uma idéia que já tinhamos a um tempo, que é aumentar as opções de mobilidade no portifólio da Globalcode e também da iniciativa Open4Education. E nesse caso estamos falando de um minicurso sobre desenvolvimento para iPhone e iPad. O objetivo desse minicurso vai ser mostrar que desenvolver para iOS não é tão complicado como se pode pensar e que não é preciso ter medo do Objective-C ! Serão algumas horas onde os alunos poderão entender os fundamentos da plataforma, como funciona o programa para desenvolvedores da Apple, preparação do ambiente e dos devices de teste e também um overview dos layers de desenvolvimento do iOS. Além disso, o objetivo também vai ser passar um pouco da minha experiência na "migração" que fiz de Java (seja SE, ME ou Android) para o novo mundo do Objective-C e Cocoa Touch. O material está no começo e ainda não temos uma data certa (só sabemos que a primeira edição desse minicu...

JavaMail: Enviando e-mail com Java

Introdução Além da necessidade de envio de e-mail ser comum a várias aplicações, foi a pergunta de um aluno da Academia Java ,  “Como enviar um e-mail com Java?”, que me motivou a escrever este post sobre JavaMail. JavaMail Para realizar o envio de e-mail por meio de uma aplicação Java, precisamos da biblioteca JavaMail, pois ela não é incluída no Java SE. A biblioteca está disponível em http://www.oracle.com/technetwork/java/index-138643.html . Neste download, além da biblioteca mail.jar que inclui a implementação completa da API e providers, também é disponibilizada a documentação da biblioteca ( javadoc ) na pasta docs , alguns exemplos na pasta demo e partes da implementação em lib . A forma mais simples de utilizar a JavaMail e incluir o mail.jar , porém para uma aplicação que só envia e-mail como o nosso exemplo, necessitamos apenas dos arquivos mailapi.jar e smtp.jar , economizando 177KB. Como a economia é pouca e as aplicações evoluem, vamos adicionar o mail.j...

Facelets uma forma mais ágil para construção de telas – Parte I

A construção de telas ou camada de apresentação em um sistema MVC seja web ou desktop é uma tarefa complexa e de extrema importância. Nesse post vou comentar e mostrar algum exemplo do Facelets como solução para os desafios existentes nessa etapa especificamente para web. Com a web cada vez mais presente em nosso dia-a-dia, um fato é que com isso nossos usuários tornam-se mais exigentes em relação a usabilidade, agilidade, performance ou de uma forma bem resumida “o usuário espera uma navegação simples e agradável aonde uma determinado tarefa possa ser concluída em poucos passos e em um curto espaço de tempo”. Atender as expectativas em relação ao que o usuário espera com o que realmente ele precisa, definir uma estrutura flexível a mudanças sem engessar o desenvolvimento, acessibilidade, portabilidade em múltiplos navegadores, tudo isso e muito mais, num prazo que quase sempre é apertado. Um outro ponto fundamental é manter o time motivado e produtivo em um ambiente que favoreça a...

JavaOne Brasil, dicas para submissão de palestras

Não quero parecer pretensiosa dando dicas para submissão de palestras para o JavaOne Brasil, mas sim repassar os tantos conselhos e sugestões recebidas pelos vetaranos do JavaOne: Bruno Souza e Leonardo Galvão que revisaram dezenas de submissões para o JavaOne e ajudaram a aprovar tantas palestras, e também misturar um pouco da minha experiência na seleção de palestras nos eventos realizados pela Globalcode e SouJava . 10 anos de JavaOne: http://www.globalcode.com.br/noticias/Globalcode10AnosNoJavaOne Os palestrantes ganham a entrada! A submissão pode ser feita em português! O passo mais importante para ser aprovado como palestrante no JavaOne é sem dúvida nenhuma submeter pelo menos uma palestra. Então, independente de qualquer coisa, participe, arrisque, divulgue.  Mas, se quiser aumentar as suas chances...   1) Leve a sério: peça para amigos fazerem uma leitura crítica do texto, e claro uma boa revisão ortográfica. 2) Submissão de várias palestras ou variações do ...

Facelets ainda mais divertido! Parte II

De volta ao Facelets , na primeira parte mantive o foco na utilização de templates e técnicas de reutilização visando maior agilidade para desenvolver telas com JSF , mas o Facelets vai bem além disso! Nesse post vou comentar e mostrar um pouco sobre a criação de componentes UI (User Interface) usando xht ml - na minha opinião esse é o grande diferencial da tecnologia. Com esse recurso é possível customizar / padronizar componentes usando xhtml + tags JSF + JavaScript + Css, sem código Java. A ideia é bem próxima ao Tag File em uma rápida comparação com JSP (JavaServer Pages), mas no caso do Facelets feito de uma forma ainda mais simples e com aderência a (infra)estrutura do JSF. Vou descrever o mesmo cenário da primeira parte, um sistema composto por vários cadastros ( C reate R ead U pdate D elete). Pensando especificamente em cada formulário, usando como exemplo um rascunho ou protótipo para o cadastro de Fornecedores, podemos assumir o seguinte formato: campos para preenchi...