Pessoal gostaria da opnião de vocês.
QueM ja trabalhou com JSF e/ou Flex poderia me indicar qual seria a melhor tecnologia para construir um sistema (“medio a grande porte”).
Gostaria de saber o pos e contra de cada um.
Deste ja agradeço
Pessoal gostaria da opnião de vocês.
QueM ja trabalhou com JSF e/ou Flex poderia me indicar qual seria a melhor tecnologia para construir um sistema (“medio a grande porte”).
Gostaria de saber o pos e contra de cada um.
Deste ja agradeço
Se for para contruir um SISTEMA(Formulários, tabels, etc…) eu fortemente sugiro JSF.
Agora se o seu sistema tem muita necessidade de efeitos visuais talvez o Flex fosse interessante.
Sim , seria sistemas.
Porque optar por JSF?
vantagens
desvantagens
Dê uma olhada no RichFaces.
Eu ja trabalhei com PrimeFaces e RichFaces , acho o prime bem melhor, porem vi pouca coisa de Flex,
A questão é a seguinte, qual vantagem de usar JSF ao inves do FLEX
Erick,
Eu trabalho apenas com JSF e tive apenas uma visão superficial sobre Flex.
Não sei se você pretende integrar o Flex com alguma outra linguagem como Java, PHP, mas até onde eu sei o Flex não possui um servidor de aplicações ou arquitetura própria para trabalhar com componentes distribuídos, algo semelhante aos EJBs do Java ou COM+ da Microsoft, o java por sua vez na plataforma EE possui inúmeros recursos e frameworks para desenvolver de forma produtiva sistemas de pequeno, médio e grande porte.
Agora, se você pretende integrar o Flex com alguma outra linguagem dai a situação muda de figura, pois você pode utilizar o Flex para a camada de Front End e o Java para o resto.
O colega acima citou o Richfaces, que é uma biblioteca que estende o JSF e possui componentes customizados que possuem um ótimo efeito visual que praticamente permite simular um ambiente desktop dentro do browser.
Sobre o flex, o que eu posso dizer é que o browser tendo o plugin para Flex a aplicação vai rodar 100% garantido na maquina cliente, por sua vez, utilizando Ajax ou uma biblioteca JSF que gere javascript, você corre o risco de ter problemas em alguns browsers.
Aqui na empresa por exemplo, tivemos um problema com uma versão do Primefaces no Internet Explorer 7, já no 8, não apresentou problema.
Acredito que o fator que deva determinar que tecnologia sua empresa deverá utilizar, e a mão de obra disponível eu acho que é muito mais fácil achar desenvolvedores Java que conheçam JSF do que Flex. (Mas pode ser ?achismo? meu).
Espero ter ajudado.
Fábio
Entendi, relamente o prime tem esse problema com IE7 mais tirando isso na sua versão atual esta de parabens, então no caso o sistema seria em java e estava em dúvida no que usar na camada de apresentação. independente da mão de obra qualificada,
Não entendi muito a questão do EJB, ele fica no servidor (logica de negocio), a visão não fica independente de eu usar JSF ou FLEX aonde vai influenciar?
Quem mexe com alguma das tecnologias vai defender a mesma. Um amigo meu mexeu com as Duas e considerou o Flex mais produtivo. Acho que o ideal seria vc fazer uns pequenos exemplos com as duas e tirar suas próprias conclusões.
Quanto a app distribuidas e frameworks, trabalho com Flex e isso não teve impacto. O Spring já integra totalmente com Flex.
[]s
Como eu havia dito, você pode integar o Flex com outra linguagem.
Integrando com o Java você vai poder utilizar frameworks como Spring, containers EJB, etc…
Agora se você pretende utilizar java e a duvida era sobre o Front End, acredito que o Flex pode ter efeitos graficos melhores.
flex é muito legal ja mexi com ele ele é muito bonito e rápido mesmo pois junto com BlazeDS para java implementa o (Real Time Messaging Protocol) que é muito rapido mas para ter ganho de produtividade e começar bem com ele é necessario ter o FlexBuilder que é pago! eu uso RichFaces para sistema corporativo atende bem mesmo inclusive por ser java que é uma maravilha de portabilidade!
Sugestões
Top:
JavaFX, Flex
Bons :
RichFaces, Extjs (muito bom mesmo)
Analizando como front end.
-JSF está na especificação isso não seria uma vantagem? pois ele se integra melhor com JPA EJB doque FLEX?
-JSF é mais leve?
-JSF mais produtivo?
JSF está na especificação isso não seria uma vantagem? pois ele se integra melhor com JPA EJB doque FLEX?
Se não me engano, existe uma ou umas classes em Flex que você utiliza para acessar as classes java, o que acredito que deva gerar um certo overhead esse processo.
JSF é mais leve?
Depende, muito javascript simuntanealmente (no caso de uma aplicação com muito Ajax usando Richfaces por exemplo) pode comprometer a performance do browser, ja o Flex por sua vez depois de carregado não tem esse problema. Mas, algumas pagina feitas com JSF podem ter em media o tamanho de 6Kb, ja um pagina em Flex pode ficar bem maior que isso, e dependendo do fluxo de navegação do usuário, também pode comprometer a performance.
JSF mais produtivo?
A questão da produtividade é muito relativo, COM CERTEZA será muito mais rápido e produtivo trabalhar com a linguagem que você domina.
Fábio
Posso concluir que:
Com base nisto acho que JSF seria uma melhor escolha
.
Eu tenho um amigo q mexeu com FLEX, eu mesmo nunca o fiz. O q eu sei é q FLEX tem uma ferramenta RAD q parece ser muito boa, e isso faz uma p**a diferença quando vc está desenvolvendo. Por outro lado eu não sei qual a complexidade de integra-lo às tecnologias server-side (mas tá cheio de documentação e artigos por ai).
O fato de JSF está na especificação é sempre uma vantagem, principalmente se vc quiser migrar o seu servidor de aplicações. Programar em cima da especificação “garante” compatibilidade entre os servidores JEE, ou quase! Se esse é um sistema interno da empresa q vc está trabalhando, então vc vai precisar lidar com ele muito e, vai gostar de ter a possibilidade de usar uma tecnologia mais simples, quando esta aparecer. JSF tb criar clientes mais leves, já q são baseados em HTML. Mas isso só é um problema se o seu cliente não estiver disposto a aceitar esse peso q, é claro, vc deve informar caso à ele caso a opção seja FLEX.
Como eu disse, eu nunca mexi com FLEX mas, pela experiência q um amigo teve, não pareceu muito difícil. Acho q a palavra aqui é produtividade e do que vc está disposto a abrir mão p/ obter mais produtividade.
Obs.: p/ cliente, e p/ o boss tb, produtividade faz muita diferênça.
entendi, porem esta ferramente RAD é paga certo?
Certíssimo!!
A integração com servidor é muito trankila, ainda mais se vc utilizar chamadas Remotas (BlazeDS ou GraniteDS). Nesse caso, a coisa funciona como o RMI no JAVA, só que bem menos complicado.
Precisando de um curso a jato de Flex, dê uma olhada na Nuccitec.
O que vejo de quem mexeu com as duas tecnologias é a tendência de achar o Flex mais produtivo. Observe que não disse que é, pois isso tb possui vários fatores, como velocidade de aprendizado da equipe e etc.
[]s
Realmente vejo muitas pessoas falando bem do flex mais produtivo e mais simples de mecher, porem o pessoal foca que o flex a integração com java é mais lenta do que a do JSF, não que seja lenta, (mais é que é MAIS lenta do que JSF)
Outra questão e de ele não esta na especificação, quando for migrar Java7,8 não corre um risco de ficar complicado ou até mesmo inviavel?
Não corre o risco pq o BlazeDS, GraniteDS e afins basicamente implementam o AMF (ActionScript Message Format). Isso quer dizer, em linhas gerais, que eles serializam um objeto e mandam pela rede no formato da adobe. Então não tem nada a ver o risco.
Quanto a ser mais rápido ou não, isso pra mim é lenda. Depende da aplicação. Uma vez com o swf carregado, vc só vai precisar fazer chamada de dados no servidor, dados esses que serão pequenos, já que trafegarão em formato binário da adobe. Vou ver se acho um aplicação que vi que comparava diversas chamadas ao servidor.
[]s
Encontrei o site. Ele é legal que faz as medidas no ato, e vc pode alterar o número de linhas de consulta.
[]s
MUITO legal o site, vou analizar caso a caso
então concluindo no seu caso voce optaria por usar
FLEX ao inves de JSF certo?
voce poderia falar todos os pontos que voce acha vantagens
como ja foi citado produtividade
quais mais?
Desculpa mais não intendi como funciona esse site, ele compara flex , html e ajax, jsf ele não compara porque é mesma coisa que html?
fora isso
“Segue o gráfico par uma chamada a 5000 linhas no BD”
como assim?
Desculpa cara, mas agora fui eu q não entendi. Pq demora uns 30s p/ FLEX responder e o gráfico diz apenas 4s. Quem está errado, o meu relógio ou o gráfico?
Eu não posso dizer que aconselho usar o Flex pq não conheço JSF. Mas o meu amigo de trabalho começou com Flex, depois foi mexer em JSF. Ele preferiu o Flex. Como eu disse antes, acho que seria bom vc fazer alguns exemplos e chegar numa conclusão sua. Acho que um curso de Flex básico seria suficiente para vc tomar sua decisão.
Pontos que eu gosto no Flex, mas não posso dizer que não exista em JSF:
Vc consegue debugar a tela.
Os componentes funcionam bem por padrão
Para quem manja Java, as coisas ficam fácil, já que ActionScript prevê OO
Possui um instalador muito bom, e update automático mongol de se fazer, no caso de app desktop (ver exemplo em www.revelacaovirtual.com.br)
Na programação em si, não há diferença em programar para web ou desktop. Se no meio de um projeto web vc decidir que quer torná-lo deskotp, basta dizer isso ao FlashBuilder
Seu cliente fica mais gordo.
Interatividade com usuário aumenta muito.
Tipagem Forte ou Fraca é vc quem decide, não a linguagem
Objetos dinâmicos ou estáticos é vc quem decide, não a linguagem
Negativos:
O swf pode ficar pesado para carregar.
Seu cliente fica mais gordo, e por isso é necessário criar uma camada DTO (ainda não vi solução melhor)
Existe o tempo de se aprender ActionScript (AS) e seus meandros. Para iniciantes, é comum achar parecido com Java e fazer as coisas como costuma fazer em Java. Mas AS é diferente, totalmente voltado a eventos. Todos esses detalhes levam algum tempo para se aprender, principalmente se tiver que aprender sozinho.
O FlashBuilder (FB) as vezes é meio lentinho pra buildar, então se vc não souber gerenciar suas dependências direito, pode impactar a produtividade.
O FB é pago, mas tem licensa grátics pra estudante e desempregado.
O FB consome processamento no Build, então é bom ter um bom computador pra desenvolver.
Espero ter contribuido.
Não entendi o que vc quer dizer com 30 s. Se for o carregamento do site, é como eu falei. o swf pode demorar a carregar, mas isso só ocorre uma vez. Uma vez carregado, vc só terá dados trafegando e nada relativo a view, como quando vc carrega um HTML.
Sim ajudou muito, já ouvi muitos falar que flex é OO , então na verdade é OE(Orientado a eventos)
quando voce diz que ele preve OO
quer dizer o que?
Quero dizer que todos seu componentes são classes ActionScript, possuindo hirarquia e vc pode criar suas classes como se faz em java, buscando reuso através de polimorfismo. A linguagem é bastante orientada a evento sim, mas isso tb é OO. Eles usam o padrão de projeto Observer bastante.
Dá uma olhada nesse tópico. Lá coloquei exemplo de herança e também de evento. Veja como o exemplo das classes fica muito parecido com java, tirando alguns detalhes sintáticos.
[]s
hmm intendi, obrigado