Inicio / Digital / Aprovechamiento de los lenguajes declarativos en el desarrollo de aplicaciones web

Aprovechamiento de los lenguajes declarativos en el desarrollo de aplicaciones web

Las aplicaciones web se han convertido en una parte omnipresente de nuestra vida cotidiana. Son fáciles de usar, pero difíciles de desarrollar. Los editores WYSIWYG, los creadores de formularios, los editores de mashups y las herramientas de creación de marcas facilitan el desarrollo de aplicaciones web. Sin embargo, las aplicaciones web más avanzadas requieren una programación del lado del servidor, que está más allá de las habilidades de los desarrolladores de usuarios finales. En este artículo, analizamos cómo los lenguajes declarativos pueden simplificar el desarrollo de aplicaciones web y capacitar a los usuarios finales como desarrolladores web. En primer lugar, identificamos nueve niveles de desarrollo de aplicaciones web para el usuario final, que van desde la simple personalización visual hasta la programación avanzada de tres niveles. A continuación, proponemos ampliar el nivel de presentación para dar soporte a todos los aspectos del desarrollo de aplicaciones web. Introducimos un marco unificado basado en XForms -llamado XFormsDB- que soporta el desarrollo de aplicaciones web tanto del lado del cliente como del lado del servidor. Además, hacemos una propuesta de extensión del lenguaje -llamada XFormsRTC- para añadir verdaderas capacidades de comunicación en tiempo real a XForms. También presentamos el Entorno de Desarrollo Integrado XFormsDB (XIDE), que ayuda a los usuarios finales a crear aplicaciones web altamente interactivas basadas en datos. XIDE es compatible con todos los niveles de desarrollo de aplicaciones web y, especialmente, promueve la transición de la creación de marcas y la programación de fragmentos a la programación en un lenguaje único y unificado.

Las aplicaciones web altamente interactivas basadas en datos -abreviadas como aplicaciones web en lo que sigue- suelen basarse en la llamada arquitectura de tres niveles [2]. El nivel de presentación (es decir, la interfaz de usuario) se define utilizando lenguajes HTML y CSS, y se complementa con numerosas incrustaciones de JavaScript para la lógica de la aplicación del lado del cliente. El nivel lógico (es decir, la lógica de la aplicación del lado del servidor) se basa en un lenguaje orientado a objetos (por ejemplo, Java o Ruby) o de scripting (por ejemplo, PHP) y utiliza formatos HTML, XML o JSON para la comunicación cliente-servidor. Por último, el nivel de datos (es decir, los datos de la aplicación) utiliza una biblioteca de mapeo relacional de objetos (ORM) o sentencias SQL para la gestión de datos.

Normalmente, las aplicaciones web contienen componentes imperativos (por ejemplo, Java y JavaScript) y declarativos (por ejemplo, HTML, CSS y SQL). Así, los desarrolladores web tienen que dominar varios lenguajes de programación y enfrentarse a sus diferencias conceptuales [39]. Una solución habitual es asignar a profesionales de niveles específicos (es decir, diseñadores web, ingenieros de software y expertos en bases de datos) el desarrollo de cada nivel.

Por otro lado, los usuarios finales también participan en el desarrollo de la web. Sin ayuda profesional, crean y editan aplicaciones web que les ayudan en sus actividades cotidianas [11]. El alcance de sus aplicaciones es muy amplio: los usuarios escriben en foros y wikis, crean mashups y encuestas, editan páginas de blog ricas en medios, crean páginas HTML básicas, etc. En lo sucesivo, el término desarrolladores de usuarios finales se refiere a los no profesionales, que realizan algún tipo de desarrollo web para apoyar sus actividades profesionales o de ocio.

Según una revisión reciente, falta soporte para el desarrollo completo de aplicaciones web: lógica de aplicación del lado del servidor y del lado del cliente, comunicación cliente-servidor e interacción. Otro estudio reciente muestra que la investigación se centra en el diseño basado en modelos o en cuestiones de implementación, existiendo una clara brecha entre ambos. En este trabajo, proponemos que se utilice un único modelo declarativo tanto en el lado del cliente (es decir, el nivel de presentación) como en el lado del servidor (es decir, los niveles de lógica y datos); incluyendo la comunicación e interacción cliente-servidor. El enfoque declarativo es beneficioso, ya que los desarrolladores de usuarios finales suelen tener cierta experiencia en el uso de lenguajes declarativos. Además, la seguridad de la aplicación mejora ya que, en general, cada tecnología es un compromiso más para la seguridad global de la aplicación.

Puede interesarte

Longbow Software Blog

Download –––––>>>     Download –––––>>>                 Longbow …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *