La programación del lado cliente
Los lenguajes de programación del lado cliente también se
utilizan para realizar proyectos con contenidos dinámicos, pero, a diferencia
de los lenguajes del lado servidor, no es el servidor el que ejecuta y
procesa los scripts, sino el cliente solicitante. Con esta finalidad, los
scripts se incluyen en el documento HTML o XHTML o se escribe en un archivo
separado que se enlaza al documento principal.
Cuando un usuario solicita una página web o una aplicación
web con un script de este tipo, el servidor web envía el documento HTML y el
script al navegador, quien lo ejecuta y presenta el resultado final. Asimismo,
los scripts del lado cliente contienen instrucciones concretas para el
navegador web al respecto de cómo ha de reaccionar a ciertas acciones
llevadas a cabo por el usuario como, por ejemplo, un clic en un botón
específico. A menudo, el cliente ha de establecer para ello otro contacto con
el servidor web.
Al ejecutarse en el navegador, el usuario puede ver el
código fuente, a diferencia de lo que ocurre con los scripts del lado servidor.
Como contrapartida, la interpretación de los scripts se basa en la suposición
de que el navegador web entiende el lenguaje de programación web
correspondiente. Como las ventanas emergentes y las herramientas de seguimiento
web también se basan en el lenguaje del lado cliente y estos scripts influyen
en los tiempos de carga, existen diversas extensiones para el navegador muy
populares que bloquean estos scripts.
El lenguaje del lado cliente más significativo es JavaScript,
desarrollado por Brendan Eich de Netscape (Netscape Communications
Corporation), empresa de software responsable de la creación del navegador
predecesor de Mozilla Netscape, y publicado en 1995 junto con la versión anterior
del navegador Navigator 2.0, aún con el nombre de LiveScript. Su uso se
extendió rápidamente, convirtiéndose pronto en el lenguaje de
programación web universal de todos los navegadores web relevantes e
incluso en el lenguaje estándar de reproducción de vídeos en Internet durante
muchos años como componente esencial de Shockwave Flash (SWF), el reproductor
de vídeos de Adobe. Sin embargo, debido a vulnerabilidades y a tecnologías más
modernas como HTML5,
aquellos vídeos y animaciones tan extendidos encuentran cada vez menos
aplicación. En los primeros tiempos de la web, Microsoft Silverlight y los
Applets de Java también eran muy populares.
En
teoría, cualquier lenguaje de programación web cabría utilizarse para programar
del lado cliente, aunque ello implicaría que los desarrolladores de todos los
navegadores más importantes deberían ponerse de acuerdo en soportarlos. No
obstante, también existen soluciones alternativas que permiten escribir del
lado cliente con otros lenguajes de programación web. Este es el caso de
transcompiladores o transpilers como CoffeeScript o TypeScript, que interpretan el código y lo
ejecutan como JavaScript
¿Programar
con lenguajes del lado servidor o del lado cliente?
El lugar donde se ejecutan los scripts tiene una gran
influencia en la estructura de los proyectos web. Cuantos más scripts se
trasladan al ámbito de responsabilidad del navegador, más ligera es la
página o la aplicación web para el servidor y, aunque esto significa
una descongestión importante para el servidor, puede acarrear un peor
rendimiento para el usuario. Por añadidura, los desarrolladores han de
enfrentarse a un alto grado de complejidad si apuestan
exclusivamente por un lenguaje del lado cliente como JavaScript, ya que en este
caso han de recrear muchos mecanismos propios de frameworks más potentes como
ASP.NET MVC. Y eso sin contar que, al usar lenguajes del lado cliente, se
espera que el navegador soporte el lenguaje utilizado con todas sus funciones y
de que el usuario no utilice extensiones de bloqueo.
En
consecuencia, para no cargar excesivamente ni a un lado ni al otro, lo idóneo
sería optar por una buena combinación de lenguajes del lado servidor y del lado
cliente y garantizar tiempos de carga razonables con medidas adicionales como
el cacheo de contenidos estáticos y la aplicación de tecnologías modernas como
AJAX, acrónimo de “Asynchronous JavaScript and XML” (JavaScript asíncrono y
XML). Este concepto se utiliza en desarrollo web para transferir datos de forma
asíncrona entre cliente y servidor, lo que significa que el servidor web puede
reaccionar a peticiones del lado cliente casi en tiempo real e intercambiar
información con el navegador sin tener que cargar la página por completo. Un
clásico ejemplo de la implementación de AJAX lo ilustran las sugerencias de
búsqueda de Google (Google Suggest), las propuestas que aparecen
automáticamente en el buscador Google al introducir un término.
Método del lado del cliente para el desarrollo
Web Experience
Factory ha añadido
soporte para una arquitectura web del lado del cliente, lo que permite el
desarrollo de aplicaciones web ligeras con un aspecto nativo enriquecido.
Aprovechando HTML, JavaScript y Dojo, las aplicaciones web del lado del cliente
precargan una página de agregador del servidor con diseños o marcadores de
posición para cada una de las páginas de aplicaciones individuales. Las
aplicaciones del lado del cliente de Web Experience Factory utilizan
solicitudes REST para realizar operaciones, obtener resultados JSON y, a
continuación, procesar y hacer la transición a páginas de aplicación de
clientes sin solicitudes de páginas HTML adicionales al servidor. Mientras que
toda la potencia y la flexibilidad del tiempo de ejecución del lado del
servidor de Web Experience Factory y la automatización sigan
estando disponibles, este nuevo soporte del lado del cliente proporciona a los
clientes y a los socios más potencia y flexibilidad para satisfacer los
requisitos y las expectativas del mercado para las plataformas de aplicaciones
web.
La
página inicial de una aplicación web del lado del cliente se carga desde el
servidor y, a continuación, las solicitudes siguientes se pueden limitar a
datos JSON que se utilizan para representar una vista actualizada en el
dispositivo del cliente. Esta técnica de desarrollo normalmente permite que se
realice al menos alguna lógica empresarial en el cliente, como por ejemplo el
flujo de aplicaciones o la validación del lado del cliente.
Algunas
de las ventajas de utilizar un enfoque del lado del cliente para desarrollar la
aplicación web son:
·
Asistentes de modelo de cliente para
una creación rápida de aplicaciones del lado del cliente basadas en operaciones
de servicio de datos.
·
De forma opcional aprovéchese del
Dojo Mobile Toolkit
·
Mejora en el rendimiento
·
Conjunto de constructores más
pequeño y simplificado
·
Escalabilidad
Cliente
El
cliente es el proceso que permite al usuario formular los requerimientos y
pasarlos al servidor, se le conoce con el término front-end.
El
Cliente normalmente maneja todas las funciones relacionadas con la manipulación
y despliegue de datos, por lo que están desarrollados sobre plataformas que
permiten construir interfaces gráficas de usuario (GUI), además de acceder a
los servicios distribuidos en cualquier parte de una red.
Las
funciones que lleva a cabo el proceso cliente se resumen en los siguientes
puntos:
Administrar
la interfaz de usuario.
Interactuar
con el usuario.
Procesar
la lógica de la aplicación y hacer validaciones locales.
Generar
requerimientos de bases de datos.
Recibir
resultados del servidor.
Formatear
resultados.
Arquitectura del lado del cliente
Una aplicación del
lado del cliente de Web Experience Factory:
·
Utiliza una única página de agregaor
(especificada en el constructor Aplicación de cliente) representada a partir
del servidor en el dispositivo. La página de agregador es la página que
contiene y en la que se insertan cada uno de los diseños de página de cliente
individuales y donde se carga el entorno de tiempo de ejecución de cliente
de Web Experience Factory.
·
Convierte llamadas REST al servidor
para realizar operaciones y, a continuación, procesa los datos de resultados de
JSON en las páginas del cliente, realizando transiciones de páginas dentro del
dispositivo del cliente en el tiempo de ejecución sin tener que solicitar
páginas de aplicaciones adicionales desde el servidor.
La
arquitectura básica para el desarrollo de la aplicación web del lado del
cliente de Web Experience Factory es generar y representar JSP
que utilizarán servicios HTML, JavaScript y REST donde el IU y los datos se
unen en el dispositivo del cliente.
No comments:
Post a Comment