Pregunta

Pronto voy a tener que empezar un proyecto web para una empresa, y ahora tiene que elegir una tecnología para construir la aplicación. Estoy pensando en el uso de Java, por lo tanto, me gustaría encontrar un marco que me ayudará a construir la aplicación (estoy acostumbrado a framework PHP como CakePHP y CodeIgniter).

Lo que no entiendo es que parece existir una gran cantidad de marco y las tecnologías que no tienen el mismo objetivo. marco de acción, el marco de componentes ... ¿qué puedo hacer con una sola no puedo hacerlo con otro? Parece una aplicación web Java debe ser desarrollada mediante la mezcla de una gran cantidad de diferentes tecnologías, por lo tanto, estoy un poco perdido ... He echado un vistazo a diferentes marcos de Java, como JSF, rayas, Struts2, tapicería, Wicket y primavera. Acerca de la tarde, no me tranquilizo ver cuáles son las diferentes partes de este marco, ¿qué puede hacer por mí y lo que no se puede. Lo que puedo tomar de la primavera y lo que no necesito ...

Por lo tanto: ¿qué necesito para construir una aplicación Java Web?

Ya he utilizado para una aplicación JSF CRUD básica, pero estoy tratando de encontrar algo que se adapte mejor puede mi necesidad. La aplicación, tendremos que construir será a la vez una plataforma de la comunidad, así como un sitio comercial, con datas más sensibles para proteger:)

Sobre el ORM, supongo que voy a ir con Hibernate ... También he oído hablar de Maven o Ant, de qué manera pueden ayudarme?

Cualquier consejo / directriz sería muy apreciada :-) Gracias de antemano.

Edit: lo que mis necesidades son: un marco de Java que es:

  • bien documentado / fácil obtener ayuda / lo más fácil posible ...
  • entre más de java, mejor
  • Ajax amigable / Instalaciones para construir interfaz de usuario agradable ...
  • La internacionalización
  • Siendo aún estudiante, capacidad de venta de Habilidades materia podría ...

La aplicación de ser de construcción es tanto un

  • Sitio de la comunidad: la web 2.0 y ABM
  • sitio
  • El comercio electrónico

especificaciones completas no han terminado todavía.

¿Fue útil?

Solución

Esta es una pregunta muy difícil de responder, después de haber estado en su situación recientemente voy a tratar de dar una idea. Básicamente, con Java hay un montón de elección para los marcos y nadie le puede decir cuál es el mejor ajuste para usted, lo que podemos hacer es darle un desglose de algunas de las tecnologías.

Lo que sigue es lo que he encontrado en la búsqueda de las mismas respuestas que desea.

Java tiene un montón de tecnologías que intentan proporcionar una solución full-stack. Estas tecnologías pueden ser divididas en otras tecnologías, pero funcionan bien cuando se utilizan juntos.

Básicamente, hay 3 niveles para aplicaciones web, la presentación, negocios y nivel de datos. La capa de presentación es la parte delantera, lo que el usuario ve. En general, usted puede mezclar y tecnologías de concordancia para estas tres capas. Por ejemplo, podría utilizar un rayas front-end con el marco de Primavera de COI y Hibernate como su ORM.

Hay muchos grandes tecnologías que se pueden utilizar para la capa de presentación, incluyendo Primavera-MVC, Struts, rayas, Wicket, JSF / SEAM y la tapicería entre unos pocos. La mayoría de estos utilizan un JSP para la vista utilizando JSTL, con la excepción de que en realidad wicket separa completo el código HTML de la lógica mediante el uso de "componentes" Java (POJOs). Hay ventajas y desventajas de ambos enfoques. La ventaja del enfoque de ventanilla es que tiene verificación de tipos estáticos y una separación completa de la html para que pueda entregar apagado a su diseñador.

Para la capa de negocios en general personas utilizan algún tipo de inversión del marco de control (COI) para la inyección de dependencias (DI). Los marcos son populares para el COI primavera y costura, estos han asociado tecnologías como la Primavera-seguridad y en general están apoyados por las otras tecnologías. Google Guice parece ser popular para un marco DI recta.

Por último, para la capa de datos de la mayoría de la gente tiende a usar Hibernate o JPA. Hay otros, pero no tengo ninguna experiencia con ellos y no pueden ofrecer más información.

Tapiz es otro marco que pretende ser una pila completa de lo que entiendo y toma como un portillo (o supongo peatonal incorporada lleva un tapiz similar) enfoque. Grails es otro completo framework usando Groovy y construido en la cima de la primavera y de hibernación. Si te gusta Rails, Grails es bastante bueno.

La mayoría de estas tecnologías tienen una gran cantidad de información disponible y listas de correo / salas de chat IRC muy activos. Lo que hay que hacer es echar un vistazo a ellos y luego decidir qué método es el más adecuado para usted. Aquí nadie es capaz de decirle lo que le va a gustar.

Si quieres una recomendación, me gustaría que algún día utilizar un portillo / Guice / Hibernate pila.

Otros consejos

Mi favorito es sin duda la primavera. El nuevo Spring MVC 2.5 es fácil y rápido de instalar, un montón de anotaciones para ayudar a cablear los controladores de forma declarativa, que le ahorra un montón de escribir. También se integra con el contenedor de primavera, que es sin duda mi ligero contenedor de reemplazo J2EE favorito. Por lo general combino con SpringMVC JSPs, pero hay un montón de otros técnicos de vista para elegir. Por lo general el uso de persistencia Hibernate. Valdría la pena echar un vistazo a Spring Roo que es algo así como Grails sin maravilloso. Spring Security ofrece una manera declarativa agradable y fácil de hacer seguridad y se integra en un montón de tecnologías de autenticación.

Maven y hormigas son a la vez construir herramientas mientras experto también se ocupa de las dependencias para usted. "Sólo" configurar descriptores que describen las bibliotecas que desee y los requisitos de versión, y Maven descargar todas las bibliotecas y sus dependencias para usted. Que le obliga a seguir un cierto diseño del proyecto, sin embargo. Para las hormigas que hay hiedra que se hace dependencias.

Yo sugeriría que echar un vistazo a Griales . Grails es un framework de aplicaciones web "codificación por convención" construir sobre una pila de marcos de Java probadas (Spring, Hibernate, ...) y utilizando el idioma maravilloso ..

La belleza de Grails es que se necesita poco conocimiento de Spring, Hibernate, etc, para empezar. Pero después aún tiene acceso a toda la potencia de estos marcos de ser necesario.

Definitivamente utilizar resorte por el extremo posterior; hay una excelente comunidad en su foro de soporte gratuito (también se puede pagar por el soporte más formal).

En cuanto a su decisión de utilizar Hibernate, es posible que desee codificar en contra de la APP con el fin de desacoplar la aplicación de Hibernate (que es una de varias implementaciones de JPA).

Si desea un front-end Ajax, vale la pena echar un vistazo a la href="http://www.zkoss.org/" rel="nofollow noreferrer"> ZK marco ; it'svery fácil de usar sin tener que aprender JavaScript, y evita tener que utilizar las bibliotecas de plomería como DWR.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top