Heredé un proyecto bastante interesante en el que hay una buena oportunidad para tomar un software existente y convertirlo en una aplicación web SaaS. A medida que se hereda el proyecto, el código base / framework ya está definido como C ++ y MySQL. La aplicación en sí se compila y se ejecuta como un EXE en Windows Server. La interfaz de usuario está basada en la web y la aplicación funciona como una especie de servidor. Por lo que sé de las aplicaciones web modernas, esta es quizás una opción inusual. En estos días, la mayoría de las personas parecen optar por un framework PHP o Ruby on Rails. Ciertamente esa es la impresión que obtengo al leer blogs sobre el tema. Entonces, estoy muy interesado en saber si un EXE C ++ respaldado por MySQL es una base sólida para una aplicación web, o si deberíamos buscar construir de otra manera.
fuente
Respuestas:
Está bien hacer una aplicación web usando C ++ SI los beneficios superan el costo, obviamente. Google, Amazon, Facebook están construidos con C ++ para la eficiencia en velocidad, memoria y energía, también conocidos como costos de servidores.
Sin embargo, como adivinó, hay inconvenientes en el uso de C ++ para esto. Sin embargo, depende de tus herramientas.
Primero déjame citar el sitio web de cppcms sobre esto:
Los inconvenientes específicos de C ++ son:
Tal vez echar un vistazo a CPPCMS? ¿O tal vez wt si quieres hacer un sitio web estilo GUI?
También revise estas preguntas:
fuente
Wordpress que se ejecuta en PHP con algunos complementos instalados pone de rodillas a mi servidor Winders. Así que no tengo ningún problema con la idea de implementar una aplicación web en C ++. La velocidad es una parte crítica de la experiencia web.
Carpas de diseño gráfico para impulsar la mayoría de los proyectos web. PHP es un lenguaje de script oscuro que se ejecuta dentro de HTML. Permitir que los autores de PHP escapen dentro y fuera de HTML. Como resultado, existen muchos beneficios al trabajar con HTML.
Aún así, podría implementar cualquier cantidad de soluciones de plantillas HTML en C ++.
Uno podría proporcionarle una larga lista de marcos de trabajo de Python y PHP que permiten un desarrollo rápido, pero si tiene mucho tiempo, entonces C ++ es definitivamente posible.
Lo que no entiendo es su decisión de hacer C ++ en Windows. jajaja
fuente
Ciertamente es una elección inusual. C ++ no se diseñó teniendo en cuenta las aplicaciones web, y aunque existen bibliotecas para escribir, digamos, aplicaciones FastCGI con C ++, debe hacer mucho más trabajo para poner en marcha su aplicación básica. Los "lenguajes web" generalmente hacen muchas cosas por usted que tiene que obtener de otras partes de C ++, como implementar el protocolo HTTP, generar HTML, etc.
Además, las aplicaciones web tratan principalmente de cadenas, que no es exactamente el lado más fuerte de C ++: no hay ningún tipo de cadena integrado en el lenguaje en sí, y esto lleva a algunas peculiaridades y hace que el procesamiento de cadenas sea más torpe de lo que sería lenguajes de nivel. Manejo de codificaciones de caracteres correctamente en bordes de C ++ en magia negra. Y C ++ puede bloquearse realmente duro, en un código de aspecto bastante inocente, que es mucho menos probable con un lenguaje de nivel superior (también pueden bloquearse, pero en la mayoría de los casos, el servidor web puede recuperarse con gracia, especialmente en plataformas que usan un -solicitar modelo de ciclo de vida, como PHP).
Dicho esto, si ya tiene la mayor parte de la base de código escrita, C ++ aún podría ser una opción viable. Necesitará encontrar algunas bibliotecas para cubrir todo tipo de cosas web (sobre todo, desea poder integrar un servidor web HTTP independiente en su programa, o conectarse a, por ejemplo, Apache, ya sea a través de FastCGI o compilando para un módulo; también querrá algún tipo de biblioteca de plantillas para hacer que la representación de documentos HTML sea sencilla).
Finalmente, está el problema del mercado de desarrolladores. Hay muchos desarrolladores de C ++ disponibles, e incluso más desarrolladores web, pero la superposición probablemente no sea tan grande, por lo que si alguna vez necesita contratar personas para trabajar en esto, tendrá más dificultades que, digamos, PHP
fuente
Como otros han dicho, conceptualmente, C ++ es un buen entorno para el desarrollo de un servidor web. Sin embargo, hay varias consideraciones al tomar esa decisión.
La popularidad de los lenguajes de secuencias de comandos para el diseño del servidor web es un tiempo de vuelta. Se pueden hacer cambios simples fácilmente con la demostración de resultados casi inmediatos. Encontrará que cualquier buen diseño de servidor web ofrecerá capacidades similares. De hecho, C ++ es un excelente entorno para lograr ese objetivo.
La clave para construir un buen sistema de aplicación de servidor web es la separación de la IU del código. Un objetivo al crear un entorno de aplicación web es evitar que "su interfaz de usuario esté en mi código y su código esté en mi interfaz de usuario".
Me gustaría cuidadosamente en sistemas como cppcms. Esperaría que ofrezca algo similar.
No necesita un lenguaje de script para ofrecer flexibilidad y rendimiento.
fuente