studio programacion para libros libro edición desarrollo desarrollar aprende aplicaciones java jsp servlets frameworks web-applications

programacion - ¿Tiene sentido usar un marco para una simple aplicación web java?



manual de programacion android pdf (14)

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 buena cantidad de trabajo solo para que una nueva aplicación web despegue.

Por lo tanto, estoy considerando utilizar un framework por primera vez, pero mi impresión de frameworks es que se usan principalmente para aplicaciones J2EE grandes 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.

Entonces mi pregunta es: ¿tiene sentido usar un marco para una simple aplicación web java?

Tenga en cuenta que no estoy preguntando qué marco usar (si es que se recomienda un marco), como ya se ha preguntado aquí .


pero mi impresión de frameworks es que se usan principalmente para grandes aplicaciones J2EE e involucran 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.


¿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 marco web lo vale. Hay literalmente cientos ahora (p. Ej., Struts, JSF, Spring, Wicket, etc.). Elija uno que se adapte a usted.


Definitivamente tiene sentido considerar el uso de un marco de trabajo, aunque solo sea por el hecho de que le proporcionará 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, lo haría. Comenzar con un marco implicará varios momentos de "¡genial! ¡No necesito escribir todo ese texto repetitivo de nuevo!".


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

  1. Escalabilidad
  2. Mantenibilidad
  3. División clara de su modelo (por ejemplo, MVC)
  4. Componentes listos para usar (gestión de sesión, autenticación, etc.)
  5. Complementos de terceros
  6. Modularidad heredada 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.


Hay dos tipos de aplicaciones:

1) del tipo que tiras y nunca vuelves a usar, y por lo tanto no debes preocuparte por la modularidad, facilidad de mantenimiento y claridad.

2) el verdadero tipo.

A veces puede parecer que su aplicación nunca tenga que crecer, escalar o dar servicio a un conjunto de características / base de usuarios más grande de lo que actualmente está planificando ... Le aseguro que esa percepción siempre es incorrecta.

Los marcos, 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.


Los marcos 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 que un marco funciona como indicador y hacia la izquierda es un trabajo de cuadro abierto listo para abrir o cerrado ya la derecha está todo el marco personalizado, entonces súper impone tu código sobre ese 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 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.


No, no a menos que:

  1. no tienes experiencia java en tu equipo
  2. estás haciendo solo un prototipo que debe estar listo en horas
  3. no confías lo suficiente en tus desarrolladores para dejarles escribir tu aplicación
  4. no planea dejar que sus desarrolladores aprendan y mejoren

El peligro en el uso de marcos incluye pero no se limita a:

  1. obtendrá todos los defectos del marco por su cuenta
  2. no podrá hacer estimaciones realistas hasta que sepa perfectamente el marco
  3. su equipo no aprenderá cómo programar un servidor web
  4. encontrará que su equipo pasa cada vez más tiempo en google resolviendo problemas escribiendo código.

Lo peor es que la elección de un marco de código abierto es tener un equipo de I + D por separado en la empresa que debe crear el "marco completo de la empresa más grande y completo".


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.


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.


Sí, usaría un marco web por las siguientes razones:

  1. Mayor capacidad de navegación y control. Aunque no los necesites, están ahí para que los uses si los necesitas en cualquier momento
  2. Como otros han indicado, las aplicaciones crecen con el tiempo y usted sentirá la necesidad del framework en algún momento en el futuro. Cuando necesita 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 bases de datos. 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. ¡¡¡Apoyo!!! Los buenos marcos casi siempre tienen una comunidad vibrante para apoyarlos y formular y responder preguntas.

Puede parecer demasiado molestia inicialmente, pero definitivamente le ahorrará mucho tiempo en el futuro


Si no usas un marco web, generalmente terminarás escribiendo uno: mal.


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.


Yo diría que en realidad importa mucho el marco que busques. 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.


Yo diría usar uno, como dijiste, es bastante tedioso poner en marcha y ejecutar incluso 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.