Desarrollo del Software: Un repaso histórico hasta nuestros días

Desarrollo del Software: Un repaso histórico hasta nuestros días

Desarrollo del Software: Un repaso histórico hasta nuestros días

El Desarrollo del Software (DS) a tenido características determinantes desde el inicio hasta el día presente. Desde el principio el Mundo del Desarrollo del Software se dividió en 2: El Desarrollo del Software Libre y Código Abierto y el Desarrollo del Software Privativo y Código Cerrado.

Y todo esto a su vez dio inicio a que en cada Mundo del DS se iniciase un carrera por producir similares tipos de Software hasta diversos tipos de aplicaciones. Así el DS dio paso a los primeros y todavía actuales Software de Sistemas (SS), luego a los Software de Programación (SP) hasta los Software de Aplicaciones (SA). Y estos últimos a su vez, desde las tradicionales Aplicaciones Nativas, es decir, instalables y propias de cada Sistema Operativo (SO) hasta las novedosas Aplicaciones Distribuidas que se ejecutan desde el Internet sobre una Cadena de Bloques.

Desarrollo del Software: Contenido 1

Software

Prácticamente al mismo tiempo que nacieron los SS que básicamente eran el SO en sí, y abarcaban los controladores de dispositivos (drivers), los utilitarios de sistema y todas aquellas herramientas utilizadas para el control específico de las características del ordenador, es decir, todos aquellos programas que facilitaban la gestión de los elementos de Hardware (HW), tales como: la memoria, los discos, los puertos, los dispositivos y periféricos, nacieron también los SP y los SA.

Los SP incluían a aquellos productos de SW usados por los programadores para desarrollar otros programas informáticos mediante diferentes lenguajes de programación y/o bases de datos. Los SP incluyen de forma generalizada a los llamados editores de texto, compiladores, intérpretes, enlazadores y depuradores. Además de los conocidos Entornos de Desarrollo Integrados (IDE), es decir, los SW que agrupan en un mismo entorno (generalmente gráfico: GUI), todas las herramientas necesarias, anteriormente mencionadas, para cubrir el ciclo completo de desarrollo de un programa.

Y los SA agrupaban a los SW utilizados por los usuarios (finales) para la concreción de una tarea. Los SA por lo general incluyen a los SW del tipo ofimático, de diseño gráfico o multimedia, de contabilidad o administración, por solo citar una pequeña fracción de todas las categorías de aplicaciones que podemos encontrar en esta categoría. Por ende, los SA o simplemente una aplicación se trata de

Cualquier programa que permiten a un usuario final desarrollar diferentes tareas en un ordenador, portátil, tableta, móvil u otros tipos de equipos o plataformas tecnológicas.

Desarrollo del Software: Contenido 2

Aplicaciones

Las Aplicaciones (Apps) al principio de la era informática tenían como característica esencial el tener que ser instaladas para ser usadas, y solo dentro de un único o particular, SO Nativo. Pero con el tiempo y el progreso de la ciencia informática y la tecnología, las Apps fueron cambiando obteniendo y pasando por características tales como: portabilidad, multiplataforma, modularidad y escalabilidad. Y así, al día de hoy tenemos muchos tipos de Apps, que van desde las tradicionales nativas hasta las novedosas distribuidas.

Inicio

Las aplicaciones nativas, aquella que se desarrollaron de forma específica para un determinado SO, por lo general, mediante un Kit de programas de desarrollo (Software Development Kit o SDK), fueron las primeras en ser creadas. La característica fundamental de estas Apps es que se adaptan al 100% con las funcionalidades y características del equipo, dispositivo o plataforma obteniendo así una mejor experiencia de uso. Por lo tanto, estas tienden a presentar un mejor aspecto y funcionamiento en su ambiente nativo, además de funcionar de forma más fluida y estable. Aunque suelen presentar un mayor coste de desarrollo, si se ha de crear una para cada versión de SO Nativo.

Al avanzar, surgieron las Aplicaciones Web, también conocidas como WebApp, que son aquellas que se ejecutan de forma embebida dentro de una página o sitio web por medio de un Navegador de Internet. Por ende, las mismas se ejecutan en prácticamente cualquier Navegador de Internet y sobre cualquier tipo de equipo, dispositivo o plataforma. Y prácticamente lo mismo que se puede hacer en ellas en formato web se puede hacer en su formato de aplicación nativa instalable.

De la unión de las 2 anteriores surgieron las Aplicaciones Híbridas, que son aquellas Apps que se se desarrollan con lenguajes propios de las WebApps permitiendo su uso sobre diferentes plataformas, pero con la capacidad de las Apps Nativas de acceder a gran parte de las características del HW del equipo, dispositivo o plataforma donde se ejecute. Es decir, estas aprovechan al máximo la versatilidad de un desarrollo web y la capacidad de adaptación al HW como las Apps Nativas.

Actualidad

Hoy en día, se desarrollan las Aplicación Web Progresiva, también conocidas como Progressive Web Apps (PWA), que son básicamente páginas web que hacen uso de “Service Workers” y otras tecnologías, y se comportan de forma más similar a las Apps Nativas y menos a las WebApps. De manera tal, que mientras los “Service Workers” y demás tecnologías se ejecutan en segundo plano, la aplicación se ejecuta dentro del Navegador web.

A la par y por último, las Apps actuales han ido migrando al formato de Aplicaciones Distribuidas,  también conocidas como Descentralized Applications (Dapps), las cuales son Apps descentralizadas que utilizan una plataforma de “Cadena de bloques” (Blockchain) para que de forma directa los usuarios se relacionen entre ellos y realicen operaciones (acuerdos) sin la mediación de una entidad central que administre el servicio. En consecuencia, en una DApp cada uno de los usuarios de la misma es un nodo de una red descentralizada en la que todos actúan conjuntamente como si fueran un notario global de cualquier movimiento realizado sobre la plataforma en la que corre.

Conclusión

El mundo del Desarrollo del Software por estar inmerso en el corazón mismo de la Ciencia y la Tecnología no para de evolucionar y avanzar. Y así es como desde el software instalable (App Nativa) se dio paso a muchas otras formas de aplicaciones (Web, Híbridas, Progresivas, Distribuidas).

Formas que seguramente pronto darán paso a nuevas e innovadoras formas de Apps, que se verán impactadas por el uso de actuales y cambiantes tecnologías, tales como el Big Data, el Aprendizaje Profundo, la Inteligencia Artificial, y las aún cambiantes tecnología como la Computación en la Nube (Cloud Computing) y el Blockchain.

2 comentarios, deja el tuyo

  1.   Arazal dijo

    Como muestras en tu artículo el software libre siempre ha estado presente y ha tenido y mantenido una “rivalidad” con el software de código cerrado. A causa de la deriva a que estamos yendo (salvo cambio inesperado) el software libre (ya sea de forma clara y nítida o de tapadillo) es y será el rey. Y mi argumento se basa y se sustenta en lo que comentas, las capacidades multiplataforma y la red es mucho más fácil de adaptarse a muchos y diversos contextos si el código es abierto (es por ello que Microsoft va a migrar su navegador a un proyecto abierto como Chromium o utiliza Azure que se deriva de un proyecto abierto para sus servidores porque la interoperatividad es mucho más eficiente con el código abierto).

    Asignatura pendiente, el escritorio de toda la vida (que cada vez va teniendo menos importancia por la preponderancia del os dispositivos móviles), en el cual, GNU/Linux -salvo rara excepción- se queda reducido a un mero ejercicio por parte del usuario. Es triste porque deberían haber más opciones pero si uno puede es que se puede. Sólo hay que intentarlo.

    Gracias LPI por visibilizar un poquito más este polo informático.

    Leído y comentado desde un PC ejecutando Linux Mint.

    1.    Linux Post Install dijo

      Gracias por tu grandioso comentario… Saludos, Arazal!

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.