Los Universos de las Aplicaciones

Aunque todos los programas comparten los mismos principios básicos, no todos pertenecen al mismo conjunto.

Son muy diferentes las aplicaciones web a las de escritorio, y éstas difieren mucho de las móviles. En escritorio tenemos servicios o daemons, aplicaciones de consola y de interfaz gráfica. Son universos distintos. Tienen una forma muy distante de pensarse, de abstraerse, pero todos se rigen bajo los mismos principios.

Podemos enumerar los principales universos así:

¨ Las aplicaciones de consola.

¨ Los servicios o daemons.

¨ Las aplicaciones de interfaz gráfica para los diversos sistemas operativos.

¨ Las aplicaciones web.

¨ Las aplicaciones móviles.

 

Cada uno de ellos es diferente pues utiliza diferentes recursos, diferentes componentes, y tiene diferentes objetivos.

Las Aplicaciones de Consola

Aunque todos los programas comparten los mismos principios básicos, no todos pertenecen al mismo conjunto.

Son muy diferentes las aplicaciones web a las de escritorio, y éstas difieren mucho de las móviles. En escritorio tenemos servicios o daemons, aplicaciones de consola y de interfaz gráfica. Son universos distintos. Tienen una forma muy distante de pensarse, de abstraerse, pero todos se rigen bajo los mismos principios.

aplicacion-de-consola
aplicacion-de-consola

Los Servicios o Daemons

Son aplicaciones que se están ejecutando permanentemente en el fondo, sin que las veas. Son invisibles al usuario. Están monitoreando, esperando eventos, funcionando como servidores, siempre presentes. Son como el subconsciente de la computadora. Su propósito es estar siempre activo, a la espera de peticiones o administrando recursos.

 

servicios-o-daemons
servicios-o-daemons

Normalmente son las aplicaciones las que se comunican con ellos, y el usuario con las aplicaciones, tal como con el sistema operativo, pero para tareas muy  específicas, como cuando hacemos una consulta a la base de datos, un servicio es quién la recibe, la realiza y nos devuelve la información, echando mano para ello del sistema operativo, otros servicios y procesos.

Las Aplicaciones de Escritorio o Interfaz Gráfica

Aquí está toda la ofimática (Word, PowerPoint, Excel), los programas de diseño, los sistemas operativos basados en ventanas y en general toda aplicación con una interfaz gráfica.

Estas aplicaciones tiene doble complejidad, la funcional y la gráfica. En realidad, siguen siendo programas con comandos, pero la forma de comunicarse con el usuario cambia, de simple texto a dibujos (todo es un dibujo en las GUI’s). Aquí te comunicas con clics y eventos con la computadora.

 

aplicaciones-de-escritorio
aplicaciones-de-escritorio

Las Aplicaciones Web

Similares a las aplicaciones gráficas, las aplicaciones web tienen funcionalidad con una interfaz gráfica, agregando que tiene que adaptarse a recursos más limitados y una conectividad más intensiva.

Como recordaremos, las aplicaciones corren sobre recursos, que son administrados por el sistema operativo o directamente por la aplicación. Estos recursos son los componentes de la computadora, como la memoria RAM, el disco duro, el procesador, los periféricos, etc.

Cuando una aplicación corre bajo el sistema operativo, como cuando inicias Word, por ejemplo, esta tiene acceso a todos los recursos de la computadora, administrados claro, por el sistema operativo. Es decir, puedes guardar en disco tus archivos, leer otros, hacer un archivo grande y disponer de memoria RAM para esto, mandar a imprimir tus archivos, etc.

Cuando una aplicación web corre lo hace bajo otra aplicación, no sobre el sistema operativo, lo hace bajo el explorador (como Chrome o Firefox). Es el explorador quien se tiene que comunicar con el sistema operativo para pedirle que guarde un archivo o que imprima una página web, añadiendo otro nivel de complejidad, otra capa de abstracción.

aplicaciones-web
aplicaciones-web

Las Aplicaciones Móviles

Los smartphones y tablets son mini computadoras, y tienen su propio sistema operativo (iOS, Android), sin embargo, tienen recursos más limitados – por ahora – que las laptops y computadoras de escritorio (RAM, procesador, disco duro).

Además, al ser requerido que sean multifuncionales (hablas por teléfono en medio de una charla de mensajes de texto mientras navegabas) igual que una computadora pero como no tiene los recursos de la computadora, las aplicaciones tienen que estar diseñadas para hacer uso más eficiente de los recursos.

aplicaciones-moviles
aplicaciones-moviles

Es muy parecido a realizar aplicaciones web, todas las llamadas a internet son asíncronas, por ejemplo.

Pero, Luis, ¡Lo hiciste de nuevo! ¡Soltaste un montón de jerga como si todo el mundo la entendiera! ¿Llamadas a internet? ¿Asíncronas? ¿Qué es eso? Pues bien, es momento de contarte una pequeña historia, así que haremos un paréntesis en este capítulo.

“Erase una vez un mundo sin banda ancha”

(Imagínenme con voz de abuelito)

Muchos de ustedes muchachos no se acordarán por que están muy chavos, pero hubo una época en que los celulares solo servían para hablar, y no todos teníamos uno, y para acceder a internet, lo hacías con una línea telefónica a rapidísimos 56 kbps. No, no es broma, dije 56 kilo bytes por segundo, así como lo leen.

Los módems venían incluídos en las computadoras, unos armatostes enormes con monitores CRT aún más grandes. Le conectabas el cable de tu teléfono (el de la casa, la línea de tierra) y la usabas para “literalmente” llamar a tu proveedor de Internet.

En mi caso era AOL. Dejaba a la casa sin teléfono (solo teníamos una línea, en ese entonces era muy caro tener dos) y me “internaba” por días.

La comunicación entre las computadoras funciona a través de llamadas. Cuando te conectas a Internet, lo que en realidad está pasando es que “llamas” a Google por ejemplo, y le solicitas te muestre su página.

Funciona así: Tu explorador llama a Google, a la dirección IP 8.8.8.8 (que sería como su número de teléfono) al puerto 80 (que sería como su extensión) y como este es público, sería como marcar al 030 y pedir la hora, Google te responde con su página de inicio, donde puedes teclear lo que buscas.

llamadas-internet
llamadas-internet

Y así cada sitio, cada aplicación, tiene su dirección (teléfono) y sus puertos (extensiones) para que te puedas comunicar con ellos. ¿Alguna vez te han llamado a tu casa, te preguntan por alguien y tu respondes “¿Quién habla?”? Pues es lo mismo con las aplicaciones, algunas te van a preguntar quien eres, como las aplicaciones web de correo (Gmail, Hotmail, Yahoo, etc) que te tienes que identificar antes de poder ver tus mensajes.

Cómo puedes ver, todo son llamadas, en estricto apego a los principios, todo es comunicación, tanto hacia afuera como dentro de las computadoras.

Ahora que conocemos como funcionan las computadoras y los programas, podemos proceder al siguiente paso: ¿Sabes cual es la parte más importante de un programa? La especificación funcional. Acompáñame el siguiente post para mostrarte por qué.

 

Related Posts

Lo que Tienes que Saber Antes de Aprender a Programar

¿Quieres aprender a programar desde cero? Lo primero que tienes que saber son fundamentos, y no solo de programación, sino de informática, adquirir una base sólida es fundamental para saber que es lo que estas haciendo y como hacerlo eficientemente. Te garantizo que invertir tiempo en comprender arquitectura de computadoras te facilitará toda tu carrera. […]

Read More

Los Tres Principales Sistemas Operativos: Cultura General

Necesitaremos conocimiento de sistemas operativos si vamos a ser programadores, pero no te preocupes, no vamos a comenzar programando kernels, vamos a repasar las plataformas más populares, por cultura general y por que necesitamos conocer en que vamos a programar, por supuesto. En computadoras de escritorio, hay tres grandes sistemas operativos: Microsoft Windows, Apple OS […]

Read More

Leave a Reply

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