Que tecnologia java web para aprender a desenvolver Rich Internet Applications?

StackOverflow https://stackoverflow.com/questions/1401483

  •  05-07-2019
  •  | 
  •  

Pergunta

tenho desenvolvido aplicações web usando JSF (componentes MyFaces). Mas nestes dias de UI responsivo, JSF tarifa doesnt bem. Eu estou ouvindo muito sobre AJAX, GWT, etc. Então, eu queria sua opinião sobre qual tecnologia web / framework que eu deveria aprender inorder para desenvolver aplicações web para produtos empresariais. Algumas das tecnologias da web que eu m audiência são:

  1. Faces ICE (com suporte a AJAX Bridge)
  2. GWT
  3. ExtJS e extGWT
  4. JavaFX
  5. Apache Wicket
  6. Jquery
  7. AJAX
  8. Open Laszlo

Qual dos acima ou a combinação dos anteriores iria me ajudar?

Alguns dos parâmetros sobre os quais você pode avaliar essas tecnologias web são:

  1. Facilidade de aprendizado
  2. manutenção do código do aplicativo web
  3. O apoio comunitário
  4. Suporte IDE - Eclipse ou NetBeans
  5. Fora da disponibilidade de componentes de prateleira (como caixa de texto, grades de tabela, menus de opções)
  6. Licença - custa para uso comercial
  7. ?
  8. User Experience - UI responsivo. Não deve ser lento

A no SO não respondeu à minha pergunta parcialmente. Gostaria mais informações embora.

EDIT: Respostas agrupadas: Com base nas respostas: AJAX seria a melhor coisa para começar por fundamentos aprendizagem, em seguida, aprender jQuery. Qualquer componente baseada no trabalho quadro que pode complementar Ajax, jQuery?

Edit 2: Se eu tivesse que criar um aplicativo web como StackOverFlow (em plataforma Java), que seria a melhor escolha para aprender e adotar?

Wicket + Jquery, WiQuery

GWT

Algumas Faces XYZ tecnologia (RichFaces / ICEFaces) + AJAX.

Comentários apreciados a partir de alguém que já trabalhou com eles e pode avaliá-los no exemplo acima parâmetros mencionados.

Foi útil?

Solução

AJAX é apenas um (na minha humilde opinião, sem sentido) prazo.

jQuery é, na minha opinião, o maneira de fazer Javascript. A menos que haja uma requeriment intransponível proibindo seu uso, eu recomendo que se você precisar escrever Javascript-se (note, se você estiver usando GWT, você está usando Javascript, mas não escrito , então você don' t necessidade jQuery).

  1. facilidade de aprendizado: você precisa mudar sua mentalidade de estilo processual tradicional JS [jQuery ainda é processual, mas tem um grande aspecto declarativa]. Se você nunca tenha escrito Javascript pode ser mais fácil se aproximar
  2. manutenção do código do aplicativo web: muito
  3. O apoio comunitário: bastante
  4. Suporte IDE - Eclipse ou NetBeans: Eu não penso assim. Eu não perca; Eu odeio escrever o suficiente Javascript para me fazer perder um IDE.
  5. Fora da disponibilidade de componentes de prateleira (como caixa de texto, grades de tabela, menus de opções): jQuery UI tem um pouco e há muitos para fora o material lá
  6. Licença - custa para uso comercial ?: Nope

Entre as outras tecnologias que você menciona:

  1. GWT: Eu acredito que isso é interessante se você é sites de intranet alvo ou algo semelhante, escrita muito de desktop-como sites (acho que o Gmail, não um site de conteúdo típico). Eu suponho que você precisa fazer um esforço muito significativo para fazer seus sites baseados em GWT rastreáveis ??pelos motores de busca e ser utilizável por navegadores não-sofisticados (ou seja GWT seria inútil para JS-menos navegadores como alguns celulares)
  2. JavaFX. Eu acredito que este é apenas um chamariz. não acrescenta muito para applets Java e ele não tem tanta inércia, como Java.
  3. Apache Wicket: esta é na minha lista to-investigar
  4. OpenLaszlo:. Parece muito interessante se você quiser fazer coisas Flash sem pagar licenças

Como a minha sugestão.

Eu sugiro que você aprender a desenvolver seus sites sem JS em primeiro lugar. Em seguida, adicione JS (usando jQuery), google "melhora progressiva".

Uma vez que você pode fazer isso, você pode aprender usando algo como GWT e usá-lo se é justificada.

Outras dicas

Eu recomendaria fortemente Apache Wicket, vejo você comentou / editado a questão de dizer que você está inclinando-se para Ajax / JQuery e pedindo quadros de componentes que complementam os.

IMO entre as estruturas baseadas em componentes, Wicket oferece a melhor integração com terceiros bibliotecas JavaScript. Eu, pessoalmente, avaliou os candidatos GWT, tapeçaria e JSF - mas Wicket torna realmente fácil:

  • contribuir javascript ao HTML> CABEÇA
  • injetar ajax callback código (ou javascript personalizado) em uma página web
  • chamar um evento em um componente com estado no lado do servidor
  • executar javascript arbitrária antes e / ou depois de uma Ajax (XHR) incêndios pedido

Você pode ver este post em como integrar YUI com Wicket , os mesmos conceitos podem ser facilmente estendido para JQuery.

Dito isto, de Wicket suporte embutido Ajax, na verdade, torna possível para que você crie ricos UI-s sem escrever uma única linha de código javascript. Pense refrescante dinâmica de peças seletivas de uma página web, caixas de diálogo pop-up, etc.

Também estou ciente de um projeto para a integração Wicket-JQuery chamada WiQuery , mas eu não tentei ainda.

Eu tenho trabalhado no GWT (com GWT-EXT) para o meu projeto mais recente e têm gostei bastante. Afora isso, jQuery sempre foi uma dádiva de Deus, e eu vou usá-lo a qualquer momento eu não tenho uma estrutura mais robusta disponível.

Se você tem que fazer uma quantidade razoável de Javascript / AJAX, você definitivamente quero aprender e usar jQuery! Teria me salvou de anos de sofrimento tinha que saiu em 1999.

I tendem a se concentrar em conhecimento fundamental, por isso, você pode querer obter um forte entendimento de javascript, incluindo javascript orientada a objetos.

Depois de saber javascript bem, as bibliotecas são fáceis de pegar.

Você pode querer obter algum passando a compreensão de algumas das características do HTML5 que podem ser úteis, como o tag.

Você também pode querer aprender ActionScript 3, como que vai ajudar você a entender como funciona o Flash, como você vai saber o código do ide flash está gerando. Eu tenho usado um script ant para compilar meu código do ActionScript, usando Eclipse.

Silverlight está ganhando popularidade, mas, que requer VisualStudio Express, mas é um forte concorrente com o Flash.

Para o resto, uma referência de passagem pode ser útil, como a sua lista não é exaustiva, mas certifique-se de compreender as línguas fundamentais bem para estes e os quadros você pode pegar rapidamente.

Se você quiser ter algum tipo de experiência de cliente / servidor através de um navegador web eu sugiro dar uma olhada no GWT juntamente com Google Eclipse Plugin. Este tipo de tecnologia permite que você escreva realmente o mais webapps de resposta que você pode conseguir (do meu ponto de vista).

Caso contrário, se você quiser desenvolver webapps um pouco mais tradicionais e apenas adicionar Ajax funcionalidade que você poderia dar uma olhada em DWR (Direct web Remoting). Este tipo de tecnologia permite ao servidor do lado do fio objetos Java para o lado do cliente para ser capaz de usar sua funcionalidade através de JavaScript. Ela irá ajudá-lo a escrever a sua funcionalidade Ajax e possivelmente também na reutilização lógica existente.

É claro, jQuery é sempre uma boa alternativa.

Seam, Primavera, Richfaces, Ajax4jsf

Eu estou na mesma pista como você, tentando descobrir qual será o meu servidor lado + cliente conjunto de ferramentas de desenvolvimento do lado para um site enorme internet. Tanto quanto eu tenho visto e lido, como sempre, isso depende do tipo de aplicação web que você precisa.

Existem pessoas que usam diferentes frameworks JavaScript, com base na facilidade de uso, declarativa, orientada objeto, e assim por diante.

Há várias coisas a considerar: 1) tecnologia do lado do cliente 1a) "core" tecnologia do lado do cliente: Estruturas 1b) melhorias tecnológicas lado do cliente UI 2) a tecnologia do lado do servidor

Para "core" frameworks JavaScript, você pode encontrar JQuery, MooTools (licença MIT), ExtJS Núcleo (MIT License) (não ExtJS: este é dispositivos ExtJS Núcleo + UI, e mais tarde precisa de licença comercial), Yahoo UI, etc. Você pode compará-los em sites como este: http://www.domassistant.com/slickspeed/

Este teste "de alguma forma", compara diferentes aspectos de cada um desses "core" frameworks JavaScript cliente.

O que você ganha a partir dessas estruturas? A maioria deles, lhe permite ser "cross-browser" compatível, e cada um tem vários e diferentes maneiras e sintaxe.

Apenas uma questão de testar e buscar o que você mais gosta.

Então, com isso, você é só pegar uma forma de código para "everybrowser".

Agora, se você precisar de "widgets / Controles / dispositivos de interface do usuário", então, cada quadro "core" tem sua própria extensão relacionado interface do usuário.

Mesmo, alguns deles, podem interagir uns com os outros. Eu li sobre implementações de ExtJS (não core, o que vem com vários elementos boa UI) pode se conectar a jQuery.

Assim, para o lado do cliente que você tem que escolher o seu quadro "core", e se precisar de interface do usuário, em seguida, alguns UI associada com eles.

Existem várias IDEs que são compatíveis com este enquadramentos, pode ser Aptana, Eclipse, NetBeans (últimos integra versão muito bem com javascript) ou no Microsoft Expression lado, Visual Studio Express ou "Pro".

É também um facto que jQuery foi incluído "como está" e suportado pela Microsoft e Nokia. Então, jQuery vai receber mais atenção agora, e mais apoio, e mais "público", eu prevejo que vai ter um monte de atenção e melhorias. Eles não comprar jQuery, eles aderiram a ele como uma fonte aberta incluído em soluções VS a partir de agora. E vai ser muito apertado juntamente com ASP.NET MVC, componentes e afins.

De qualquer forma, jQuery, como eu disse antes, não é o único e não necesarily o melhor.

Para o lado do servidor bem, isso depende do seu conhecimento:. Java, ASP.NET, o que quer que você se sinta confortável

Eu espero que você encontrar este útil.

A minha seleção é GWT porque GWT gravação do programa em linguagem de programação Java e esta linguagem de programação é muito poderoso e fácil de entender.

jQuery e ext-js também são bons, mas eu tinha algum problema com a linguagem de programação JavaScript. esta linguagem de programação é muito propenso a erros.

Apache Wicket codificação gosta GWT mas é a tecnologia do lado do servidor e é uma tecnologia pesada.

Devido programa JavaFX requer plugin não é a minha selecção.

Meu recomendado para você é jQuery ou ext-js, se você não tem problema com JavaScript.

Você provavelmente vai ter que aprender uma combinação de ferramentas, mas provavelmente deve começar com AJAX, em seguida, passar para algumas bibliotecas JS (jQuery, protótipo-scriptaculous, MooTools, etc).

Aqueles também vai cumprimentar um quadro JSF bem.

Você também pode considerar a Eclipse Rich Ajax Platform ao avaliar plataformas RIA baseadas em Java.

Eu sugiro que você dê uma olhada Vexi , que ofertas de desktop-como aplicações que são mais flexíveis do que um balanço Applet + / AWT.

(Disclaimer: Eu sou um desenvolvedor de Vexi)

As aplicações são de desktop-like - rico e sensível - e são interfaces que são "projetadas" através da Internet. Todos reside lógica do aplicativo no servidor que você cria no idioma de sua escolha e expor através de uma interface XMLRPC.

O principal benefício do Vexi é que o layout é realmente fácil, pois é um modelo de caixa. É mais fácil de entender do que HTML mesmo.

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

Scripting é feito com JavaScript, e há um conjunto de widgets extensível. Usando widgets também é fácil.

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top