En la ingeniería de software
se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar
accediendo a un servidor web a través de Internet o de una intranet mediante un
navegador. En otras palabras, es una aplicación software que se codifica en un
lenguaje soportado por los navegadores web en la que se confía la ejecución al
navegador.
Las aplicaciones web son
populares debido a lo práctico del navegador web como cliente ligero, a la
independencia del sistema operativo, así como a la facilidad para actualizar y
mantener aplicaciones web sin distribuir e instalar software a miles de usuarios
potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en
línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones
web.
Es importante mencionar que
una página Web puede contener elementos que permiten una comunicación activa
entre el usuario y la información. Esto permite que el usuario acceda a los
datos de modo interactivo, gracias a que la página responderá a cada una de sus
acciones, como por ejemplo rellenar y enviar formularios, participar en juegos
diversos y acceder a gestores de base de datos de todo tipo.
Antecedentes:En
los primeros tiempos de la computación cliente-servidor, cada aplicación tenía
su propio programa cliente que servía como interfaz de usuario que tenía que
ser instalado por separado en cada ordenador personal de cada usuario. El
cliente realizaba peticiones a otro programa -el servidor- que le daba
respuesta. Una mejora en el servidor, como parte de la aplicación, requería
normalmente una mejora de los clientes instalados en cada ordenador personal,
añadiendo un coste de soporte técnico y disminuyendo la productividad.
A diferencia de lo anterior,
las aplicaciones web generan dinámicamente una serie de páginas en un formato
estándar, como HTML o XHTML, soportados por los navegadores web comunes. Se
utilizan lenguajes interpretados en el lado del cliente, directamente o a
través de plugins tales como JavaScript, Java, Flash, etc., para añadir
elementos dinámicos a la interfaz de usuario. Generalmente cada página web en
particular se envía al cliente como un documento estático, pero la secuencia de
páginas ofrece al usuario una experiencia interactiva. Durante la sesión, el
navegador web interpreta y muestra en pantalla las páginas, actuando como
cliente para cualquier aplicación web.
Interfaz:Las
interfaces web tienen ciertas limitaciones en las funcionalidades que se
ofrecen al usuario. Hay funcionalidades comunes en las aplicaciones de
escritorio como dibujar en la pantalla o arrastrar-y-soltar que no están
soportadas por las tecnologías web estándar. Los desarrolladores web
generalmente utilizan lenguajes interpretados (scripts) en el lado del cliente
para añadir más funcionalidades, especialmente para ofrecer una experiencia
interactiva que no requiera recargar la página cada vez (lo que suele resultar
molesto a los usuarios). Recientemente se han desarrollado tecnologías para
coordinar estos lenguajes con las tecnologías en el lado del servidor. Como
ejemplo, AJAX es una técnica de desarrollo web que usa una combinación de
varias tecnologías.
Consideraciones
técnicas:Una ventaja significativa es que las aplicaciones web
deberían funcionar igual independientemente de la versión del sistema operativo
instalado en el cliente. En vez de crear clientes para Windows, Mac OS X,
GNU/Linux y otros sistemas operativos, la aplicación web se escribe una vez y
se ejecuta igual en todas partes. Sin embargo, hay aplicaciones inconsistentes
escritas con HTML, CSS, DOM y otras especificaciones estándar para navegadores
web que pueden causar problemas en el desarrollo y soporte de estas
aplicaciones, principalmente debido a la falta de adhesión de los navegadores a
dichos estándares web (especialmente versiones de Internet Explorer anteriores
a la 7.0). Adicionalmente, la posibilidad de los usuarios de personalizar
muchas de las características de la interfaz (tamaño y color de fuentes, tipos
de fuentes, inhabilitar Javascript) puede interferir con la consistencia de la
aplicación web.
Ventajas
v Ahorra
tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar
ningún programa.
v No
hay problemas de compatibilidad: Basta tener un navegador actualizado para
poder utilizarlas.
v No
ocupan espacio en nuestro disco duro.
v Actualizaciones
inmediatas: Como el software lo gestiona el propio desarrollador, cuando nos
conectamos estamos usando siempre la última versión que haya lanzado.
v Consumo
de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra
en nuestro ordenador, muchas de las tareas que realiza el software no consumen
recursos nuestros porque se realizan desde otro ordenador.
v Multiplataforma:
Se pueden usar desde cualquier sistema operativo porque sólo es necesario tener
un navegador.
v Portables:
Es independiente del ordenador donde se utilice (un PC de sobremesa, un
portátil...) porque se accede a través de una página web (sólo es necesario
disponer de acceso a Internet). La reciente tendencia al acceso a las
aplicaciones web a través de teléfonos móviles requiere sin embargo un diseño
específico de los ficheros CSS para no dificultar el acceso de estos usuarios.
v La
disponibilidad suele ser alta porque el servicio se ofrece desde múltiples
localizaciones para asegurar la continuidad del mismo.
No hay comentarios:
Publicar un comentario