Alguien me dijo que puedo usar C ++ para construir el backend, ¿cómo puede ser esto posible?

Ciertamente puedes, y lo he hecho en muchas ocasiones.

Cuando el front end hace un “POST” o un “GET”, puede invocar el ejecutable de C ++ como un script “CGI” (Apache, al menos, lo admite) y los datos de post / get aparecen en la entrada estándar o en la línea de comando (cosas argc / argv).

De hecho, cualquier URL puede ser un script CGI e invocar un programa C ++ para generar el contenido.

Puede usar “printf” para generar el encabezado HTTP y el contenido HTML, exactamente como lo haría en PHP o lo que sea.

printf (“Tipo de contenido: texto / xml \ n \ n”);
printf (” \ n”);

… etc …

Es muy fácil.

¡Nos estamos acercando al día en que también puedes escribir el front end en C ++! El proyecto Web Assembly (wasm) se está moviendo lentamente hacia una adopción total, y más del 50% de las computadoras clientes en todo el mundo ya lo admiten. En este momento, todavía necesita una capa delgada de JavaScript para cargarlo e iniciarlo, pero estoy seguro de que se evaporará lentamente a medida que el proyecto finalice.

Usted pregunta: Alguien me dijo que puedo usar C ++ para construir el backend, ¿cómo puede ser esto posible?

Es posible porque backend es solo el nombre para un rol de una parte de un sistema informático (o incluso solo de un componente de un sistema informático): por sí solo no implica ninguna tecnología o propósito particular del sistema.

Es cierto, a menudo es el caso de los sistemas que tienen un front-end HTML + JavaScript + CSS que habla con un back-end remoto a través de algún protocolo sobre HTTP (S) que generalmente se implementa con algo que no es C ++, pero ese es solo un caso que sucede ser bastante común hoy en día, con mucho, no es la única posibilidad.

Por ejemplo:

  • los kits de herramientas GTK + y Qt tienen backends que muestran la interfaz gráfica de usuario en la parte superior de X11 o win32 o una superficie SDL, o algún framebuffer, etc .;
  • MySQL es técnicamente un front-end para varios backends que implementan almacenamiento real (MyISAM, InnoDB, etc.)
  • GCC tiene varios códigos fuente de análisis de front-end en varios lenguajes de programación y genera una representación intermedia, y varios backends que generan a partir de eso los archivos de objetos reales para una plataforma determinada;
  • Hace algún tiempo desarrollé para el proyecto, estoy trabajando en un subsistema para guardar y restaurar el estado interno de un determinado dispositivo de red. Tiene un backend que escribe / lee un búfer grande en la memoria flash, pero también otros backends utilizados para volcar el estado actual.

De alguna manera, eso es similar al uso actual (incorrecto) del término “API” (interfaz de programación de aplicaciones), que no implica en absoluto un servicio remoto ofrecido por Internet.

Alguien me dijo que puedo usar C ++ para construir el backend, ¿cómo puede ser esto posible?

Usemos esto como un ejercicio de pensamiento …

¿Por qué no sería posible?

¿Qué necesitamos para un backend de sitio web?

Los sockets de red son los obvios. ¿Podemos hacer esto en C ++? Por supuesto que podemos.

Siendo realistas, para improvisar HTML, necesitaremos la manipulación de cadenas. ¿Podemos hacer esto en C ++? Sí.

Probablemente también necesitemos acceso a DB, así que ¿podemos hacer esto en C ++? Sip.

Absolutamente podrías construir un backend en C ++, no estoy diciendo que debas , pero podrías . Tu ‘alguien’ es absolutamente correcto.