He is live

Meliora

Quem chegou aqui pensando que ia falar sobre a banda Ghost se enganou, mas recomendo ouvir enquanto lê. O fantasma que vou falar é o GWT.

Estava eu navegando na internet com meus óculos de sol , em minha lancha, quando vejo este artigo:

9 Java EE Frameworks to Build Enterprise Applications

a primeira coisa que confiro é a data do artigo 17 de junho de 2019 , legal, vamos ver quais são os frameworks que este cara considera e eis em quinto lugar o GWT, fascinante !

Primeiro antes de mais nada , não use GWT , abaixo conto o motivo desse alerta.

Eu tinha uma demanda, desenvolver um aplicativo que superasse a excpectativa do cliente em termos de GUI , permitisse um desenvolvimento rápido e tendo como restrição a pouca experiência da equipe com javascript.

A primeira abordagem foi usar o Ext.js , bem , isso foi nos idos de 2008. Conseguimos uma boa solução, integrando uma interface web moderna feita em Ext.js com um backend integrado com os aplicativos legados existentes. A solução foi um sucesso, mas nem tudo foi flores, demoramos 3 meses para desenvolver , a expectativa inicial foi 2 meses e o front-end não tinha facilidade de escalar, o que em si não era problema para solução inicial que tinha apenas algumas dezenas de telas mas eu planejava usar a mesma arquitetura em outras demandas e algumas delas o tamnho do aplicativo era bem maior.

Então veio a luz . O ext.js tinha uma implementação em gwt , alem disso o restlet , o framework de backend que eu utilizava tinha uma implementação em gwt, mas afinal o que era o gwt. Fui pesquisar e gostei da oportunidade de usar o java em lugar do javascript no frontend e ter uma linguagem só (para o colega desavisado que esta a me criticar dizendo que devia ter usado o javascript no backend , gostaria de lembrar que em 2008: Não existia o node.js ). O Gwt tinha sido criado pela google e ela ainda não tinha a fama de serial killer de soluções como tem hoje . Além disso e acima de tudo o gwt parecia uma solução coerente com a arquitetura thin server que pretendia implementar.

Claro que consultei outros arquitetos antes e recebi o feedback de uns colegas do CESAR que a experiência que tiveram com o GWT foi péssima , o pessoal da thoughtworks em seu radar também dizia para evitar o GWT , mas amenizei estas vozes uma vez que meus colegas tinha trabalhado nas versões iniciais do gwt. Eu estava decidido em usar o gwt, só faltava a oportunidade.

Alguns meses depois, recebi uma nova demanda que tinha o mesmo tamanho da anterior feita em Ext.js, era uma ótima oportunidade para experimentar o uso do GWT. Eu também recebi uma nova equipe para este projeto, bem para encurtar e história, 6 meses depois tinhamos terminado , e não apenas demoramos o dobro do tempo, como também não conseguimos uma escalabilidade melhor , ou seja , nada de poder usar este framework para outras soluções.

Vendo o GWT hoje em uma lista de ferramentas para desenvolvimento em java, percebo que pelo menos minhas expectativas em relação a durabilidade da tecnologia foi concretizada, afinal 10 anos depois, muitas outras tecnologias que existiam na época foram descontinuadas.

Então qual a minha surpresa? É que hoje caso vá desenvolver uma nova solução você vai estar mais bem servido pelo Vue.js ou React do que pelo Gwt no frontend e sim você vai usar javascript. Antigamente todo dev devia saber sql e hoje todo dev deve saber javascript e sql, por isso utilizar 2 linguagens uma para frontend e outra para o backend não é mais um problema e por fim escrever o post ouvindo Ghost foi legal.

Nota: Os devs do GWT foram trabalhar com o Dart.