Desarrollo de Aplicaciones Multiplataforma


Hace varias semanas empecé un ciclo superior de informática llamado como el título del articulo. Y pensando un poco, se me ha ocurrido colgar parte de mis apuntes y publicar algunos ejercicios por si alguien quiere hacerlos. (Aunque ya se, que en el momento de publicar este articulo, tengo muy pocos o ningún seguidores, pero esto es una inversión de futuro.)

Entornos de Desarrollo

Todas las aplicaciones siguen un procedimiento planificado de desarrollo. Para convertir una idea en un producto se debe:
– Analizar las necesidades de los usuarios que utilizaran la aplicación
– Diseñar una solución que tenga en cuenta las necesidades de los usuarios, bocetos del GUI, datos…
– Desarrollar una aplicación que implemente todo lo investigado y diseñado anteriormente haciéndolo lo más modular posible.
– Implantar la aplicación.

Concepto de Programa Informático

Un programa informático es un conjunto de órdenes llevadas a cabo secuencialmente aplicadas sobre un conjunto de datos.

Código Fuente, Código Objeto y Código Ejecutable: Máquinas Virtuales

  • El código fuente son todos los archivos en formato de texto donde se encuentran las instrucciones. Es-tas pueden estar escritas en un lenguaje de alto o bajo nivel.
  • El código objeto es el código fuente traducido mediante compilador a código máquina.
  • El código ejecutable es la traducción completa a código máquina echa por un linker. El código ejecutable es interpretado directamente por el ordenador.
  • El enlazador es el encargado de insertar en el código objeto las funciones de las librerías que son necesarias para eje-cutar el programa y de empaquetarlo generando un archivo ejecutable.
  • Una librería es una colección de código predefinido que facilita la programación.

Máquina Virtual

El concepto de máquina virtual surge de la intención de utilizar un mismo código fuente para diferentes arquitecturas. Para ello el código se compila en dos fases:

  1. En la primera se genera un lenguaje intermedio obteniendo un código de menor nivel de abstracción pero que aún no puede ser directamente ejecutado.
  2. En la segunda se traduce el lenguaje intermedio a un lenguaje comprensible por la máquina.
    Con esto podemos generar un código genérico para todos los dispositivos y que una máquina virtual se encargue de ejecutarlo para esa plataforma.

La Máquina Virtual de Java

La Máquina Virtual Java (JVM) es el entorno de ejecución de aplicaciones programadas en Java.

Tipos de Lenguaje de Programación

Un lenguaje de programación es un lenguaje que permite la comunicación entre el hombre y la máqui-na. El lenguaje de programación identificará el código fuente que el programador desarrollará para indicar a la máquina que pasos debe dar.
Los tipos de lenguaje que hay son:

  • Lenguajes de primera generación o de máquina El lenguaje de maquina es el único lenguaje que entiende el ordenador.
  • Lenguajes de segunda generación o de lenguaje ensamblador Es un lenguaje de programación que utiliza códigos mnemotécnicos para indicar a la maquina las operaciones que debe hacer. Son operaciones muy básicas que han estado diseñadas a partir del conocimiento de la estruc-tura interna de la máquina.
  • Lenguajes de tercera generación o de alto nivel. Es un lenguaje de programación que utiliza palabras y frases relativamente fáciles de entender y proporcionan también facilidades para expresar alteraciones del flujo de control de una forma bastante sencilla.
  • Lenguajes de cuarta generación o de lenguajes de propósito específico. Es un lenguaje de programación muy abstracto en la programación y permite generar aplicaciones sofistica-das en un tiempo muy corto, mucho inferior a un lenguaje de tercera generación.
  • Lenguajes de quinta generación. Los lenguajes de quinta generación son lenguajes de tratamiento de problemas relacionados con la inteligen-cia artificial y los sistemas expertos.

Características de los Lenguajes de Primera y Segunda Generación

Las ventajas de estos lenguajes son:

  • Permiten escribir programas muy optimizados que aprovechan al máximo el hardware.
  • Permiten al programador especificar exactamente que instrucciones quiera que se ejecuten.

Estos son los inconvenientes:

  • Completamente ligados a la maquinaria y no pueden ser fácilmente trasladados a otro hardware
  • Es necesario conocer a fondo la arquitectura de sistema y del procesador para escribir buenos programas.
  • No permiten expresar de forma directa conceptos habituales a nivel de algoritmos.
  • Son difíciles de codificar, documentar y mantener.

Características de los lenguajes de tercera, cuarta y quinta generación

Las ventajas de estos lenguajes son:

  • El código del programa es mucho más sencillo.
  • Son independientes del hardware por este motivo es más fácil portar el programa entre diferentes sistemas, arquitecturas siempre que haya un compilador para este lenguaje.
  • Es más fácil y rápido de escribir programas y mantenerlos.

Estos son los inconvenientes:

  • Su ejecución en un ordenador es más lenta que otros lenguajes de menor nivel.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies. ACEPTAR

Aviso de cookies