play java web-frameworks

java - play frameworks



¿Alguien puede recomendar un marco simple de aplicación web Java? (30)

Estoy tratando de comenzar con lo que espero sea una aplicación web relativamente rápida en Java, sin embargo, la mayoría de los frameworks que he probado (Apache Wicket, Liftweb) requieren tanta configuración, configuración e intento de envolver mi cabeza alrededor de Maven mientras que todo funciona bien con Eclipse, ¡que pasé todo el fin de semana tratando de llegar al punto donde escribo mi primera línea de código!

¿Alguien puede recomendar un framework Java webapp simple que no involucre a Maven, estructuras de directorios horriblemente complicadas o innumerables archivos XML que deben ser editados manualmente?


Apache Wicket, Liftweb) requieren tanta configuración y configuración

No estoy de acuerdo, utilizo Wicket para todos mis proyectos y nunca miré hacia atrás. no requiere mucho tiempo de configuración, ni siquiera una hora para configurar un entorno completo para trabajar con Wicket.



(Actualizado para la primavera 3.0)

Voy con Spring MVC también.

Debes descargar Spring desde here

Para configurar su aplicación web para usar Spring, agregue el siguiente servlet a su web.xml

<web-app> <servlet> <servlet-name>spring-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>spring-dispatcher</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>

Luego debe crear su archivo de configuración Spring /WEB-INF/spring-dispatcher-servlet.xml

Su primera versión de este archivo puede ser tan simple como:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.acme.foo" /> <mvc:annotation-driven /> </beans>

Spring detectará automáticamente las clases anotadas con @Controller

Un controlador simple es entonces:

package com.acme.foo; import java.util.logging.Logger; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/person") public class PersonController { Logger logger = Logger.getAnonymousLogger(); @RequestMapping(method = RequestMethod.GET) public String setupForm(ModelMap model) { model.addAttribute("person", new Person()); return "details.jsp"; } @RequestMapping(method = RequestMethod.POST) public String processForm(@ModelAttribute("person") Person person) { logger.info(person.getId()); logger.info(person.getName()); logger.info(person.getSurname()); return "success.jsp"; } }

Y los details.jsp

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> <form:form commandName="person"> <table> <tr> <td>Id:</td> <td><form:input path="id" /></td> </tr> <tr> <td>Name:</td> <td><form:input path="name" /></td> </tr> <tr> <td>Surname:</td> <td><form:input path="surname" /></td> </tr> <tr> <td colspan="2"><input type="submit" value="Save Changes" /></td> </tr> </table> </form:form>

Esto es solo la punta del iceberg con respecto a lo que Spring puede hacer ...

Espero que esto ayude.



Después de muchas experiencias dolorosas con Struts, Tapestry 3/4, JSF, JBoss Seam, GWT, me quedaré con Wicket por ahora. Wicket Bench para Eclipse es útil pero no está completo al 100%, aunque sigue siendo útil. El complemento MyEclipse para implementar en Tomcat es ace. No Maven acaba de implementar una vez, los cambios se copian automáticamente en Tomcat. Magia.

Mi sugerencia: Wicket 1.4, MyEclipse, Subclipse, Wicket Bench, Tomcat 6. Tomará aproximadamente una hora configurarlo, pero la mayor parte de eso se descargará de los complementos de tomcat y Eclipse.

Sugerencia: No utilice las bibliotecas de Wicket Bench, instale manualmente las bibliotecas de Wicket 1.4 en el proyecto.

Este sitio me tomó alrededor de 2 horas para escribir http://ratearear.co.uk - ¡no vayas del trabajo! Y este es de aproximadamente 3 días de trabajo http://tnwdb.com

Buena suerte. Tim


Eche un vistazo a Ninja Web Framework.

Es un framework Java MVC puro en la tradición de Rails. No utiliza ninguna configuración basada en xml y tiene todo lo que necesita para comenzar de inmediato: gestión de sesiones, gestión de seguridad, representación html, representación y análisis json, representación y análisis de XML. También presenta un entorno de prueba incorporado y es 100% compatible con los contenedores de servlets tradicionales.

Sin embargo, usa Maven, pero el uso correcto de Maven hace que el desarrollo de software sea muy sencillo. También le permite usar cualquier Ide de inmediato :)

Por cierto, desarrollar Ninja es realmente productivo, hacer cambios en tu código y ver los resultados de inmediato.

Consulte: http://www.ninjaframework.org .


Eche un vistazo a WaveMaker para construir una aplicación web rápida y simple. Tienen un diseñador de arrastrar y soltar basado en navegador para widgets Dojo / JavaScript, y el back-end es 100% Java.


El otro día encontré un framework web Java muy ligero.

Se llama Jodd y te brinda muchos de los conceptos básicos que esperarías de Spring, pero en un paquete realmente liviano que es <1MB.

http://jodd.org/


Estás buscando http://grails.org/

Usted lo codifica con groovy, un lenguaje dinámico basado en Java y se ejecuta sin problemas junto con el código, las clases y las bibliotecas de Java. La sintaxis no es difícil de aprender ni está lejos de Java. Pruébalo, son algunos minutos para poner en marcha un sitio web. Simplemente siga http://grails.org/Installation y http://grails.org/Quick+Start

Greetz, GHad


Estoy realmente grooving para Stripes . La configuración total incluye un poco de cortar y pegar XML en el web.xml de su aplicación, y luego está apagado. No se requiere ninguna configuración, ya que Stripes es un marco de convención sobre configuración. Anulando el comportamiento predeterminado se logra a través de anotaciones Java 1.5. La documentación es genial. Pasé cerca de 1-2 horas leyendo el tutorial y configurando mi primera aplicación.

Todavía no puedo hacer una comparación en profundidad con Struts o Spring-MVC, ya que aún no he desarrollado una escala completa (como lo hice en Struts), pero parece que se escalaría a ese nivel de arquitectura bastante bien.


Grails es el camino a seguir si te gusta hacer el CRUD fácilmente y crear una aplicación de prototipo rápido, juega bien con Eclipse también. Siga el tutorial "Desarrolle su primera aplicación Grails" aquí http://grails.org/Tutorials y podrá ejecutar su propia aplicación en menos de una hora.


Grails está escrito para Groovy, no para Java. AppFuse simplemente reduce el tiempo de configuración requerido para iniciar cualquier cantidad de marcos de Webapp, en lugar de promover cualquiera de ellos.

Sugeriría Spring MVC. Después de seguir los tutoriales bien escritos, tendrá un modelo sencillo y fácil de conexión automática (¡sin configuración XML!) En la tecnología de visualización que desee.

¿Desea agregar una acción de "eliminar" a su lista de clientes? Simplemente agregue un método llamado "eliminar" a su controlador de cliente, y se autoconecta a la URL / clientes / eliminar.

¿Necesita vincular sus parámetros de solicitud a un objeto? Simplemente agregue una instancia del objeto de destino a su método, y Spring MVC usará la reflexión para vincular sus parámetros, lo que hace que escribir su lógica sea tan fácil como si el cliente pasara un objeto fuertemente tipado para comenzar.

¿Enfermo de toda la división forzada del trabajo de MVC? Simplemente haga que su método sea nulo y escriba su respuesta directamente al Escritor del servlet, si eso es lo suyo.


La herramienta web4j sí misma como simple y fácil. Algunos puntos al respecto:

  • utiliza un solo archivo xml (el archivo web.xml requerido por todos los servlets)
  • sin dependencia de Maven (o cualquier otra herramienta / jar de terceros)
  • pila completa, fuente abierta (BSD)
  • el menor número de clases de cualquier marco Java de pila completa
  • SQL colocado en archivos de texto sin formato
  • fomenta el uso de objetos inmutables
  • se requiere un conjunto de herramientas mínimo (JSP / JSTL, Java, SQL)

La respuesta correcta IMO depende de dos cosas: 1. ¿Cuál es el propósito de la aplicación web que desea escribir? Solo nos dijiste que quieres escribirlo rápido, pero no lo que en realidad estás tratando de hacer. P.ej. ¿necesita una base de datos? ¿Es algún tipo de aplicación de negocios (pista: tal vez buscar "andamios")? ..o un juego? ¿o simplemente estás experimentando con sthg? 2. ¿Con qué marcos estás más familiarizado ahora? Lo que a menudo lleva más tiempo es leer documentos y descubrir cómo funcionan las cosas (realmente). Si quiere que se haga rápidamente, adhiérase a las cosas que ya conoce bien.


Me gusta Spring MVC, con las características 2.5 hay muy poco XML involucrado.


Me gusta escribir servlets antiguos simples + contenedor de servlets winstone . A partir de ahí, me atornillo a las bibliotecas de plantillas (velocidad, XSLT, etc.) y de acceso a bases de datos (hibernación, par, etc.) cuando las necesito en lugar de buscar un marco real.


No lo he probado yo mismo, pero creo

http://www.playframework.org/

Tiene mucho potencial...

viniendo de php y asp clásico, es el primer framework web de Java que me parece prometedor ....

Editar por pregunta original asker - 2011-06-09

Solo quería proporcionar una actualización.

Fui con Play y fue exactamente lo que pedí. Requiere muy poca configuración, y simplemente funciona de la caja. Es inusual ya que evita algunas de las mejores prácticas de Java comunes a favor de mantener las cosas lo más simples posible.

En particular, hace un uso intensivo de métodos estáticos, e incluso realiza una introspección sobre los nombres de las variables pasadas a los métodos, algo que la API de reflexión de Java no admite.

La actitud de Play es que su primer objetivo es ser un marco web útil, y apegarse a las mejores prácticas y expresiones idiomáticas comunes de Java es secundario. Este enfoque tiene sentido para mí, pero a los puristas de Java puede no gustarles, y estarían mejor con Apache Wicket .

En resumen, si desea construir una aplicación web con comodidad y simplicidad comparable a un marco como Ruby on Rails, pero en Java y con el beneficio de las herramientas de Java (por ejemplo, Eclipse), Play Framework es una gran opción.


No lo he usado. AppFuse está diseñado para facilitar la desagradable configuración que viene con Java Web Development.



Pensaría en seguir con JSP, servlets y JSTL. Después de más de 12 años lidiando con frameworks web en varias compañías con las que trabajé, siempre encuentro que mi yo vuelve al buen viejo JSP. Sí, hay algunas cosas que debe escribir usted mismo que algunos marcos de trabajo hacen automáticamente. Pero si lo enfocas correctamente y construyes utilidades básicas sobre tus servlets, te da la mejor flexibilidad y puedes hacer lo que quieras con facilidad. No encontré ventajas reales para escribir en ninguno de los marcos. Y sigo buscando.

Ver todas las respuestas anteriores también significa que no existe un marco real que sea bueno y que gobierne.


Prueba Apache Click

Es como Wicket, pero es mucho más productivo y fácil de aprender.


Puedes darle una oportunidad a JRapid . Usando el Diseño Dirigido por Dominio usted define su aplicación y genera la pila completa para su aplicación web. Utiliza marcos de código abierto conocidos y genera una interfaz de usuario muy agradable y lista para usar.


Rayas: bastante bueno. un libro sobre esto ha salido de programadores pragmáticos: http://www.pragprog.com/titles/fdstr/stripes . Sin XML Requiere Java 1.5 o posterior.

tapiz: he probado una versión antigua 3.x. Me dijeron que la versión actual 5.x está en Beta y es bastante buena.

Las rayas deberían ser mejores en términos de cuidar a maven, no xml y envolviendo rápidamente la cabeza.

BR,
~ A


Realmente no veo cuál es el problema con hacer que maven + eclipse funcione, siempre y cuando no tengas que cambiar mucho el pom.xml :)

La mayoría de los marcos que el usuario usa tienen maven arquetipos que pueden generar proyectos de stub.

Entonces, básicamente, los pasos deberían ser:

  1. Instalar maven
  2. Agregue la variable de ruta de clase M2_REPO a eclipse
  3. Generar proyecto con el arquetipo
  4. Importar proyecto a eclipse

En cuanto a Wicket, no hay ninguna razón por la que no puedas usarlo sin maven. Lo bueno de maven es que se ocupa de todas las dependencias para que no tengas que hacerlo. Por otro lado, si lo único que quieres hacer es prototipo de un par de páginas, Wicket puede ser excesivo. Pero, si su aplicación crece, eventualmente, los beneficios de Wicket se seguirían mostrando con cada formulario, enlace o página adicional :)


Recientemente encontré el AribaWeb Framework que parece muy prometedor. Ofrece una buena funcionalidad (incluso AJAX), buena documentación. escrito en Groovy / Java e incluso incluye un servidor Tomcat. Tratar de llegar a Spring realmente me hizo enojar.


También echa un vistazo a activeweb . es simple, liviano y hace uso de algunas otras cosas que me gustan (guice, maven ...). Sus controladores pueden servir cualquier cosa que desee, incluyendo json, Html, texto plano, pdfs, imágenes ... Puede hacer que los controladores sean tranquilos e incluso usar anotaciones para determinar qué métodos http (POST, GET, ...) acepta un método de controlador.



The Stripes Framework es un marco excelente. La única configuración involucrada es pegar algunas líneas en su web.xml.

Es un marco web de Java basado en solicitudes muy sencillo.


prueba Vaadin! ¡Muy simple y también podrás trabajar la interfaz de usuario con facilidad! www.vaadin.com


prueba Wavemaker http://wavemaker.com Gratis, fácil de usar. ¡La curva de aprendizaje para construir aplicaciones Java de gran atractivo con WaveMaker es solo de unas semanas!