Qual a tecnologia esta se sobressaindo para UI Web?

Tenho um projeto EJB3 + CDI + JAXWS + JPA/HIBERNATE + SWING.

Estou migrando o mesmo para web, já estudei várias tecnologias (jsf-primefaces, gwt-smartclient, javafx, js-ext).

Javafx parece bem (na verdade ja desenvolvi desktop com ele), mais é muito imaturo ainda, e esbarra no jnlp.

jsf-primefaces parece bom, mas muita gente reclama do jsf (lentidão e dificuldade de desenvolver componentes personalizados principalmente)

gwt-smartclient tambem parece bom, mas parece que o google largou o gwt de lado

js-ext, jqueryui - puro javascript para meio complicado para mim.

Se alguem tiver opnião diferente ou sugestão, será bem vinda.

[quote=giovanni_stiwes]Tenho um projeto EJB3 + CDI + JAXWS + JPA/HIBERNATE + SWING.

Estou migrando o mesmo para web, já estudei várias tecnologias (jsf-primefaces, gwt-smartclient, javafx, js-ext).

Javafx parece bem (na verdade ja desenvolvi desktop com ele), mais é muito imaturo ainda, e esbarra no jnlp.

jsf-primefaces parece bom, mas muita gente reclama do jsf (lentidão e dificuldade de desenvolver componentes personalizados principalmente)

gwt-smartclient tambem parece bom, mas parece que o google largou o gwt de lado

js-ext, jqueryui - puro javascript para meio complicado para mim.

Se alguem tiver opnião diferente ou sugestão, será bem vinda.[/quote]

Jquery na veia! :smiley:

Vai de Bootstrap, usei muito tempo o jquery UI, mais parti para o Bootstrap o design dele é muito clean.

Tem uns caras bacanas como o BackboneJs + Bootstrap ou AngulaJs + Bootstrap

Para sistemas Web eu recomendo o Ext JS. http://www.sencha.com/products/extjs/examples

[quote=giovanni_stiwes]Tenho um projeto EJB3 + CDI + JAXWS + JPA/HIBERNATE + SWING.

Estou migrando o mesmo para web, já estudei várias tecnologias (jsf-primefaces, gwt-smartclient, javafx, js-ext).

Javafx parece bem (na verdade ja desenvolvi desktop com ele), mais é muito imaturo ainda, e esbarra no jnlp.

jsf-primefaces parece bom, mas muita gente reclama do jsf (lentidão e dificuldade de desenvolver componentes personalizados principalmente)

gwt-smartclient tambem parece bom, mas parece que o google largou o gwt de lado

js-ext, jqueryui - puro javascript para meio complicado para mim.

Se alguem tiver opnião diferente ou sugestão, será bem vinda.[/quote]

Se vc já tem um sistema em swing, dá uma olhada no Vaadin. Ele segue o mesmo esquema do swing, mas produz HTML. É bom porque vc não tem que se preocupar com html, http, javascript, css, html5 e o diabo. Vc simplesmente usa os componentes e eles aparecem no browser tal como vc usa os componentes do swing e eles aparecem na tela. Para mim é o melhor frameworks para ui atualmente. O único detalhes é que não sei se ele escala bem. Então se isso é um item importante para vc talvez sejam precisos alguns testes a mais.

[quote=sergiotaborda][quote=giovanni_stiwes]Tenho um projeto EJB3 + CDI + JAXWS + JPA/HIBERNATE + SWING.

Estou migrando o mesmo para web, já estudei várias tecnologias (jsf-primefaces, gwt-smartclient, javafx, js-ext).

Javafx parece bem (na verdade ja desenvolvi desktop com ele), mais é muito imaturo ainda, e esbarra no jnlp.

jsf-primefaces parece bom, mas muita gente reclama do jsf (lentidão e dificuldade de desenvolver componentes personalizados principalmente)

gwt-smartclient tambem parece bom, mas parece que o google largou o gwt de lado

js-ext, jqueryui - puro javascript para meio complicado para mim.

Se alguem tiver opnião diferente ou sugestão, será bem vinda.[/quote]

Se vc já tem um sistema em swing, dá uma olhada no Vaadin. Ele segue o mesmo esquema do swing, mas produz HTML. É bom porque vc não tem que se preocupar com html, http, javascript, css, html5 e o diabo. Vc simplesmente usa os componentes e eles aparecem no browser tal como vc usa os componentes do swing e eles aparecem na tela. Para mim é o melhor frameworks para ui atualmente. O único detalhes é que não sei se ele escala bem. Então se isso é um item importante para vc talvez sejam precisos alguns testes a mais.

[/quote]

Parece que o Vaadin assim como o smartclient é baseado no gwt. correto?

Deu uma olhada neste Bootstrap, me parece que tem poucos componentes, e falta muitos componentes complexos que tem no primefaces e smartclient.

Eu prefiro Action Based do que Component Based(Prime-Faces), o que o Bootstrap não tem eu faço com jquery, e sinceramente acho que o prime anda carregando muito o lado do client.

Até agora os mais completos são: smartclient, js-ext, primefaces (na minha visão).

Quanto a performance, não tenho dados para avaliar.

Quanto a questão a facilidade em programar é questão de costume para todos eles.

[quote=giovanni_stiwes]
Parece que o Vaadin assim como o smartclient é baseado no gwt. correto?[/quote]

Sim, o vaadin usa GWT por baixo dos panos, mas vc não vê. E não tem aquele problema de compilação do diabo que o qwt tem. Já tá tudo compilado na lib é só usar. Mas como eu disse, vc não vê esses componentes. Vc trabalha com componentes do Vaadin ele mesmo.

O wicket é pior que o Vaadin no sentido que ainda obriga a escrever html. O Vaadin é zero de client-side. ele faz tudo sozinho.

Realmente, bem completo o vaddin, alguem algum comparativo de performance, ou se alguem ja trabalhou com algum dos citados aqui e acha a performance satisfatória.

[quote=Maracuja][quote=sergiotaborda][quote=giovanni_stiwes]
Parece que o Vaadin assim como o smartclient é baseado no gwt. correto?[/quote]

Sim, o vaadin usa GWT por baixo dos panos, mas vc não vê. E não tem aquele problema de compilação do diabo que o qwt tem. Já tá tudo compilado na lib é só usar. Mas como eu disse, vc não vê esses componentes. Vc trabalha com componentes do Vaadin ele mesmo.

O wicket é pior que o Vaadin no sentido que ainda obriga a escrever html. O Vaadin é zero de client-side. ele faz tudo sozinho.[/quote]

Nao acho que seja pior, mas diferente! O fato de ter html com os markups ajuda muito na hora de mudanca de layout.[/quote]

O Vaadin tem oconceito de Tema que permite modificar as cores ,etc… o layout em si não.
O Vaadin é mais para sistemas orientados a formulários como o Swing.

Se o objetivo é um web commerce da vida o vaadin pode não ser a escolha, mas como o autor da thread falaou que já tem o mesmo sistema em swing, eu acho que o vaadin é um bom casamento porque as classes são quase um para um com o swing. O wicket ou outros, implicariam em ter que criar o html na mão o que pode ser bem chato às vezes…

Não apenas uma questão de olha os frameworks , é preciso ver as circusntancias e qual seria a base para um porte mais fácil. Mas sim, como nada foi dito dos requisitos e do que é a aplicação, fica mais difícil opinar.

[quote=sergiotaborda][quote=Maracuja][quote=sergiotaborda][quote=giovanni_stiwes]
Parece que o Vaadin assim como o smartclient é baseado no gwt. correto?[/quote]

Sim, o vaadin usa GWT por baixo dos panos, mas vc não vê. E não tem aquele problema de compilação do diabo que o qwt tem. Já tá tudo compilado na lib é só usar. Mas como eu disse, vc não vê esses componentes. Vc trabalha com componentes do Vaadin ele mesmo.

O wicket é pior que o Vaadin no sentido que ainda obriga a escrever html. O Vaadin é zero de client-side. ele faz tudo sozinho.[/quote]

Nao acho que seja pior, mas diferente! O fato de ter html com os markups ajuda muito na hora de mudanca de layout.[/quote]

O Vaadin tem oconceito de Tema que permite modificar as cores ,etc… o layout em si não.
O Vaadin é mais para sistemas orientados a formulários como o Swing.

Se o objetivo é um web commerce da vida o vaadin pode não ser a escolha, mas como o autor da thread falaou que já tem o mesmo sistema em swing, eu acho que o vaadin é um bom casamento porque as classes são quase um para um com o swing. O wicket ou outros, implicariam em ter que criar o html na mão o que pode ser bem chato às vezes…

Não apenas uma questão de olha os frameworks , é preciso ver as circusntancias e qual seria a base para um porte mais fácil. Mas sim, como nada foi dito dos requisitos e do que é a aplicação, fica mais difícil opinar. [/quote]

A aplicação eh uma sistema de gerenciamento de Estoque, Notas Fiscais, Pedido de Compra e Venda, Títulos a Receber e Pagar, Controle de Caixa, Controle Bancário, Calendário Financeiro e algumas dezenas de cadastros, este é o resumo bem resumido do erp da empresa onde trabalho. E agora querem uma interface web. A tecnologia usado no servidor eu já citei anteriormente.

No momento acho que vaadin ou primefaces seria a melhor opção. devido a complexidade de algumas buscas (tables e treetables) e formularios. Devido a variedade de componentes dos mesmos. Basta descobrir sobre performance e estabilidade (erros). O pessoal aqui da empresa (tem mais 3 programadores) como tem pouco conhecimento em plataforma web não opnaram.

Outro que entra para a lista KendoUI. se alguem conhece da uma dica ai.

Para mim sem sombra de dúvidas o Bootstrap, tem muitas vantagens, como design responsivo a resoluções diferentes (como celular), grid layout integrado, isso tudo sem ser intrusivo. Claro que usando framework action based, no meu caso no momento ASP.NET MVC, no Java hoje usaria Spring MVC que estou experimentando, mas usava antes Struts2 profissionalmente e foi sucesso na época.

Eu tenho estudado AngularJS nos últimos tempos e achei ele genial. É javascript de uma maneira bem organizada, permitindo fazer bindings com html e etc. Pra quem, como eu, usou Flex por bastante tempo, é bastante natural usar o Angular, já que estamos acostumados a escrever bastante código de UI. O boostrap é ótimo, mas certamente deve se utilizar junto com Angular, JQuery ou outro framework.

A desvantagem do Angular é que é recente, não tem documentação em português e a documentação em inglês ainda está sendo aperfeiçoada (eu acho que em junho ou julho do ano passado saiu a versão 1.0 do framework). Mas o Google está investindo bastante no framework agora… vale a pena dar uma olhada.

No lado do servidor, basta ter uns serviços comunicando via JSON. Eu tenho usado Angular + Bootstrap + Vraptor numa app que to fazendo e achei otimo.

http://www.jqwidgets.com

Este tambem mutio bom.

Resolvi fazer um pequeno prototipo, continuo usando a estrutura jee mas agora comunicando com o cliente atraves de Rest, no cliente estou usando Html + AngularJS + Bootstrap (e JQuery por tabela, talvez tenha que usar JQueryUI para componentes).

Mas parei numa duvida. Templates? Como fazer? No Jsf é o facelet. Mas no hmtl javascript como faço?