stringtranslate.com

Aplicación web

Captura de pantalla de 2007 de Horde , una aplicación web de código abierto y software colaborativo

Una aplicación web (o aplicación web ) es un software de aplicación al que se accede mediante un navegador web . Las aplicaciones web se entregan en la World Wide Web a los usuarios con una conexión de red activa. [1]

La página única y la progresiva son dos enfoques para que un sitio web se parezca más a una aplicación nativa .

Historia

En modelos informáticos anteriores, como cliente-servidor, la carga de procesamiento de la aplicación se compartía entre el código del servidor y el código instalado localmente en cada cliente. En otras palabras, una aplicación tenía su propio programa cliente precompilado que servía como interfaz de usuario y debía instalarse por separado en la computadora personal de cada usuario . Una actualización del código del lado del servidor de la aplicación normalmente también requeriría una actualización del código del lado del cliente instalado en cada estación de trabajo del usuario, lo que aumenta el costo de soporte y disminuye la productividad . Además, tanto los componentes cliente como servidor de la aplicación generalmente estaban estrechamente vinculados a una arquitectura de computadora y un sistema operativo en particular y portarlos a otros era a menudo prohibitivamente costoso para todas las aplicaciones, excepto para las más grandes (hoy en día, [ ¿cuándo? ] aplicaciones nativas para dispositivos móviles ). Los dispositivos también se ven obstaculizados por algunos o todos los problemas anteriores). [ dudoso ]

En 1995, Netscape introdujo un lenguaje de programación del lado del cliente llamado JavaScript , que permitía a los programadores agregar algunos elementos dinámicos a la interfaz de usuario que se ejecutaba en el lado del cliente. Entonces, en lugar de enviar datos al servidor para generar una página web completa, los scripts integrados de la página descargada pueden realizar diversas tareas, como la validación de entradas o mostrar/ocultar partes de la página. [2]

En 1999, el concepto de "aplicación web" se introdujo en el lenguaje Java en la versión 2.2 de la especificación de servlet. [2.1?]. [3] [ se necesita fuente no primaria ] En ese momento, tanto JavaScript como XML ya se habían desarrollado, pero Ajax aún no se había acuñado y el objeto XMLHttpRequest se había introducido recientemente en Internet Explorer 5 como un objeto ActiveX . [ cita necesaria ]

Aplicaciones como Gmail comenzaron a hacer que sus clientes fueran cada vez más interactivos desde principios de la década de 2000. Un script de página web puede contactar al servidor para almacenar/recuperar datos sin descargar una página web completa. La práctica pasó a ser conocida como Ajax en 2005. [4]

" Aplicaciones web progresivas ", término acuñado por la diseñadora Frances Berriman y el ingeniero de Google Chrome Alex Russell en 2015, [5] se refiere a aplicaciones que aprovechan las nuevas funciones admitidas por los navegadores modernos, que inicialmente se ejecutan dentro de una pestaña del navegador web pero luego pueden ejecutarse. completamente fuera de línea y se puede iniciar sin ingresar la URL de la aplicación en el navegador.

Estructura

Las aplicaciones de PC tradicionales suelen ser de un solo nivel y residen únicamente en la máquina cliente. Por el contrario, las aplicaciones web facilitan inherentemente una arquitectura de varios niveles. [6] Aunque son posibles muchas variaciones, la estructura más común es la aplicación de tres niveles . [6] En su forma más común, los tres niveles se denominan presentación , aplicación y almacenamiento . Un navegador web es el primer nivel (presentación), un motor que utiliza alguna tecnología de contenido web dinámico (como ASP , CGI , ColdFusion , Dart , JSP/Java , Node.js , PHP , Python o Ruby on Rails ) es el nivel medio. (lógica de aplicación), y una base de datos es el tercer nivel (almacenamiento). [6] El navegador web envía solicitudes al nivel medio, que las atiende realizando consultas y actualizaciones en la base de datos y genera una interfaz de usuario.

Para aplicaciones más complejas, una solución de 3 niveles puede resultar insuficiente y puede resultar beneficioso utilizar un enfoque de n niveles, donde el mayor beneficio es dividir la lógica empresarial, que reside en el nivel de la aplicación, en una lógica más detallada. modelo. [6] Otro beneficio puede ser agregar un nivel de integración que separe el nivel de datos del resto de niveles al proporcionar una interfaz fácil de usar para acceder a los datos. [6] Por ejemplo, se accedería a los datos del cliente llamando a una función "list_clients()" en lugar de realizar una consulta SQL directamente en la tabla del cliente en la base de datos. Esto permite reemplazar la base de datos subyacente sin realizar ningún cambio en los otros niveles. [6]

Hay quienes ven una aplicación web como una arquitectura de dos niveles. Puede ser un cliente "inteligente" que realiza todo el trabajo y consulta un servidor "tonto", o un cliente "tonto" que depende de un servidor "inteligente". [6] El cliente manejaría el nivel de presentación, el servidor tendría la base de datos (nivel de almacenamiento) y la lógica de negocios (nivel de aplicación) estaría en uno de ellos o en ambos. [6] Si bien esto aumenta la escalabilidad de las aplicaciones y separa la visualización y la base de datos, todavía no permite una verdadera especialización de capas, por lo que la mayoría de las aplicaciones superarán este modelo. [6]

Seguridad

Las violaciones de seguridad en este tipo de aplicaciones son una preocupación importante porque pueden afectar tanto a información empresarial como a datos privados de clientes. La protección de estos activos es una parte importante de cualquier aplicación web y existen algunas áreas operativas clave que deben incluirse en el proceso de desarrollo. [7] Esto incluye procesos de autenticación, autorización, manejo de activos, entrada y registro y auditoría. Incorporar la seguridad a las aplicaciones desde el principio puede resultar más eficaz y menos disruptivo a largo plazo.

Desarrollo

La escritura de aplicaciones web se simplifica con el uso de marcos de aplicaciones web . Estos marcos facilitan el desarrollo rápido de aplicaciones al permitir que un equipo de desarrollo se centre en las partes de su aplicación que son exclusivas de sus objetivos sin tener que resolver problemas de desarrollo comunes, como la gestión de usuarios. [8] Muchos de los marcos en uso son software de código abierto .

Además, existe potencial para el desarrollo de aplicaciones sobre sistemas operativos de Internet , aunque actualmente no existen muchas plataformas viables que se ajusten a este modelo. [ cita necesaria ]

Ver también

Referencias

  1. ^ "¿Qué es una aplicación web?". stackpath.com . Ruta de pila. Archivado desde el original el 15 de agosto de 2022 . Consultado el 15 de agosto de 2022 . Una aplicación web es un programa informático que utiliza navegadores web y tecnología web para realizar tareas a través de Internet.
  2. ^ Liam Tung (15 de junio de 2020). "Eich, creador de JavaScript: mi visión de los 20 años del lenguaje de programación más importante del mundo". ZDNet . Archivado desde el original el 26 de septiembre de 2023 . Consultado el 18 de octubre de 2021 .
  3. ^ Davidson, James Duncan; Cobarde, Danny (17 de diciembre de 1999). Versión de especificación de servlet Java ("Especificación"): versión final 2.2. Microsistemas solares . págs. 43–46. Archivado desde el original el 7 de enero de 2010 . Consultado el 27 de julio de 2008 .
  4. ^ Jay Hoffmann (4 de marzo de 2019). "¿Qué significa AJAX?". Archivado desde el original el 18 de octubre de 2021 . Consultado el 18 de octubre de 2021 .
  5. ^ Russell, Alex. "Aplicaciones web progresivas: escapar de pestañas sin perder el alma". Archivado desde el original el 24 de marzo de 2021 . Consultado el 15 de junio de 2015 .
  6. ^ abcdefghi Petersen, Jeremy (4 de septiembre de 2008). "Beneficios de utilizar el enfoque de n niveles para aplicaciones web". Archivado desde el original el 1 de diciembre de 2017 . Consultado el 24 de noviembre de 2017 .
  7. ^ "Principales consejos para el desarrollo seguro de aplicaciones". Dell.com. Archivado desde el original el 22 de mayo de 2012 . Consultado el 22 de junio de 2012 .
  8. ^ Múltiples (wiki). "Marco de aplicaciones web". Docforge . Archivado desde el original el 2020-06-20 . Consultado el 6 de marzo de 2010 .

enlaces externos