Eu herdei um projeto bastante interessante, onde há uma boa oportunidade de pegar um software existente e transformá-lo em um aplicativo da web SaaS. Como o projeto é herdado, a base / estrutura de código já está definida como C ++ e MySQL. O aplicativo em si é compilado e executado como um EXE no Windows Server. A interface do usuário é baseada na Web e o aplicativo funciona como um tipo de servidor. Pelo que sei dos aplicativos da web modernos, essa talvez seja uma escolha incomum. Atualmente, a maioria das pessoas parece optar por uma estrutura PHP ou Ruby on Rails. Certamente é essa a impressão que tenho ao ler blogs sobre o assunto. Então, estou muito interessado em saber se um C ++ EXE suportado pelo MySQL é uma base sólida para um aplicativo da Web ou se devemos procurar criar de outra maneira?
fonte
Respostas:
Não há problema em criar um aplicativo Web usando C ++, se os benefícios superarem o custo, obviamente. Google, Amazon e Facebook são todos criados com C ++ para eficiência em velocidade, memória e energia - também conhecido como custo de servidores.
No entanto, como você adivinhou, existem desvantagens em usar C ++ para isso. Depende de suas ferramentas embora.
Primeiro, deixe-me citar o site cppcms sobre isso:
As desvantagens específicas do C ++ são:
Talvez dê uma olhada no CPPCMS? Ou talvez se você quiser criar um site no estilo GUI?
Verifique também estas perguntas:
fonte
Wordpress rodando em PHP com alguns plugins instalados traz meu servidor Winders de joelhos. Portanto, não tenho problemas com a idéia de implementar um aplicativo Web em C ++. A velocidade é uma parte crítica da experiência na web.
Barracas de design gráfico para impulsionar a maioria dos projetos da web. PHP é uma linguagem de script obscura que roda dentro do HTML. Permitindo que os autores do PHP escapem dentro e fora do HTML. Há muitos benefícios em trabalhar com HTML como resultado.
Ainda assim, você pode implementar qualquer número de soluções de modelo HTML em C ++.
Pode-se fornecer uma longa lista de estruturas Python e PHP que contribuem para o desenvolvimento rápido, mas se você tiver muito tempo, o C ++ é definitivamente possível.
O que eu não entendo é a sua decisão de fazer C ++ no Windows. ri muito
fonte
Certamente é uma escolha incomum. O C ++ não foi projetado com aplicativos da Web em mente e, embora existam bibliotecas para escrever, digamos, aplicativos FastCGI com C ++, você precisa fazer muito mais trabalho para aprimorar seu aplicativo básico. As "linguagens da Web" geralmente fazem muitas coisas que você precisa obter em outros lugares do C ++, como implementar o protocolo HTTP, gerar HTML etc.
Além disso, os aplicativos da Web são principalmente sobre strings, o que não é exatamente o lado mais forte do C ++ - não há nenhum tipo de string embutido na própria linguagem, e isso leva a algumas peculiaridades e torna o processamento de strings mais desajeitado do que seria em idiomas de nível. Manipulação de codificações de caracteres corretamente em bordas C ++ na magia negra. E o C ++ pode travar muito difícil, em código de aparência inocente, o que é muito menos provável com uma linguagem de nível superior (eles também podem travar, mas na maioria dos casos, o servidor da Web pode se recuperar normalmente, especialmente em plataformas que usam um modelo de ciclo de vida de solicitação, como PHP).
Dito isto, se você já possui a maior parte da base de código escrita, o C ++ ainda pode ser uma opção viável. Você precisará encontrar algumas bibliotecas para cobrir todos os tipos de itens da Web (principalmente, você deseja integrar um servidor da Web HTTP independente em seu programa ou conectar-se, por exemplo, ao Apache, por meio do FastCGI ou compilando para um módulo; você também desejará algum tipo de biblioteca de modelos para tornar a renderização de documentos HTML indolor).
Finalmente, há o problema do mercado de desenvolvedores. Existem muitos desenvolvedores de C ++ disponíveis e ainda mais desenvolvedores da Web, mas a sobreposição provavelmente não é tão grande; portanto, se você precisar contratar pessoas para trabalhar nessa questão, terá mais dificuldade do que, digamos, PHP.
fonte
Como outros já disseram, conceitualmente, o C ++ é um bom ambiente para o desenvolvimento de um servidor web. Existem, no entanto, várias considerações ao tomar essa decisão.
A popularidade das linguagens de script para o design de servidores da web está mudando. Alterações simples podem ser feitas facilmente com a demonstração de resultados quase imediata. Você descobrirá que qualquer bom design de servidor da Web oferecerá recursos semelhantes. De fato, o C ++ é um excelente ambiente para atingir esse objetivo.
A chave para criar um bom sistema de aplicativos para servidores da web é uma separação da interface do usuário do código. Uma meta na criação de um ambiente de aplicativo da web é evitar "Sua interface do usuário está no meu código e seu código está na minha interface do usuário".
Eu gostaria de ter cuidado em sistemas como o cppcms. Eu esperaria que ele oferece algo semelhante.
Você não precisa de uma linguagem de script para oferecer flexibilidade e desempenho.
fonte