Aplicaciones de escritorio
- Teacher Kernighan
- 24 nov 2018
- 2 Min. de lectura
Actualizado: 24 nov 2018
Las aplicaciones de escritorio son aquellas orientadas a su uso en los ordenadores personales. A diferencia de las aplicaciones web, se instalan directamente sobre el sistema operativo (Microsoft, 2018).

En el desarrollo de software uno de los principales problemas que se plantea es conseguir la portabilidad de la aplicación, es decir, la capacidad de que pueda instalarse y ejecutarse sobre distintas plataformas. Los desarrolladores de aplicaciones de escritorio se enfrentan especialmente con este problema ya que están destinadas al uso en ordenadores personales y, cuantas más plataformas soporte mayor difusión tendrá la aplicación al crecer el número de usuarios potenciales (Microsoft, 2018).
En las aplicaciones compiladas nativamente, la portabilidad se consigue mediante el uso de herramientas que sean capaces de transformar el código fuente al código máquina del procesador y al formato de ejecutable soportado por el sistema operativo. A estas herramientas se les conoce normalmente como toolchain (compilador, enlazador, librerías, etcétera) y varían de una plataforma a otra.
Incluso el código fuente puede variar en ciertos detalles en función de la plataforma de destino. De ahí que el esfuerzo en el desarrollo y mantenimiento de una aplicación crezca con el número de plataformas soportadas (Microsoft, 2018).
Otro enfoque más práctico a la hora de tratar la portabilidad son los lenguajes basados en máquina virtual. La idea consiste en diseñar la especificación de una arquitectura computacional, la máquina virtual, con su propio código máquina, denominado bytecodes, que pueda ser implementada como una aplicación software sobre sobre las distintas plataformas existentes. De esta manera, con un solo proceso de construcción (compilación) del código fuente se garantiza la ejecución de la aplicación sobre cualquier plataforma donde exista una instancia de la máquina virtual (Microsoft, 2018).
El caso más conocido de este modelo es, sin duda alguna, el lenguaje de programación Java. Pero también entran en este saco los lenguajes Python, PHP o Javascript. Aunque solo Java y Python han sido utilizado tradicionalmente en el desarrollo de aplicaciones de escritorio (Microsoft, 2018).

Entre la plétora de lenguajes de programación existentes podemos identificar a los siguientes como los más utilizados para el desarrollo de aplicaciones de escritorio multiplataforma:
Plataforma Windows
Visual C++
Visual Basic
C/C++ con Qt o GTK
Java con AWT o Swing
Plataforma MacOS
Objective-C/Swift con Cocoa
C/C++ con Qt o GTK
Java con AWT o Swing
Plataforma Linux
C/C++ con Qt o GTK
Java con AWT o Swing
Tanto Windows como MacOS tienen su propia tecnología para el desarrollo de aplicaciones de escritorio pero también vemos tecnologías portables entre las tres plataformas tanto compiladas (C/C++ con Qt o GTK) como basadas en máquina virtual (Java con AWT o Swing) (Microsoft, 2018).
En todos los casos se utilizan librerías de widgets (Qt, GTK, AWT, Swing) para la confección de la interfaz gráfica de usuario (GUI). Los widgets son los elementos visuales de control que componen una interfaz gráfica. El empleo de estas librerías, a pesar de que existen aplicaciones que ayudan bastante, exige enfrentarse a intensas sesiones de estudio pues el nº de widgets, propiedades y eventos que exponen es muy elevado (Microsoft, 2018).
コメント