2008-12-31 7 views
9

He hecho un montón de desarrollo web java utilizando jsps y servlets, y he encontrado que este enfoque es sencillo y flexible. Sin embargo, algunos de los fundamentos involucrados -como la administración de las conexiones de bases de datos- son bastante tediosos, y se necesita una gran cantidad de trabajo solo para que una nueva aplicación web despegue.¿Tiene sentido utilizar un marco para una aplicación web Java simple?

Por lo tanto, estoy considerando utilizar un framework por primera vez, pero mi impresión de frameworks es que se usan principalmente para grandes aplicaciones J2EE e implican una gran cantidad de configuraciones complejas. Lo que estoy buscando es algo simple que (después de la curva inicial de aprendizaje) me permita ponerme en funcionamiento con una nueva aplicación web lo más rápido posible.

Así que mi pregunta es: ¿tiene sentido utilizar un marco para una simple aplicación web de Java?

Tenga en cuenta que no estoy preguntando qué marco utilizar (si de hecho se recomienda un marco), como ya se ha pedido here.

Respuesta

7

Tiene mucho sentido.Mi equipo ha pasado la mayor parte de los últimos cinco años con nuestra pila de código abierto y no importa, y tenemos un proyecto de "semilla" (funciona como una aplicación) que usamos para crear todas las aplicaciones web nuevas. Incluso los dos buscadores simples del punto de vista de mantener la aplicación, se ve como cualquier otra aplicación, simplemente más pequeña.

El cortocircuito es que no obtendrás ningún retorno de la inversión en este momento, pero lo harás a medida que el proyecto evolucione y lo mantengas.

+0

Debes haber trabajado en mi proyecto también;) – branchgabriel

0

Yo diría usar uno, como dijiste, es bastante tedioso poner todo en marcha incluso para una simple aplicación web de Java. Si el marco te ayuda a hacer el trabajo más rápido y te brinda los servicios que necesitas, diría que tiene sentido.

2

Sí, tiene sentido. Las aplicaciones pueden crecer y cambiar y pueden requerir algo que un framework pueda proporcionar fácilmente en el futuro.

Por ejemplo, en mi lugar de trabajo tenemos una aplicación jsp/servlet simple. Necesita ser reescrito solo por lo que he explicado anteriormente. Si alguien se hubiera tomado el tiempo para obtener la configuración del framework, hoy estaríamos en mejor forma.

7

Sí, me gustaría utilizar un framework de desarrollo web por las siguientes razones:

  1. capacidades y controles de navegación aumentado. Aunque no los necesites, están ahí para que los uses en caso de necesitarlos en cualquier momento
  2. Como han indicado otros, las aplicaciones crecen con el tiempo y sentirás la necesidad del framework en algún momento en el futuro. Cuando necesite agregar páginas adicionales y navegación
  3. Funciones que le permiten conectarse a otros marcos como la seguridad y los marcos de acceso a BD. Spring es un excelente ejemplo en el mundo de Java. Nunca tendrá que usar Spring, pero se conecta muy bien con Struts, Spring MVC, Hibernate, Acegi, etc. Le ahorra la molestia de hacer todas las cañerías por su cuenta.
  4. Soporte !!! Los buenos marcos casi siempre tienen una comunidad vibrante para apoyarlos y formular y responder preguntas.

Puede parecer demasiado complicado al principio, pero definitivamente le ahorra mucho tiempo en el futuro

3

yo diría que realmente importa mucho el que marco le vayan a hacer. Algo como Spring MVC es bastante discreto en tu código y te permite ejecutar cosas existentes tal como están. Otros marcos tienen ideas mucho más específicas sobre cómo debe hacer las cosas.

2

Sí, tiene sentido. Sin embargo, implícita en su pregunta es que el marco equivocado (para usted) puede ser más doloroso de lo que vale, y eso es cierto. Hay un mundo de diferencia entre algunos framework J2EE pesado y algo ligero y alegre como los griales.

2

¿Cuál es la alternativa? ¿Rodar tu propio? ¿Incrustar toda la navegación y la lógica en los JSP?

Estoy de acuerdo con aquellos que dicen que un framework web lo vale. Hay literalmente cientos ahora (por ejemplo, Struts, JSF, Spring, Wicket, etc.). Elija uno que se adapte a usted.

2

Hay dos tipos de aplicaciones:

1) del tipo que tirar y nunca utilizar de nuevo, y por lo tanto no debe preocuparse por la modularidad, facilidad de mantenimiento y la claridad.

2) el tipo real.

A veces puede parecer que su aplicación nunca tenga que crecer, escalar o dar servicio a un conjunto de funciones/base de usuario mayor de lo que actualmente está planificando ... Le aseguro que esa percepción siempre es incorrecta.

Frameworks, específicamente cosas como Struts for MVC en Java, Spring for MVC y Dependency Injection, Hibernate for Object-Relational Modeling son todas herramientas extremadamente valiosas que conducen a la modularidad, facilidad de mantenimiento y claridad en su código. Por lo tanto, para responder a su pregunta original ... Sí, enfáticamente.

1

pero mi impresión de los marcos es que se usan principalmente para aplicaciones J2EE grandes e implican una gran cantidad de configuraciones complejas

No

necesariamente cierto. Los buenos frameworks están diseñados para escalar bien, de modo que lo llevarán de aplicaciones pequeñas a aplicaciones muy grandes. Muchos de los marcos actuales se están moviendo hacia la configuración cero por lo que los encontrará más fáciles y fáciles de usar.

Tiene razón en que se necesita un esfuerzo inicial para aprender el marco en sí mismo, pero esa inversión se amortiza en la primera aplicación que construye. Y meta frameworks como AppFuse hace que sea aún más fácil comenzar, ya que preconfigura los frameworks por usted.

1

Las estructuras tienen sentido para la mayoría de las aplicaciones. Puede ser necesario que construyas tu propio o adoptes algún otro marco. Las preguntas más importantes son la granularidad de sus estructuras de datos. Lo que quiero decir con esto es ¿necesita simplemente ingresar datos o necesita analizar, compilar y ejecutar código dinámico?

Si piensas en un marco que funciona como un indicador ya la izquierda hay un marco de trabajo listo ya listo de código abierto o cerrado ya la derecha está todo el marco personalizado y luego impone tu código encima del marco donde el nivel de complejidad aumenta a la derecha. Cuanto más a la derecha vaya, más esfuerzo tendrá con el trabajo de marco (IMO).

Sin embargo, también puede migrar lentamente del marco existente al marco personalizado.

También está la pregunta sobre su negocio. Si trabajas para una empresa que no analiza el software, ya que es una competencia básica, como un banco o un hospital, entonces necesitas calcular cuánto de un fotograma quieres construir.

En pocas palabras un marco de algún tipo siempre será útil.

8

Si no usa un marco web, generalmente terminará escribiendo uno, mal.

+2

Este es un muy buen punto, y he visto esto hecho. – MCS

+2

Aunque por otro lado si escribe uno usted mismo, generalmente es exactamente lo que necesita, ni más ni menos. – MCS

1

El uso de un marco puede agregar un poco de sobrecarga al desarrollo de su aplicación web debido a la curva de aprendizaje. Sin embargo, dependiendo del marco que elija, puede ser capaz de darse cuenta de los siguientes beneficios:

  1. Escalabilidad
  2. mantenibilidad
  3. división clara de su modelo (por ejemplo MVC)
  4. fuera de la -BOX componentes (SessionManagement, autenticación, etc.)
  5. plugins de terceros
  6. modularidad heredados del marco
  7. muchos otros.

Además, la curva de aprendizaje es un factor variable. Algunos marcos pueden ser más fáciles de aprender que otros dependiendo de tus habilidades.

2

No, no menos que:

  1. usted no tiene ninguna experiencia en java su equipo
  2. que está haciendo sólo un prototipo que debe estar listo en horas
  3. que Don 'Confíe en sus desarrolladores lo suficiente como para permitirles escribir su solicitud
  4. no planea dejar que sus desarrolladores aprendan y mejoren

peligro en el uso de marcos incluyen, pero no limitado a:

  1. obtendrá todos los defectos estructurales en la parte superior en su propia
  2. podrás incapaz de hacer estimaciones realistas hasta que conocimientos perfectamente el marco
  3. su equipo no va a aprender a programar un servidor web
  4. encontrará su equipo que pasa más y más tiempo en google en su lugar que resolver problemas escribiendo código.

La única cosa que es peor que la elección de un marco de código abierto es tener un equipo de I + D & separada de la empresa que debe crear el "gran empresa completa marco final".

1

Definitivamente tiene sentido considerar el uso de un marco de trabajo, aunque solo sea por una nueva área de conocimiento. Si tiene tiempo para invertir en el aprendizaje de un marco, entonces puede que encuentre a tiempo que es más fácil y más rápido usarlo para nuevos proyectos sin importar cuán simples sean.

Además, si pudiera votar por la publicación de SamBeran, entonces lo haría.Comenzar con un marco implicará varios momentos de "¡genial! ¡No necesito escribir todo ese texto repetitivo de nuevo!".

Cuestiones relacionadas