Innovación

Ur/Web, un lenguaje para hacer el trabajo sucio del desarrollo web

code-459070_1280
Escrito por Marcos Merino

Hoy en día un sitio web es el resultado de la interacción de una serie de componentes, este nuevo lenguaje constituye una forma de coordinarlas automáticamente.

Una página web es, hoy en día, el resultado de la interacción de una serie de componentes (código XML, hojas de estilo CSS, consultas a bases de datos, funciones de Javascript, etc). Así, en algunos tipos de web, programar y hacer el seguimiento de dichas interacciones puede convertirse en una tarea que consuma mucho tiempo.

Pero ahora el nuevo lenguaje de programación presentado por el profesor de desarrollo de software del MIT Adam Chlipala puede ser una forma de cambiar eso: Ur/Web será un lenguaje que permita escribir apps web como programas autocontenidos. Así, su compilador (el programa que convierte las instrucciones de alto nivel en código ejecutable por máquina) genera automáticamente las especificaciones del código XML y de la hoja de estilo correspondientes, e incrusta el código Javascript y la base de datos en los lugares correctos.

Además de facilitar la escritura del código de las aplicaciones web, Ur/Web también las hace más seguras. Como explica Chlipala, “pongamos que quieres tener un widget de calendario en tu web, y vas a utilizar una biblioteca que éste te ofrece, y que en la misma página hay un anuncio basado en el código proporcionado por una red de display. Lo que no queremos es que la red de publicidad pueda cambiar la forma en que funciona el calendario, o que el autor del código de éste sea capaz de interferir con la entrega de los anuncios”. Por ello, Ur/Web prohíbe automáticamente cualquier acceso no autorizado entre elementos de la misma página.

Parte de la seguridad de este nuevo lenguaje deriva de una propiedad que comparte con la mayoría de los lenguajes de programación mayoritarios, como Java o C++: se trata de un lenguaje fuertemente tipado. Esto significa que cualquier nueva variable que un programador define en Ur/Web está restringida a un determinado tipo de datos, y que cualquier nueva función ha de definir sobre qué tipo de datos actúa y qué tipo de datos devuelve.

Además, la estructura de Ur/Web le permite ser inmune a los ataques de inyección de código, e impide que realice consultas SQL no válidas, que contenga enlaces internos ‘muertos’, que existan desajustes entre los formularios HTML y los campos esperados por sus manejadores, y otros errores y agujeros de seguridad comunes hasta ahora en la programación web.

Sobre el autor de este artículo

Marcos Merino

Marcos Merino es redactor freelance y consultor de marketing 2.0. Autodidacta, con experiencia en medios (prensa escrita y radio), y responsable de comunicación online en organizaciones sin ánimo de lucro.

  • johanna jaime chacon

    yo lo que digo es que la vida es la mejo soy johanna jaime y ya esta