De por si cuando se escucha de alguno de ellos ya sea del lado del cliente o servidor encontramos que tienen dentro de sus funciones acortar de algún modo todas las tareas repetitivas y tediosas de la forma mas general posible algunos tan robustos y complejos que dan miedo, de por si en la Web podemos encontrar varios tipos de estos, algunos para tecnologías del lado del cliente como por ejemplo (Jquery, prototype) para JavaScript o (Blueprint) para CSS, así como otros del lado del servidor como ( Django) para Python , (Symphony) para PHP, entre otros muchos, que podemos listar con tan solo buscar en Google.
El objetivo real de este post es el de listar algunas pequeñas descripciones generalizadas que ayudaran a saber cuales son las virtudes de los frameworks del lado del servidor.
1. Mapeo Objeto relacional y API para el manejo de datos: estas características, desde mi punto de vista son unas de las mas importantes a la hora de seleccionar un Framework, en teoría el desarrollo de un sitio Web tiene de por si un fuerte desarrollo basado en la persistencia y manipulación de la información contenida en dicho sitio y se sabe de antemano que esta información debe ser actualizada o aumentada constante mente en la mayoría de los sitios modernos, por esta razón, muy seguramente al desarrollar una de estos se necesite la implementación de un modelo de datos que soporte toda esta estructura. así mismo el 80% de las veces cuando se habla de ER también se tiene en cuenta como parte del desarrollo la implementación de un entramado de clases (OOP), que ayuden a dar el soporte dinámico de la información fuera de la base de datos, esto conduce en muchas ocasiones a perder tiempo valioso en la creación de ambos modelos aparentemente similares, para tener el sistema completo, Por el contrario, al tener un Framework que soporte Mapeo Objeto Relacional, se cuanta con un mecanismo en el que solo basta con definir cada uno de los objetos y sus relaciones entre si, para tener un control completo de este tanto en la forma de manipular la información dinámicamente, como en su persistencia, encargándose este de todo el proceso de inserción, actualización y eliminación; todo esto transparente para el programador basado en una API de manejo de datos suministrada por el Framework.
Otra de las grandes ventajas es que gracias a que se suministra esta API para el manejo de la info., se podría cambiar perfectamente el motor de base de datos de MySQL a posgrest con solo cambiar 3 líneas en un archivo de configuración, y todo el desarrollo queda intacto.
2. implementación del patrón de diseño MVC (Modelo, Vista, Control):
Tener separa la presentación de la lógica del negocio, es una característica que debe cumplir cualquier tipo de desarrollo Web, así que un Framework que se respete debe soportar MVC y de hecho estar constituido para implementarlo al 100%, puesto que cada una de las partes que lo componen separan el código según su utilidad.
Modelo: los modelos son la base de la inteligencia del negocio, en esto se encuentran todos los objetos definidos en el diagrama de clases del sitio Web, como, también todas las herramientas que me permitan procesar la información contenida en el.
Control: se encarga de brindar los mecanismos necesarios para que el modelo pueda ser manipulado correctamente con respecto a la extracción de información por parte de las vistas, en este caso podrían ser desde simples funciones que ejecuten llamados a objetos del modelo, hasta sofisticados Web Services.
Vistas: son las interfaces que desplegaran la información al usuario final, tan especializadas o simples como se requiera, por ejemplo una pagina Web, o una vista acondicionada para verse en dispositivos móviles, o para responder en consola.
De por si, con esta característica, tenemos la opción de cambiar todo el estilo de un sitio Web sin tocar un solo ladrillo de toda la lógica y manipulación del sistema, adaptándolo fácilmente a nuevas tecnologías.
3. Urls Amigables:
Esas Urls que tenían que ver con la forma como estaban organizadas las carpetas en el servidor, mas una cantidad de garabatos al momento de enviar variables por post pasaron a la historia, y es que de por si eran nombres que no decían nada, por ejemplo un sitio Web que maneje usuarios para la publicación de artículos podría tener una URL como esta para entrar a un post:
HTTP://WWW.SITIOX.COM/?txtusrId=851031&txtpostId=98754
que no trae mucha información al respecto de lo que se va a mostrar, por el contrario una URL amigable seria
HTTP://WWW.SITIOX.COM/BLOG/851031/POST/CONSTITUCION_Y_DEMOCRACIA_COLOMBIANA
CONCLUSION:
El uso de un Framework para la implementación de proyectos Web, disminuirá el tiempo de desarrollo considerablemente, ayudando, a los desarrolladores a prestarle mas atención a aspectos mas relevantes a la lógica del negocio, que ha como voy a enviar los datos o como creo el modulo de administración, y esto se vera reflejado, en la entrega de trabajos de mayor calidad y ayudara posteriormente a facilitar los procesos de mantenimiento del software desarrollado.