Framework vs Platform: ¿cuál es la diferencia?

Hola Habr! Les presento la traducción del artículo "Framework Vs. Platform ¿Cuál es la diferencia?" autor G. Harris.


Confiesa: soy pedante. A pesar de las fallas personales en este campo, creo profundamente que usar el lenguaje correcto agrega muchos beneficios. Para citar el aforismo de Mark Twain :


La diferencia entre una palabra casi correcta y una palabra correcta realmente significa mucho. Esta es la diferencia entre el rayo (rayo) y el rayo (rayo).

En vista de esta diferencia, veo el punto en el hecho de que de vez en cuando me molesta la falta de claridad en torno a los dos conceptos del marco y la plataforma . Cualquier empresa en el mundo que esté relacionada con el desarrollo tiene algún tipo de plataforma. El mundo de código abierto está lleno de marcos. Pero pocos pueden definir estos conceptos cuando se les pregunta. Si no puedo dar definiciones claras de la terminología básica, ¿puedo afirmar que tengo una comprensión completa del tema de discusión?


Me gustaría ofrecer una de las posibles definiciones por analogía.


Una plataforma es algo que se puede comparar con la caja de diseño que mis hijos tenían en la habitación cuando eran pequeños. Los cubos individuales son componentes. En una plataforma ideal, hay muchas combinaciones diferentes disponibles para ensamblar componentes, y se puede crear una amplia gama de productos finales. Las plataformas ofrecen el santo grial de la reutilización de software: por eso son tan populares.


Pero, ¿cuáles son los requisitos previos para construir la plataforma? Para tener éxito, la plataforma debe cumplir algunos requisitos técnicos obligatorios, y satisfacerlos es tarea del marco.


  • , ? , . , , . . , «» — , , . , (well-defined) .
  • , , — . , ? , . . Lego (tm) Fischer-Price (tm). , ( ) . .
  • , . () , , () . , . , , .

, , , :


  1. , .

— , .


, .


, . , . . . , .


: . . , . , , , . , . , , .


Un marco puede tener responsabilidades adicionales. Idealmente, apoyará el concepto de relaciones de causa y efecto (en alemán Wirkketten), que permite identificar dependencias de tiempo de ejecución, flujos de datos y flujos de control. Además, debe contener (y ocultar) el mecanismo necesario para trabajar con concurrencia. Pero esto servirá como material para otro artículo.


All Articles