Aplicaciones Web Aplicaciones de Escritorio
Otho Salazar ArenasTrabajo27 de Diciembre de 2019
2.838 Palabras (12 Páginas)155 Visitas
Aplicaciones Web Vs. Aplicaciones de Escritorio
1 Aplicaciones Web:
Se nombra Aplicación Web al Software que habita en una computadora, llamada servidor web, al cual los clientes o usuarios pueden acceder y utilizar a través de Internet o Intranet mediante un navegador web, para así obtener y aprovechar los servicios que ofrece. (Zofío Jiménez, 2013).
Se define Servicios Web al conjunto de aplicaciones que tienen la capacidad de interoperar en la Web. Estas tecnologías intercambian datos entre sí con el objetivo de ofrecer sus servicios y presentar información al usuario de forma dinámica.
Un Servidor Web es un programa que atiende y responde a las diferentes peticiones de los navegadores proporcionando los recursos que soliciten usando el protocolo HTTP o HTTPS. (Ferrer Martínez, 2014).
La World Wide Web (WWW) es un conjunto de protocolos que permite la consulta remota de archivos de hipertexto que utiliza internet como medio de transmisión. (Zofío Jiménez, 2013).
Las Páginas Web se dividen en dos formatos: páginas web estáticas y páginas web dinámicas. Las primeras son aquellas que muestran toda la información relevante al usuario limitándolo en la interacción con el sitio y servidor, por lo que siempre despliegan el mismo contenido. Las segundas permiten que se haga una comunicación continua entre el usuario y servidor, generando el contenido del sitio dinámicamente de acuerdo con lo solicitado por el usuario. Estas últimas son las que se consideran aplicaciones web, ya que permiten que los usuarios accedan a los datos concernientes a sus peticiones, tales como consultar correo electrónico, gestores de bases de datos, envío de formularios, etc.
Para la creación de páginas web dinámicas se implementó un método que permitiera generar el contenido en tiempo real de acuerdo con las peticiones, conocido como CGI (Common Gateway Interface), el cual permitía pasar información entre el servidor HTTP y programas externos. Estos podían ser desarrollados con cualquier lenguaje de programación. Sin embargo, los CGI tenían un punto en contra, que era que con cada petición el servidor web ejecutaba el CGI y muchos de ellos estaban escritos en lenguajes interpretados por lo que requerían de un run-time environment. Razón por la cual, posteriormente surgieron como alternativa los lenguajes de programación (RXML, PHP, VBScript), que permitieran dotar al servidor de un interprete, de manera que disminuyera el tiempo de ejecución de éste. (Mateu, 2004).
A partir de esto se formaron nuevas arquitecturas y lenguajes de programación que permitieran el desarrollo de aplicaciones web.
1.1 Ventajas de las Aplicaciones Web
Las principales ventajas que tienen las aplicaciones web citadas en (Yeeply Blog, 2019)(Vonica, 2016) (Compatibilidad de tu web con distintos navegadores - manual de HTML y CSS.) (Zamora, 2012) son:
– Utilizan lenguajes conocidos entre los programadores con bajas curvas de aprendizaje, como son HTML, CSS, PHP y JavaScript.
– Puede ser utilizada en cualquier dispositivo independientemente de su sistema operativo y su modalidad, de escritorio o portátil.
– Mayor portabilidad. Pueden ser ejecutadas desde cualquier dispositivo que cuente con conexión a internet.
– Se ejecutan desde el navegador web del dispositivo, es decir, no requieren ninguna instalación adicional.
– No requieren de actualizaciones para su uso, ya que solo con mantener el código actualizado en el servidor, cada usuario obtendrá la versión más reciente del sistema.
– No hay problemas de incompatibilidad entre versiones, ya que todos los usuarios trabajan con la misma.
– El desarrollo de una aplicación web representa un costo menor al de una aplicación de escritorio.
– El tiempo de desarrollo de una aplicación web es menor en comparación a una de escritorio, de ahí que su costo sea menor.
– Los usuarios no requieren de equipos de grandes características ya que las aplicaciones suelen ser muy ligeras y consumen muy pocos recursos de los equipos.
1.2 Desventajas de las Aplicaciones Web
Autores como (Yeeply Blog, 2019) (Vonica, 2016) (Compatibilidad de tu web con distintos navegadores - manual de HTML y CSS.) (Zamora, 2012), mencionan algunas de las principales desventajas de las aplicaciones web:
– El uso de una conexión a internet es obligatorio para su operación.
– El tiempo de respuesta puede ser lento dependiendo de las características del dispositivo y de la conexión a internet.
– Al estar siempre actualizada, es imposible que los usuarios puedan hacer uso de una versión anterior, lo que a veces representa una frustración hacia los usuarios.
– A diferencia de una aplicación de escritorio, el concepto de Disponibilidad está comprometido, ya que tanto por error en el servidor o corrupción en los archivos del sistema, puede suspender su capacidad de operar.
– Aunque puedan usarse en cualquier dispositivo, si ésta no fue desarrollada de acuerdo con el principio Mobile First o Responsive, podrían presentarse problemas en la visualización del contenido en equipos de pequeñas dimensiones.
– Se tiene cierta restricción en el acceso a las características de hardware de los dispositivos que la ejecutan.
– Algunas aplicaciones web no son compatibles con todos los navegadores y su contenido u operación se ven afectados. El problema radica en que no todos los navegadores interpretan en código HTML y CSS de la misma manera, entre ellos existen pequeñas variaciones que son las que hacen que el resultado no sea el mismo de unos a otros.
– Los desarrolladores pueden rastrear todo lo que los usuarios hacen dentro de estas aplicaciones, por lo que puede causar problemas con la privacidad.
2 Aplicaciones de Escritorio
Las Aplicaciones de escritorio son aquellas que son capaces de ejecutar sus funcionalidades sin necesidad de estar conectados a otros dispositivos. Se les conoce también como Stand-alone Software.(IEEE standard glossary of software engineering terminology, 1990).
2.1 Ventajas de las Aplicaciones de Escritorio
Las ventajas de las aplicaciones de escritorio son las siguientes:
– No requieren de conexión a internet para funcionar.
– El tiempo de respuesta es más rápido.
– Son más robustas y estables que las aplicaciones web.
– Si el desarrollador lo permite, puede hacerse la retro compatibilidad de versiones, para que los usuarios hagan uso de las características de software que prefieran.
– Suelen ser aplicaciones más seguras.
– Si no requieren el uso de internet, siempre se encuentran disponibles para su uso.
– Aseguran su operación y correcta visualización para los dispositivos para los que fueron desarrollados.
2.2 Desventajas de las Aplicaciones de Escritorio
Las principales desventajas de las aplicaciones de escritorio son:
– Requieren la adquisición de licencia.
– Su acceso se limita a los dispositivos en los que se encuentran instalados.
– La portabilidad es limitada.
– Requieren de una instalación personalizada en el dispositivo.
– Requieren actualización personalizada, y en muchas ocasiones éstas son forzadas para su correcto funcionamiento.
– Dependen del sistema operativo y de las características y capacidades de los equipos en los que se instalan.
– Requieren mayor tiempo en su desarrollo.
– Su costo es más elevado en comparación con una aplicación web.
– El desarrollo multiplataforma se hace complicado al tener que hacer uso de diferentes lenguajes de programación.
3 Aplicaciones Web Vs. Aplicaciones de Escritorio
Los aspectos más importantes que se pueden destacar en la comparación de estas modalidades son las siguientes:
3.1 Portabilidad
Tomando en cuenta que la portabilidad es la característica de que un software pueda ejecutarse en diferentes plataformas y/o sistemas operativos, cabe destacar que las aplicaciones web poseen esa gran ventaja por encima de las aplicaciones de escritorio, ya que éstas, al no requerir de una instalación, y de acuerdo con las características del desarrollo, es posible acceder a ellas desde cualquier dispositivo que cuente con conexión a internet.
Sin embargo, es posible conseguir portabilidad en aplicaciones de escritorio. Esto se logra con herramientas (toolchains) que transforman el código fuente a código de máquina del procesador y al formato ejecutable del sistema operativo.
Otro método para lograr la portabilidad de aplicaciones es mediante la implementación de lenguajes basados en máquinas virtuales. Por ejemplo, Java permite que sus aplicaciones puedan ser ejecutadas en los diferentes sistemas operativos, adquiriendo así el rango de aplicación multiplataforma.
De acuerdo con (Juanda, 2018), entre los lenguajes de programación, aquellos usados para el desarrollo de aplicaciones de escritorio multiplataforma son:
– Plataforma Windows
o Visual C++
o Visual Basic
o C/C++ con Qt o GTK
o Java con AWT o Swing
– Plataforma MacOS
o Objective-C/Swift con Cocoa
o C/C++ con Qt o GTK
o Java con AWT o Swing
– Plataforma Linux
o C/C++ con Qt o GTK
o Java con AWT o Swing
3.2 Desarrollo
En los últimos años han surgido una gran cantidad de frameworks que
...