martes, 24 de noviembre de 2009

Framework para desarrollo de aplicaciones? (high level frameworks)


¿Qué es un Framework de Desarrollo?

Framework, es una palabra muy en boga entre los desarrolladores. No obstante no estoy muy seguro que todos los que desarrollan puedan dar una definición concreta de lo que esta palabra significa.
Seguramente podrán esbozar un par de conceptos que podremos dar por válidos. Pero posiblemente también será incompleto. Y no está mal, dado que es una palabra muy amplia con muchas acepciones y connotaciones.

Si fuésemos a dar una definición tipo “diccionario”: podríamos decir que Framework es, independientemente de la tecnología empleada, el marco de trabajo o esquema arquitectónico bajo el cual se desarrolla y luego se ejecuta una aplicación de Software.

Cuando ese Framework cubre necesidades que van más allá de la infraestructura y del marco arquitectónico y aborda aspectos tales como la capa de presentación de una aplicación, estamos frente a un Hight Level Framework (generalemente se asocia a los High Level Frameworks también con el desarrollo rápido de aplicaciones, dado que hacen simple tareas de programación rutinaria ganando mucho tiempo).

Nota: lo de “High Level” no se trata de una categorización respecto al tipo de calidad que se obtenga, sino a la poca especialización que requerirá por parte de los desarrolladores para la realización de tareas rutinarias como: CRUD (Abm’s), Reportes y Procesos sencillos.
En próximas entregas seguramente vamos a ir cubriendo más aspectos de este tipo de Frameworks, así como también analizando pros y contras, centrándonos en tecnologías multicapas (potentes pero altamente complejas) como Microsoft .Net.

Como adelanto, hay muchos aspectos a considerar para lograr un buen marco de trabajo, no obstante los más importantes podríamos enumerarlos como:
  • Confiable: debe proveer todas las funcionalidades esperadas de una forma previsible y segura.
  • Completo: debe cubrir todos los aspectos estructurales necesarios para el desarrollo de una solución basada en este marco.
  • Robusto: debe estar depurado y manejar eficientemente los potenciales errores de ejecución.
  • Escalable: debe permitir ampliaciones de la funcionalidad ofrecida de una manera eficiente, manejando todos los aspectos de un diseño orientado a objetos (tales como herencia, polimorfismo y encapsulamiento).
  • Amigable: la interfaz con el usuario debe ser fácil de usar, eficiente y personalizable.
  • Documentado: debe proveer toda la documentación técnica, de programación, de instalación y mantenimiento, de usuario, necesaria para entender y utilizar esta tecnología.

En próximas entregas seguiremos analizando este y otros temas que hacen a la actualidad tecnológica del desarrollador.

Lic. Adrián Flols
Director Ejecutivo ItSouth Consultores
www.itsouth.com.ar


http://www.startpoint.com.ar/index.php/framework.html

No hay comentarios:

Publicar un comentario