Ventajas de usar Spring para desarrollar portales web

Spring es una de las herramientas más usadas para crear grandes portales web con Java. Sin embargo, a los programadores suele costarles trabajo usarla porque no entienden lo que hace (todo parece magia) ni conocen sus ventajas. Voy a explicarlo de forma sencilla:

  • Es fácil configurarlo

    Casi todo se puede configurar con archivos xml files, incluso opciones avanzadas como la conexión a base de datos, login con LDAP o indicar que acciones ejecutar cuando un usuario se conecta.

  • Integración con otras herramientas

    Al ser una herramienta tan usada han hecho adaptadores para muchas otras siendo fácil conectarlas. Gracias a esto se puede configurar en pocos pasos para que haga tests (JUnit), use las mismas librerías que el resto de proyectos (Maven), se conecte de forma sencilla a la base de datos (Hibernate), etc.

  • Código ordenado

    En lugar de tener código mezclado pone cada cosa en su sitio gracias al modelo MVC y a anotaciones especiales que permite separar el código en grupos como servicios or repositorios. Si lo comparamos con la fabricación de un coche sería como agrupar por un lado el motor y las piezas para que funcione (Controlador), por otro el depósito de gasolina y los tubos que la llevan al motor (Modelo) y en otro los asientos, chapa… (Vista)

  • Uso de anotationes

    Incluye muchas anotaciones que reducen el código para hacer acciones habituales. Por ejemplo, gracias @RequestMapping se indica que método va a manejar una url en vez de tener que definir un servlet y configurarlo en el archivo web.xml.

  • Fácil creación de objetos

    Hacen falta muchos objetos para arrancar una aplicación web (para conectar con la base de datos, …) y esto suele ser complejo (hay que tener en cuenta en que orden se crean, como se relacionan…). Spring se encarga de todo esto gracias a su sistema de inyección de dependencias, y nosotros sólo tenemos que darle los datos que necesita (usuario, contraseña, etc.).

  • Fácil programación de formularios

    Una de las tareas más tediosas suele ser coger los datos de los formularios, comprobar que están bien, recargar la página, mostrar errores… Spring se encarga de esto y es fácil definir etiquetas para ver si un campo está vacío, si un e-mail tiene un formato válido, etc.

  • Gestión de la navegación por la web

    En la mayoría de portales hay que realizar varios pasos para conseguir un resultado. Por ejemplo, para comprar un billete de avisón hay que indicar la fecha, seleccionar los asientos, dar los datos de pago… Spring WebFlow permite indicar en que estados puede estar el usuario y cómo pasa entre ellos, con lo que sólo hay que programar lo que ocurre en cada paso, como procesar el pago.

  • Estándar de programación

    Todas las aplicaciones hechas con Spring están estructuradas de la misma forma, con lo que un programador puede cambiar de proyecto o de empresa y estar a pleno rendimiento en pocos días.

Espero que con esto os haya quedado más claro lo que hace y os animéis a trabajar con ella.

Y recuerda que puedes suscribirte y recibir estos artículos: [mc4wp_form]

Rafael Borrego

Ingeniero informático especializado en startups y en ayudarles a crecer

Facebook Twitter LinkedIn 

2 pensamientos en “Ventajas de usar Spring para desarrollar portales web

  1. Puedes decirme el nombre de un e-book o libro en español que pueda adquirir para empezar con la tecnología de spring para web, yo he utilizado struts y todavía no he podido deducir bien las diferencias entre estas tecnologías, y también de que manera puedo ponerla en practica rápidamente. El libro o e-book que me proporcionas si es con ejemplos de tal manera que pueda salir programando desde ya mejor.

    Tu pagina es un éxito, gracias por las aportaciones, son muy interesantes.

    Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>