Aplicación Web

Ir a: navegación, búsqueda de
Horda groupware es un abrir-fuente aplicación de la Web.

En informática, un aplicación Web o aplicación Web es un cliente – servidor aplicación de software en que el cliente (o interfaz) funciona en una navegador web.[1] Aplicaciones web comunes incluyen Webmail, ventas por menor en línea, subastas en línea, wikis, servicios de mensajería instantánea y muchas otras funciones.

Contenido

  • 1 Definición y términos similares
    • 1.1 Aplicaciones web móviles
  • 2 Historia
  • 3 Interfaz de
  • 4 Estructura
  • 5 Uso empresarial
  • 6 Aplicaciones de la web de escritura
  • 7 Aplicaciones
  • 8 Véase también
  • 9 Referencias
  • 10 Acoplamientos externos

Definición y términos similares

La distinción general entre un Página web dinámica de cualquier tipo y una "aplicación web" es confuso. Sitios web más probables ser referido como "aplicaciones web" son los que tienen una funcionalidad similar a una aplicación de software de escritorio, o a un aplicación móvil. HTML5 introdujo el soporte de un lenguaje explícito para hacer aplicaciones que se cargan como páginas web, pero pueden almacenar datos localmente y seguir a la función offline.

Aplicaciones de una página son más de tipo aplicación porque rechazan el paradigma de web más típico de movimiento entre las distintas páginas con URLs diferentes. Marcos de una página como Sencha Touch y AngularJS podría utilizarse para acelerar el desarrollo de una aplicación de web para una plataforma móvil.

Aplicaciones web móviles

Hay varias maneras de dirigidas a dispositivos móviles haciendo una aplicación web:

  • Diseño web responsivo puede ser utilizado para hacer una aplicación web - un sitio web convencional o una aplicación de una página visible en pantallas pequeñas y funcionan bien con pantallas táctiles.
  • Aplicaciones nativas o "aplicaciones móviles" ejecutan directamente en un dispositivo móvil, así como un software convencional aplicación funciona directamente en una computadora de escritorio, sin un navegador web (y posiblemente sin necesidad de conexión a Internet); Estos normalmente están escritos en Java (para dispositivos Android) o Objetivo C o SWIFT (para dispositivos iOS). Recientemente, como marcos Reacción nativa y Alboroto permitir el desarrollo de aplicaciones nativas para ambas plataformas con idiomas que no sean los idiomas estándar.
  • Aplicaciones híbridas integrar un sitio web móvil dentro de una aplicación nativa, posiblemente utilizando un marco híbrido como Cordova de Apache y Jónico o Appcelerator Titanium. Esto permite el desarrollo utilizando tecnologías web (y posiblemente directamente copiar el código de un sitio web móvil) conservando también ciertas ventajas de aplicaciones nativas (por ejemplo acceso al hardware del dispositivo, operación fuera de línea, tienda App visibilidad).
Más información: Marco de aplicación web de teléfono múltiples

Historia

En anteriores modelos como cliente – servidor de computación, la carga de procesamiento de la aplicación fue compartida entre el código en el servidor y el código instalado en cada cliente localmente. En otras palabras, una aplicación tuvo su propio programa cliente pre-compilados que sirvió como su interfaz de usuario y tuvo que ser instalado por separado en cada usuario ordenador personal. Una actualización para el código del lado del servidor de la aplicación normalmente requeriría también una actualización al código cliente instalado en cada estación de trabajo de usuario, agregar a la apoyo costo y la disminución de productividad. Además, los componentes cliente y servidor de la aplicación generalmente bien estuvieron limitados a un determinado arquitectura de computadores y Sistema operativo y portar para otros era a menudo prohibitivo para todos pero las aplicaciones más grandes. (Hoy, por supuesto, aplicaciones nativas para los dispositivos móviles son también maniatada por todas o algunas de las cuestiones anteriores.)

En cambio, usan de aplicaciones web documentos en la web escrito en un formato estándar como HTML y JavaScript, que son compatibles con una variedad de navegadores web. Aplicaciones Web pueden ser consideradas como una variante específica del software de cliente – servidor, donde el software de cliente se descarga en el equipo cliente cuando visita la página web correspondiente, empleando los procedimientos estándar tales como HTTP. Actualizaciones de software de cliente web pueden ocurrir cada vez que se visita la página web. Durante la sesión, el navegador web interpreta y muestra las páginas y actúa como el universal cliente para cualquier aplicación web.

En los primeros días de la Web cada página web individual fue entregado al cliente como un documento estático, pero la secuencia de páginas todavía podría proporcionar una experiencia interactiva, como entrada de usuario volvió a través de la web forma elementos embebidos en el marcado de la página. Sin embargo, cada cambio significativo a la página web requiere una ida y vuelta al servidor para actualizar la página entera.

En 1995 Netscape introdujo una scripting de lado del cliente lenguaje llamado JavaScript permitiendo que los programadores agregar algunos elementos dinámicos a la interfaz de usuario funcionó en el lado del cliente. Así que en lugar de enviar datos al servidor para generar una página web entera, las secuencias de comandos incrustadas de la página descargada pueden realizar diversas tareas como la validación de la entrada o mostrar/ocultar partes de la página.

En 1996, Macromedia introducido Flash, un animación vectorial jugador que se podría añadir a los navegadores como una plug-in incrustar animaciones en las páginas web. Permitido el uso de un lenguaje de script a las interacciones del programa en el cliente sin necesidad de comunicarse con el servidor.

En 1999, se introdujo el concepto de "aplicación web" en el lenguaje Java en el Servlet especificación versión 2.2. [2.1?].[2][3] En aquel momento ambos JavaScript y XML ya había sido desarrollada, pero Ajax aún no había sido acuñado y el XMLHttpRequest objeto sólo había sido recientemente introducido en Internet Explorer 5 como un objeto ActiveX.[4]

En 2005, el término Ajax fue acuñado, y aplicaciones como Gmail comenzó a hacer a su cliente lados más interactivo. Un script de la página web es capaz de conectarse con el servidor para almacenar/recuperar los datos sin necesidad de descargar una página web entera.

En 2011, HTML5 finalizó, que proporciona capacidades de gráficos y multimedias sin la necesidad del cliente lado plug-pulg HTML5 también enriqueció el contenido semántico de documentos. Las API y modelo de objetos de documento (DOM) ya no son ideas, pero son partes fundamentales de la especificación de HTML5. WebGL API de allanó el camino para gráficos 3D avanzados basados en HTML5 canvas y JavaScript lenguaje. Estos tienen una importancia significativa en la creación verdaderamente plataforma y navegador independiente aplicaciones web ricas.

Interfaz de

A través de Java, JavaScript, DHTML, Flash, Silverlight y otras tecnologías, métodos de aplicación específicos como dibujo en la pantalla, reproducir audio y acceso al teclado y el ratón son todos posibles. Muchos servicios han trabajado para combinar todo esto en una interfaz más familiar que adopta la apariencia de un sistema operativo. Técnicas de uso general tales como arrastrar y soltar también son compatibles con estas tecnologías. Los desarrolladores web suelen ser secuencias de comandos de cliente para agregar funcionalidad, especialmente para crear una experiencia interactiva que no requiera recargar la página. Recientemente, se han desarrollado tecnologías para coordinar cliente-lado scripting con tecnologías de servidor como ASP.NET, J2EE, Placa de Perl y PHP.

Ajax, una técnica de desarrollo web utilizando una combinación de diversas tecnologías, es un ejemplo de tecnología que crea una experiencia más interactiva.

Estructura

Aplicaciones generalmente se dividen en trozos lógicas llamados "escalonado", donde cada nivel se le asigna un papel.[5] Las aplicaciones tradicionales consisten solamente en 1 nivel, que reside en el equipo cliente, pero aplicaciones web se prestan a un enfoque de niveles n por naturaleza.[5] Aunque muchas variaciones son posibles, la estructura más común es la tres niveles aplicación.[5] En su forma más común, se llaman los tres niveles Presentación, aplicación y almacenamiento de información, en este orden. Un navegador web es el primer nivel (presentación), un motor con una tecnología de contenido Web dinámica (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).[5] El navegador web envía peticiones al nivel medio, que servicios haciendo consultas y actualizaciones de la base de datos y genera una interfaz de usuario.

Para aplicaciones más complejas, una solución 3-tier puede caer corto, y puede ser beneficioso utilizar un enfoque de niveles de n, donde el mayor beneficio es romper la lógica de negocio, que se encuentra en el nivel de aplicación, en un modelo de grano más fino.[5] Otro beneficio puede Agregar un nivel de integración que separa la capa de datos del resto de niveles al proporcionar una interfaz fácil de usar para acceder a los datos.[5] Por ejemplo, los datos del cliente acceder llamando a una función de "list_clients()" en vez de hacer una consulta SQL directamente en la tabla cliente en la base de datos. Esto permite que la base de datos subyacente sustituir sin necesidad de realizar cualquier cambio en los otros niveles.[5]

Hay quien ve una aplicación web como una arquitectura de dos niveles. Esto puede ser un cliente "smart" que realiza todas las consultas y trabajo un servidor "tonto", o un cliente "tonto" que se basa en un servidor "inteligente".[5] El cliente ocuparía el nivel de presentación, el servidor tendría la base de datos (nivel de almacenamiento), y la lógica de negocio (nivel de aplicación) sería en uno de ellos o en ambos.[5] Mientras que esto aumenta la escalabilidad de las aplicaciones y separa la pantalla y la base de datos, todavía no permite verdadera especialización de capas, por lo que la mayoría de las aplicaciones se superan con el tiempo este modelo.[5]

Uso empresarial

Una estrategia emergente para las empresas de software de aplicación es proporcionar acceso a software distribuido previamente como aplicaciones locales. Dependiendo del tipo de aplicación, puede requerir el desarrollo de una interfaz basada en navegador completamente diferente, o simplemente adaptar una aplicación existente para utilizar la tecnología de presentación diferentes. Estos programas permiten al usuario pagar una cuota mensual o anual para el uso de un software sin tener que instalarlo en un disco duro. Una empresa que sigue esta estrategia se conoce como un proveedor de servicios de aplicación (ASP) y ASP está recibiendo mucha atención en la industria del software.

Las brechas de seguridad en este tipo de aplicaciones son un motivo de preocupación porque puede incluir información de la empresa y datos de cliente privado. Protección de estos activos es una parte importante de cualquier aplicación web y hay algunas áreas operacionales claves que deben incluirse en el proceso de desarrollo.[6] Esto incluye procesos de autenticación, autorización, manejo de activos, de entrada y registro y auditoría. Construcción de seguridad en las aplicaciones desde el principio puede ser más eficaz y menos perjudicial a largo plazo.

Computación en la nube son aplicaciones web de modelo software como servicio (SaaS). Hay aplicaciones de negocio previstas como SaaS para empresas fijo u honorario dependiente del uso. Otras aplicaciones de la web se ofrecen de forma gratuita, a menudo generan ingresos de los anuncios se muestra en la interfaz de la aplicación web.

Aplicaciones de la web de escritura

Artículo principal: Desarrollo de aplicaciones Web

Escribir una aplicación web se simplifica a menudo por software de código abierto[¿pertinentes? ] tales como Django, Ruby on Rails o Symfony llama frameworks de aplicación Web. Facilitan estos marcos desarrollo rápido de aplicaciones al permitir que un equipo de desarrollo centrarse en las partes de su aplicación que son únicas a sus metas sin tener que resolver problemas comunes de desarrollo como la gestión de usuario.[7] Mientras que muchos de estos marcos son de código abierto, esto no es un requisito.

El uso de frameworks de aplicación web a menudo puede reducir el número de errores en un programa, tanto al hacer el código más simple y permitir que un equipo para concentrarse en el marco mientras la otra se centra en un caso de uso especificado. En aplicaciones que están expuestas a constante Hacking intentos en Internet, relacionados con la seguridad problemas pueden ser causados por errores en el programa. Marcos también pueden promover el uso de mejores prácticas[8] tales como DESPUÉS de POST.

Además, existe potencial para el desarrollo de aplicaciones en Sistemas operativos de Internet, aunque actualmente no existen muchas plataformas viables que se ajustan a este modelo.

Aplicaciones

Ejemplos de aplicaciones de explorador son software de oficina simple (procesadores de texto, hojas de cálculo en línea, y herramientas de presentación), pero también puede incluir aplicaciones más avanzadas como gestión de proyectos, diseño asistido por ordenador, edición de vídeo y punto de venta.

Véase también

  • Software como servicio (SaaS)
  • Web 2.0
  • Ingeniería Web
  • Servicios Web
  • Web Ciencias
  • Widget web
  • Aplicación de una página
  • Ajax (programación)
  • Herramientas de desarrollo web
  • Juego de navegador

Referencias

  1. ^ Naciones, Daniel. "Aplicaciones web". About.com. 20 de enero 2014. 
  2. ^ Alex Chaffee (2000-08-17). "¿Qué es una aplicación web (o"aplicación")?". 2008-07-27. 
  3. ^ James Duncan Davidson, Danny Coward (1999-12-17). Versión de Java Servlet Especificación ("especificación"): 2.2 versión Final. Sun Microsystems. págs. 43 – 46. 2008-07-27. 
  4. ^ "dynamic HTML y XML: el objeto XMLHttpRequest". Apple Inc. 2008-06-25. 
  5. ^ a b c d e f g h i j Jeremy Petersen. "Beneficios de usar el enfoque de n niveles para aplicaciones web". 
  6. ^ «Top consejos para desarrollo de aplicaciones seguras». Dell.com. 2012-06-22. 
  7. ^ Múltiples (wiki). "Framework para aplicaciones web". Docforge. 2010-03-06. 
  8. ^ Múltiples (wiki). "Marco". Docforge. 2010-03-06. 

Acoplamientos externos

  • Proyecto de HTML5 de recomendación, cambios en el HTML y APIs relacionadas para facilitar la creación de aplicaciones basadas en web.
  • El camino por delante — Un artículo argumentando que el futuro está en el servidor, no ricas interfaces en el cliente
  • Aplicaciones Web en DMOZ
  • Grupo de trabajo de aplicaciones Web en el World Wide Web Consortium (W3C)

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Web_application&oldid=752279087"