¿Qué tecnología web java aprender a desarrollar aplicaciones de Internet enriquecidas?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

He desarrollado aplicaciones web utilizando JSF (componentes de myfaces). Pero en estos días de interfaz de usuario receptiva, JSF no le va bien. Estoy escuchando mucho sobre AJAX, GWT, etc. Así que quería saber su opinión sobre qué marco / tecnología web debería aprender para desarrollar aplicaciones web para productos empresariales. Algunas de las tecnologías web que escucho son:

  1. Caras de ICE (con soporte AJAX Bridge)
  2. GWT
  3. extJS y extGWT
  4. JavaFX
  5. Apache Wicket
  6. Jquery
  7. AJAX
  8. Abrir laszlo

¿Cuál de los anteriores o la combinación de los anteriores me ayudaría?

Algunos de los parámetros en los que puede calificar estas tecnologías web son:

  
      
  1. Facilidad de aprendizaje
  2.   
  3. Mantenimiento del código de la aplicación web
  4.   
  5. apoyo comunitario
  6.   
  7. Compatibilidad con IDE: Eclipse o NetBeans
  8.   
  9. Disponibilidad de componentes fuera de la plataforma (como cuadro de texto, cuadrículas de tabla, menús de opciones)
  10.   
  11. Licencia: ¿cuesta el uso comercial?
  12.   
  13. Experiencia de usuario: interfaz de usuario receptiva. No debe ser lento
  14.   

Una pregunta similar sobre SO responde mi pregunta parcialmente Querría más información sin embargo.

EDITAR: Respuestas recopiladas: Basado en las respuestas: AJAX sería lo mejor para comenzar con el aprendizaje de los fundamentos, luego aprender JQUERY. ¿Algún trabajo de marco basado en componentes que pueda complementar ajax, jquery?

Edición 2: Si tuviera que diseñar una aplicación web como StackOverFlow (en la plataforma java), ¿cuál sería la mejor opción para aprender y adoptar?

  

Wicket + Jquery, WiQuery

     

GWT

     

Algunas caras XYZ   tecnología (RichFaces / ICEFaces) + AJAX.

Los comentarios son apreciados por alguien que ha trabajado con ellos y puede calificarlos en los parámetros mencionados anteriormente.

¿Fue útil?

Solución

AJAX es solo un término (en mi humilde opinión, sin sentido).

jQuery es, en mi opinión, la forma de hacer Javascript. A menos que exista un requerimiento insuperable que prohíba su uso, lo recomiendo si alguna vez necesita escribir Javascript usted mismo (tenga en cuenta que si está utilizando GWT, está usando Javascript, pero no escribiéndolo , así que no lo haga. t necesita jQuery).

  1. Facilidad de aprendizaje: necesita cambiar su forma de pensar desde el estilo de procedimiento tradicional JS [jQuery aún es procesal, pero tiene un gran aspecto declarativo]. Si nunca ha escrito Javascript, podría ser más fácil acercarse
  2. Mantenimiento del código de la aplicación web: muy
  3. Apoyo de la comunidad: bastante
  4. Compatibilidad con IDE - Eclipse o NetBeans: no lo creo. No me lo pierdo Odio escribir suficiente Javascript para hacerme perder un IDE.
  5. Disponibilidad de componentes fuera de la plataforma (como cuadro de texto, cuadrículas de tabla, menús de opciones): jQuery UI tiene un poco y hay mucho material por ahí
  6. Licencia: ¿Tiene un costo para uso comercial ?: Nope

De las otras tecnologías que mencionas:

  1. GWT: Creo que esto es interesante si son sitios de intranet de destino o algo similar, escribiendo sitios muy similares a los de un escritorio (piense en Gmail, no en un sitio de contenido típico). Supongo que debe hacer un esfuerzo importante para hacer que sus sitios web basados ??en GWT puedan ser rastreados por los motores de búsqueda y que puedan ser utilizados por navegadores no sofisticados (es decir, GWT sería inútil para los navegadores sin JS como algunos teléfonos móviles)
  2. JavaFX. Creo que esto es sólo un truco. No agrega mucho a los applets de Java y no tiene tanta inercia como Java.
  3. Apache Wicket: esto está en mi lista de investigación
  4. OpenLaszlo: parece muy interesante si quieres hacer Flash sin pagar licencias.

Como mi sugerencia.

Le sugiero que aprenda a desarrollar sus sitios web sin JS al principio. Luego agrega JS (con jQuery), google " mejora progresiva " ;.

Una vez que puedas hacer esto, puedes aprender a usar algo como GWT y usarlo si está justificado.

Otros consejos

Recomendaría encarecidamente a Apache Wicket, veo que ha comentado / editado la pregunta para decir que se está inclinando hacia Ajax / JQuery y está solicitando marcos de componentes que los complementen.

IMO entre los marcos basados ??en componentes, Wicket ofrece la mejor integración con bibliotecas de JavaScript de terceros. He evaluado personalmente a los contendientes GWT, Tapestry y JSF, pero Wicket hace que sea muy fácil:

  • contribuir javascript al HTML > CABEZA
  • inyecte el código de devolución de llamada ajax (o javascript personalizado) en una página web
  • llamar a un evento en un componente con estado en el lado del servidor
  • ejecute javascript arbitrario antes o / y después de que se encienda una solicitud Ajax (XHR)

Puedes ver esta publicación de blog en cómo integrar YUI con Wicket , los mismos conceptos pueden extenderse fácilmente a JQuery.

Dicho esto, el soporte Ajax integrado de Wicket en realidad hace posible que usted cree UI-s enriquecidas sin escribir una sola línea de código javascript. Piense en la actualización dinámica de partes selectivas de una página web, cuadros de diálogo emergentes, etc.

También tengo conocimiento de un proyecto para la integración de Wicket-JQuery llamado WiQuery , pero Aún no lo he probado.

He estado trabajando en GWT (con GWT-ext) para mi último proyecto y lo he disfrutado bastante. Aparte de eso, jQuery siempre ha sido un regalo de Dios, y lo usaré siempre que no tenga un marco más robusto disponible.

Si tienes que hacer una buena cantidad de Javascript / AJAX, ¡definitivamente quieres aprender y usar jQuery! Me hubiera ahorrado años de dolor si hubiera salido en 1999.

Tiendo a centrarme en el conocimiento fundamental, por lo tanto, es posible que desee obtener una sólida comprensión de javascript, incluido javascript orientado a objetos.

Una vez que conozca bien JavaScript, las bibliotecas son fáciles de encontrar.

Es posible que desees obtener un poco de comprensión de algunas de las características de HTML5 que pueden ser útiles, como la etiqueta.

También es posible que desee aprender ActionScript 3, ya que eso le ayudará a comprender cómo funciona flash, ya que sabrá qué código está generando el flash ide. He usado una secuencia de comandos ant para compilar mi código de acciones, usando Eclipse.

Silverlight está ganando popularidad, pero eso requiere VisualStudio Express, pero es un gran competidor con Flash.

Para el resto, una referencia de paso puede ser útil, ya que su lista no es exhaustiva, pero asegúrese de que entiende bien los idiomas fundamentales para estos y los marcos que puede recoger rápidamente.

Si desea tener algún tipo de experiencia de cliente / servidor a través de un navegador web, le sugiero que analice GWT junto con el complemento Eclipse de Google. Este tipo de tecnología le permite escribir realmente las aplicaciones web más sensibles que puede lograr (desde mi punto de vista).

De lo contrario, si desea desarrollar aplicaciones web más tradicionales y simplemente agregar la funcionalidad Ajax, puede echar un vistazo a DWR (Remoto directo a la web). Este tipo de tecnología le permite conectar objetos Java del lado del servidor al lado del cliente para poder usar su funcionalidad a través de JavaScript. Le ayudará a escribir su funcionalidad Ajax y posiblemente también a reutilizar la lógica existente.

Por supuesto, jQuery siempre es una buena alternativa.

Seam, Spring, Richfaces, Ajax4jsf

Estoy en el mismo camino que usted, tratando de averiguar cuál será el conjunto de herramientas de desarrollo del lado del servidor y del lado del cliente para un gran sitio de Internet. Hasta donde he visto y leído, como siempre, depende del tipo de aplicación web que necesite.

Hay personas que utilizan diferentes marcos de javascript, basados ??en la facilidad de uso, declarativos, orientados a objetos y similares.

Hay varias cosas a considerar: 1) Tecnología del lado del cliente   1a) " Núcleo " tecnología del lado del cliente: marcos   1b) Mejoras en la tecnología del lado UI del cliente 2) Tecnología del lado del servidor

Para " núcleo " En los marcos de javascript, puede encontrar JQuery, MooTools (licencia MIT), ExtJS Core (licencia MIT) (no ExtJS: se trata de dispositivos ExtJS Core + UI, y los posteriores requieren licencia comercial), Yahoo UI, etc. Puede compararlos en sitios como este: http://www.domassistant.com/slickspeed/

Esta prueba " de alguna manera " compara diferentes aspectos de cada uno de esos " core " marcos de javascript del cliente.

¿Qué obtienes de esos marcos? La mayoría de ellos te permite ser " navegador cruzado " Compatible, y cada uno tiene varias y diferentes formas y sintaxis.

Solo es cuestión de probar y buscar el que más te guste.

Entonces, con esto, solo tienes una forma de codificar para " everybrowser " ;.

Ahora, si necesita " Widgets / Controles / Gadgets UI " ;, entonces, cada " núcleo " El marco tiene su propia extensión relacionada con la interfaz de usuario.

Incluso, algunos de ellos, pueden interactuar entre sí. He leído que las implementaciones de ExtJS (no Core, la que viene con varios elementos de interfaz de usuario buenos) se pueden conectar a jQuery.

Entonces, para el lado del cliente, tiene que elegir su " core " marco, y si necesita UI, entonces, alguna UI asociada con ellos.

Hay varios IDE que son compatibles con estos marcos, uno puede ser Aptana, Eclipse, Netbeans (la última versión se integra muy bien con javascript) o en el lado de Microsoft Expression, Visual Studio Express o " Pro ".

También es un hecho que jQuery se incluyó " tal como está " y soportado por Microsoft y Nokia. Entonces, jQuery recibirá más atención ahora, más soporte y más "público", predigo que recibirá mucha atención y mejoras. No compraron jQuery, se adhirieron a él como un código abierto incluido en las soluciones de VS a partir de ahora. Y será muy ajustado junto con ASP.NET MVC, componentes y similares.

De todos modos, jQuery, como dije antes, no es el único y no necesariamente el mejor.

Para el lado del servidor, depende de su conocimiento: java, ASP.NET, lo que sea que se sienta cómodo.

Espero que encuentres esto útil.

Mi selección es GWT porque el programa GWT escribe en lenguaje de programación Java y este lenguaje de programación es muy poderoso y fácil de entender.

jQuery y ext-js también son buenos, pero tuve algún problema con el lenguaje de programación JavaScript. este lenguaje de programación es muy propenso a errores.

A la codificación de Apache Wicket le gusta GWT pero es una tecnología del lado del servidor y es una tecnología pesada.

Debido a que el programa JavaFX requiere un complemento no es mi selección.

Mi recomendación para ti es jQuery o ext-js si no tienes problemas con JavaScript.

Probablemente tendrá que aprender una combinación de herramientas, pero probablemente debería comenzar con AJAX, luego pasar a algunas bibliotecas de JS (JQuery, prototype-scriptaculous, MooTools, etc.).

Esos también complementarán muy bien un marco JSF.

También puede considerar la Eclipse Rich Ajax Platform al evaluar las plataformas RIA basadas en Java.

Le sugiero que eche un vistazo a Vexi , que ofrece aplicaciones similares al escritorio que son más flexibles. que un Applet + Swing / AWT.

(Descargo de responsabilidad: Soy un desarrollador de Vexi)

Las aplicaciones son similares a las de escritorio, son ricas y receptivas, y son interfaces de usuario que se proyectan " " a través de Internet. Toda la lógica de la aplicación reside en el servidor que creas en el idioma que elijas y expones a través de una interfaz XmlRpc.

El principal beneficio de Vexi es que el diseño es realmente sencillo, ya que es un modelo de caja. Es más fácil de entender que HTML incluso.

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

Las secuencias de comandos se realizan con JavaScript, y hay un conjunto de widgets extensibles. Usar widgets también es fácil.

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top