Archivos para octubre, 2008

Herramientas Ajax (Ajax Toolkit)

Posted in Programación with tags , on 16 octubre, 2008 by febrer

Llevo varios días buscando la manera de desarrollar un interface AJAX para mis desarrollos en ASP.NET. La respuesta directa sería ASP.NET AJAX …. pues no me convence. Es un gran producto, tiene una documentación genial, tutoriales, foros, etc, etc, pero hay dos cosas que no me gustan.

Primera, esta 100% pensado para desarrollos con los controles de ASP.NET. Es decir, si utilizas el grid de ASP.NET, genial, pero seguro que hay mas de uno que como yo, no utiliza los controles de ASP.NET, utiliza los suyos propios (generando el HTML manualmente).

La segunda pega es que el toolkit solo esta disponible para la versión 3.5 del framework. Este problema no es tan grave, ya que poco a poco, los proveedores de ISP, van actualizándose, pero el proveedor que yo utilizo, todavía no dispone de dicha versión.

Los productos que estoy barajando utilizar son:

Prototype
Dojo
Mochikit
Yahoo!
Google
JQuery

Dojo, es el producto que más me convence, ya que como Jquery, dispone de una programación basada en TAGS, que permiten añadir directamente nuevas funcionalidades a los controles HTML directamente. De esta manera la integración con mis desarrollos, debería ser muy rápida.

Este es un ejemplo de programación con Dojo (Grid):

    <table dojoType=”dojox.grid.DataGrid”
     region=”top” clientSort=”true” minSize=”20″ splitter=”true”
     jsId=”table”
     store=”mailStore” query=”{ type: ‘message’ }”
     onRowClick=”onMessageClick”
     style=”height: 150px; width: 100%;”>
     <thead>
      <tr>
       <th field=”sender” width=”10%”>Sender</th>
       <th field=”label” width=”80%”>Subject</th>
       <th field=”sent” width=”10%”>Date</th>
      </tr>
     </thead>
    </table>
    
    

Directamente al definir la tabla como “dojox.grid.DataGrid”, ya disponemos de un grid con ordenación de elementos, cambio de columnas, diseño, etc, etc.

Ejemplo de un desplegable (combo, con selección de elementos mientras escribes):

       <select dojoType=”dijit.form.ComboBox” id=”${id}_subject” hasDownArrow=”false” style=”width: 40em;”>
        <option></option>
        <option>progress meeting</option>
        <option>reports</option>
        <option>lunch</option>
        <option>vacation</option>
        <option>status meeting</option>
       </select>

 

Yahoo y Google, requieren un aprendizaje mucho mayor, y por lo que he visto no disponen de dicha funcionalidad. Evidentemente, utilizar productos de Google o Yahoo, ofrecen una mayor garantía, pero también valoro mucho la rápida integración. Lo que estoy buscando es no volverme loco con la programación en javascript.

Mi framework

Posted in Programación, Trabajos with tags , , on 9 octubre, 2008 by febrer

Bueno, al final me he decido a escribir algo. Tengo muy abandonado el blog, en este mes pasado solo he podido escribir un post. Desde que he empezado mi nueva etapa de trabajador por cuenta ajena, no tengo ni tiempo. Por supuesto tengo que seguir atendiendo a mis clientes, y eso también me lleva bastante tiempo. Mi mujer cualquier día me deja, y con razón.

En este post quería hablar del “mini” lenguaje que utilizo para la generación de portales. Este “mini” lenguaje, me permite crear páginas personales online, rápida y fácilmente.
Dispongo de unas 80 funciones que me permiten desde realizar operaciones matemáticas, acceso a base de datos, recuperación de variables globales, etc, etc.

Este es un fragmento del código que utilizo:

<!–
%frmInicio()%
%frmPaginacion(10)%
%frmTabla(productos,familia=%frmRequest(f)%)%
–>
<table>
 %frmRepetir()%
 <tr>
 <td>Nombre: </td> <td>%frmValor(nombre)%</td>
 <td>Categoría: </td> <td>%frmCombo(categoria)%</td>
 <td>Precio: </td> <td>%frmValor(precio)%</td>
 </tr>
 %finRepetir()%
</table>
%frmLinkAnterior()% / %frmLinkSiguiente()%

Con este código, lo que hago es crear una página con el contenido de la tabla “Productos”, con la condición de que los productos se selección en base a un parámetro pasado por GET. Se establece la paginación a 10 registros por página, y en el pie de página, se muestran los controles para paginar por las diferentes páginas.

Como todas las páginas de mis portales están almacenadas en base de datos, lo que hago es interpretar el contenido antes de mostrarlo en el navegador.

Como veréis, gracias a esta utilidad de mi framework, me permite la generación de aplicaciones rápidas y efectivas.

Se admiten sugerencias.