Publicado el Deja un comentario

Plataforma versus Marco

En los últimos 30 días tuve el placer de trabajar en el contexto del proyecto de interfaz abierta, escribiendo un documento que describe cómo continuará la plataforma después del período del proyecto. Pensaron que podía ayudar debido a mi larga experiencia con la comunidad de código abierto. En realidad, fue una gran experiencia desafiante con momentos duros y agradables. La más emocionante fue en Oporto, Portugal, en la frontera del río, cuando encontré inspiración para escribir algunas frases asesinas.

Durante la elaboración de este documento, muchas personas del proyecto aportaron contribuciones, comentarios, críticas, lo que fue esencial para obtener un mejor resultado al final. Pero uno de ellos me llamó la atención. Uno de los colaboradores pidió cambiar el término «plataforma» por «marco», lo que fue gracioso porque el nombre»plataforma» se extiende a través de muchos otros documentos y en el sitio web. Si la persona tenía algunos fundamentos para proponer este cambio, ¿cuáles son? Luego decidí hacer una breve investigación sobre la diferencia entre ambos conceptos y el mejor lugar para comenzar es, por supuesto, el diccionario.

La palabra «plataforma» tiene muchos significados, incluido el de informática. En el Diccionario Inglés de Cambridge:

«La plataforma describe el tipo de sistema informático que está utilizando, en relación con el tipo de software que puede usar en él.»

Esta es una definición muy genérica, que no me ayuda en absoluto. Por lo tanto, fui a Internet, donde encontré una definición sin ninguna alerta sobre sus fuentes o la parcialidad:

«En informática, una plataforma describe algún tipo de arquitectura de hardware o marco de software (incluidos marcos de aplicaciones), que permite que el software se ejecute. Las plataformas típicas incluyen la arquitectura de un equipo, el sistema operativo, los lenguajes de programación y las bibliotecas de tiempo de ejecución relacionadas o la interfaz gráfica de usuario.»

¡Oh Dios! Menciona el marco en la definición de plataforma. ¿Es una especie de definición recurrente? Bueno, vamos a la definición del marco:

«Un marco de software es un diseño reutilizable para un sistema de software (o subsistema). Un marco de software puede incluir programas de soporte, bibliotecas de código, un lenguaje de scripting u otro software para ayudar a desarrollar y unir los diferentes componentes de un proyecto de software. Varias partes del marco de trabajo pueden exponerse a través de una API.»

Bueno, mejor! Analicemos las diferencias. Primero: el framework se refiere solo al software e ignora totalmente el hardware. Por lo tanto, si trabaja con hardware, nunca tendrá un marco. Segundo: una plataforma permite que se ejecute un software, lo que no es un requisito de marco, ya que está más enfocado en el diseño. Por ejemplo, Java es una plataforma porque tiene una máquina virtual que permite que Javaapplications se ejecute en muchos sistemas operativos. Por otro lado, Spring es un marco porque simplifica la forma de diseñar el software, asumiendo la responsabilidad de muchas cosas para reducir el esfuerzo y el volumen de código necesario para implementar la aplicación. Por lo tanto, una plataforma no tiene como objetivo ahorrar tiempo, sino brindarle una o más posibilidades para ejecutar su aplicación.

Volviendo a la raíz de la discusión, tuve una larga conversación con el principal desarrollador de OpenInterface (OI), Lionel Lawson, y llegamos a la conclusión de queoi es, al mismo tiempo, una plataforma y un framework. Significa que, cuando la plataforma, OI puede ejecutar su aplicación en ella. Cuando es framework, su aplicación puede usar la API de OI para acceder a otros componentes. Luego, concluimos que OI es en realidad una tecnología, que es más genérica y resuelve muchos problemas de integración entre componentes de bajo nivel.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.