El Framework

Lo que hace unos años era tecnología de punta y solo podía ser adquirido por algunos pocos, hoy se encuentra en el escritorio de cualquier casa de familia.
Esto es un hecho y una tendencia. Los precios bajan y la potencia de los ordenadores sube.
Ahora: qué pasaría si les dijera que los ordenadores que hoy poseen los usuarios de Internet están sub-utilizados.
Que pasaría si pudiéramos trasladar parte del procesamiento de los servidores web a esos ordenadores que están detrás de La Nube y que son cada vez mas poderosos.
Podríamos crear una Internet mucho mas equilibrada al tiempo que nuestras aplicaciones crecerían en posibilidades antes impensadas.
No soy el primero en darme cuenta de esto, y ya hay muchos que están haciendo algo para aprovechar esta potencia.
SilverLight es un ejemplo de esta tecnología que por cierto funcionan muy bien.
Lo que no me gusta mucho de este tipo de productos es la necesidad de bajar e instalar cada nueva versión y la dependencia que eso crea, tanto del lado del usuario como del desarrollador.
Otro producto creado en este sentido es AJAX Control ToolKit, con una idea que en principio me pareció muy buena, los UpdatePanel.
Si bien esta técnica funciona bien, al aplicarla en desarrollos con ancho de banda algo acotados, demostró ser muy poco flexible y cuando quise controlar la cantidad de bytes que viajaban por la red, me resulto imposible, la comunicación seguía siendo pesada.
Soy amante del código abierto. Creo que se pueden hacer cosas maravillosas y a la vez mantener los estándares.
Estoy siguiendo muy de cerca el crecimiento de HTML5 y creo que esta tecnología terminará desplazando a los productos del estilo que antes mencioné.

Basado en estas creencias es que surge la idea de crear este Framework.
Usaré principalmente HTML y Javascript en la operatoria del lado del cliente, y ASPX y VB para hacer mas fácil la programación del lado del servidor.
La filosofía en el desarrollo de este Framework podría definirse con la siguiente frase: Si hay una comunicación con el servidor… que no se note.
Usando estas herramientas deberíamos poder crear páginas que viajen una sola vez al cliente y, a partir de ese momento, continúen su funcionamiento accediendo al servidor de manera asincrónica.
De esta forma, la experiencia del usuario final de nuestra aplicación Web se aproximaría bastante a la de una una aplicación Windows.
Para lograr esto será importante la utilización métodos web y tecnología AJAX en nuestra página.
De esta manera se podrán recibir los datos del cliente e invocar las reglas de negocio necesarias para consultar o actualizar los datos en nuestra Base de Datos.
No me propongo realizar herramientas que tengan que ver con la obtención de datos en SQL, voy a suponer que quien use este Framework ya posee el tema resuelto. Solo me concentraré en el manejo de datos en el servidor web y el cliente.
Los componentes visuales de este Framework implementaran hojas estilo para que la presentación sea totalmente independiente de las funciones que ellos realicen.
Probaré todos los controles en los tres exploradores con mayor influencia en el mercado, Chrome, FireFox e Internet Explorer, y verificaré que todo funcione de la misma manera. (necesitaré algo de suerte en esta tarea).
Por último espero poder abstenerme del uso de variables de sesión, para desligarme del problema del mantenimiento de la misma, y el consecuente problema de caída de sesión y recarga de pagina.

Las ventajas que espero obtener con el uso de esta herramienta son:

-Que el usuario final obtenga una experiencia similar al uso de una aplicación Windows.
-Mayor velocidad en la operación de la aplicación.
-No caída de sesión.
-Control absoluto de los datos que viajan entre servidor web y cliente en ambos sentidos.
-Ahorro de ancho de banda.
-Ahorro de recursos de servidor Web.
-Ahorro de recursos en SQL Server.
-Facilidad y rapidez en el desarrollo/mantenimiento de aplicaciones.
-Estandarización en el desarrollo.
-Posibilidad de reutilizar código.
-Independencia de lo estilos visuales.
-Seguridad en el manejo de datos.
-Validación de datos en cliente y servidor.

Sin mas aspiraciones… me pongo manos a la obra. Esperando me acompañen en la experiencia y, si deciden usar el Franework, les sea útil.

Bruno

Anuncios

6 Respuestas a “El Framework

  1. Estimado, estaba leyendo tu blog muy interesante! Te Felicito. Que sigas así
    Con respecto a este framework, te comento unas cosas para que lo tengas en cuenta en futuras releases…
    – Implementar templates (podes ver algo del nuevo jsrender y jsview, que antes eran los jquery template)
    – Patron MVVM… mira algo del conocido knockoutjs (entre otros)
    – SPI: Single Page Interface

    Saludos.
    Jose
    blog: http://geeks.ms/blogs/fernandezja

    • Hola José:

      Muchas gracias por los elogios y las sugerencias.
      He visto los templates de jquery y están muy buenos. De toda manera lo que busco en mi Framework es que el desarrollador deba programar lo menos posible en javascript, por eso es uso esa forma de referenciar las columnas de una tabla que ves en los ejemplos del Formulario y la Grilla.
      Te prometo leer de que se trata esto de Patron MVVM, confieso que no lo conozco.
      Con respecto a SPI, sí, es definitivamente el objetivo por el cual fue desarrollado este Framework. Tengo una aplicación funcionando en toda la Argentina a través de una IP privada que funciona de esta manera. Los usuarios de ella cargan una sola vez la página por la mañana y la cierran al final del día. No hay PostBacks. Los controles se refrescan y muestran en todo momento los datos actualizados. Ellos venían de usar una aplicación Windows hecha en Foxpro que hacía lo mismo pero en forma local, y no hemos tenido ninguna queja de demoras o problemas en la atención.
      Saludos
      Bruno

  2. Excelente trabajo el que estas realizando con este framework, he leido tu blog y me parece muy valioso todos tus aportes los cuales tratare de implementar y aportar al desarrollo del mismo…. con esto veo que la brecha entre aplicaciones de escritorios y web ses muy minima…. gracias por este aporte…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s