¿Cuál es la diferencia entre un marco, una plataforma y una tecnología?

Cada vez que uno decide desarrollar un sitio web, la primera pregunta técnica que debe responder es qué plataforma utilizar. El marco será específico de la plataforma y se ubicará sobre él. La tecnología es la combinación de la plataforma, el marco y la arquitectura del servidor.

PLATAFORMA

PHP, JAVA, .NET son ejemplos de plataformas o plataformas de desarrollo. Esto se convierte en el núcleo de la aplicación web. Los desarrolladores trabajan en la plataforma.

MARCO DE REFERENCIA

Framework es un conjunto de funciones y clases predefinidas que el desarrollador usa para un desarrollo más rápido. MVC es un tipo de marco. Ejemplos populares en PHP serían CodeIgniter, CakePHP y Zend Framework.
Framework le brinda un conjunto de herramientas para ayudarlo a escribir el código más rápido y mejor.

TECNOLOGÍA

La tecnología es una combinación de plataforma, marco y pila de servidores en su conjunto. Entonces, si alguien pregunta qué tecnología se utilizó para el sitio web, la respuesta puede ser Plataforma es PHP, framework es Zend, frontend es HTML5 y CSS3, el servidor web utilizado es Apache, la base de datos es MySQL, etc.

Trabajas en una plataforma. Usas un marco. Esta es la diferencia conceptual. Hay muchas respuestas por ahí, he tratado de mantenerlo simple y específico del dominio web. ¡Espero que esto ayude!

Una plataforma es una solución integral y un poco todo en uno para una amplia gama de problemas. Como la plataforma .NET o la plataforma Windows o varias soluciones de plataforma como servicio basadas en la nube (como Heruko). Una plataforma viene con una gran cantidad de herramientas y probablemente componentes diferentes, que cubren amplios rangos (persistencia, seguridad, concurrencia, etc.). Una plataforma le brinda casi todo lo que necesita para construir su sistema. Una plataforma viene con un conjunto preseleccionado de opciones de tecnologías (y paradigmas) como lo que se supone que debes usar. A veces reemplazable (por ejemplo, puede elegir una base de datos diferente, completamente fuera de las opciones de la plataforma para el almacenamiento de datos) y a veces no (no puede decirle a Linux cómo administrar el sistema de archivos). Algunas partes de la plataforma son de muy bajo nivel y es poco probable que alguna vez necesite interactuar directamente con ellas (como programar en el kernel de Linux), pero algunas partes son de alto nivel e interactúa con ellas regularmente (MySQL en las plataformas LAMP). A veces, una plataforma no es más que un paquete de tecnologías no relacionadas pero que funcionan bien juntas de diferentes fuentes. Al igual que LAMP (Linux, Apache, MySQL y PHP), pero a veces una plataforma produce su propia versión de tecnologías, específicamente diseñada para funcionar bien con las otras partes de la misma plataforma pero no del todo bien con otras plataformas (.NET). Una plataforma es una cosa subyacente, un proveedor de servicios. Las cosas se ejecutan en la parte superior de sus plataformas.

Un Framework utiliza (usa las características proporcionadas por) las plataformas subyacentes para realizar el trabajo. Un marco es una herramienta para que los desarrolladores peguen las diversas partes de la lógica. Casi siempre un marco proporciona abstracciones sobre varias partes de la plataforma subyacente.

Puede ejecutar muchos marcos encima de una plataforma o puede ejecutar el mismo marco en diferentes plataformas. Por ejemplo, un marco PHP (por ejemplo, Laravel o Symphony) se puede ejecutar tanto en Windows como en Linux (plataformas). O Spring (marco Java) requiere una plataforma Java que puede ejecutar sobre Windows y Linux (aquí intervienen dos niveles de plataformas).

A veces no está claro qué hace que algo sea una plataforma. En el ejemplo anterior, algunas personas argumentarían que el entorno PHP en sí es una plataforma, por lo que Symphony (un marco) en realidad requiere dos plataformas subyacentes: PHP + Windows / Linux. Otros dirían que PHP por sí solo no es lo suficientemente grande como para crear una plataforma, es solo un entorno de tiempo de ejecución (como Java), pero estas mismas personas llamarían a Java una plataforma completa.

¡Creo que lo empeoré aún más!

Estos términos se usan en informática cuando quieres crear un proyecto.

Plataforma: la descripción del objeto físico a utilizar. La plataforma puede ser un conjunto de parámetros compuestos por el sistema operativo y el procesador.

Tecnología: este término no puede ser difícil de definir, puede ser la forma global o la principal para explotar la Plataforma para su propósito. Una tecnología puede ser un lenguaje de programación.

Marco: puede ser una forma más precisa de explotar la plataforma. Un marco puede ser una API (interfaz de programación de aplicaciones).

Los términos Tecnología y Marco pueden significar lo mismo … Depende del contexto

Ejemplo 1 :
Quiero crear una aplicación en Java para registrar algo desde mi teléfono
plataforma: teléfono -> SO Android, procesador ARM
tecnología: java
framework: log4j (registro para java)

Ejemplo 2
Quiero crear un programa de escritorio con una interfaz de usuario de bajo nivel
plataforma: escritorio -> SO Ubuntu, procesador Intel
tecnología: C ++
framework: Qt (diseño de interfaz de usuario en C ++)

La plataforma es el sistema operativo en el que se ejecuta su aplicación. Entonces Linux, Windows, Mac OS …

Un marco es una pieza de software que define algunas bases para construir su aplicación sobre ella.

Una tecnología … bueno … eso es todo lo que es técnico.