02 febrero, 2009

JSINQ o Linq para Javascript

Linq es una propuesta de Microsoft para su .NET que facilita la especificación consultas o procesos de datos mediante un lenguaje sencillo (casi natural), que recuerda a SQL.

Wikipedia: LINQ define operadores de consulta estándar que permiten a lenguajes habilitados con LINQ filtrar, enumerar y crear proyecciones de varios tipos de colecciones usando la misma sintaxis. Tales colecciones pueden incluir arreglos, clases enumerables, XML, conjuntos de datos desde bases de datos relacionales y orígenes de datos de terceros.

Con el proyecto de Kai Jäger, es posible utilizar expresiones como la siguiente para realizar consultas que afectan a objetos Javascript:

from customer in $0
group customer by customer.lastname into g
select {lastname: g.getKey(), count: g.count()}
into r
orderby r.count descending
select r

traducible a grosso modo por:

de cliente en $0
agrupa cliente por cliente.apellido en g
selecciona {apellido:g.getKey(), cuenta:g.count() }
introducir en r
ordenar por r.cuenta descendente
seleccionar r

Como extra, el proyecto ofrece la posibilidad de compilar a Javascript las consultas de forma que se puedan utilizar directamente sin necesidad de parsearlas y ganando así en velocidad...



Entorno de prueba
.

Via Ajaxian.

Publicar un comentario en la entrada

Últimos links en indiza.com