Web 应用程序 - Web 应用程序和 C++

web applications - Web App and c++

本文关键字:Web 应用程序 C++      更新时间:2023-10-16

这对我来说是全新的,而且由于它似乎是微不足道的事情,我找不到我们心爱的朋友的任何回应......我的问题是:我必须创建一个网络应用程序,如果客户端的计算机上除了浏览器之外什么都没有,它就可以工作。我的问题是:是否可以在我的项目中包含一个外部库(这里我想使用 PCL(点云库),一个C++库),即使客户端没有安装任何东西,也可以让它工作?例如,如果我使用QtWebKit,我能够创建这种Web应用程序吗?

非常感谢,很

抱歉(也许)愚蠢的问题,我以前从未做过网络开发,这是我第一次。

有好的一天!

哇,

这个问题和一天一样广泛,但在这里(你没有给出太多关于你的背景,所以如果我太基础,我道歉)。

Web浏览器只是一个软件,它知道如何处理从TCP套接字传递HTTP的HTML,CSS和Javascript。

因此,在最基本的层面上,要在浏览器中工作,您只需要编写一个程序,该程序侦听TCP套接字,并根据HTTP协议在响应正文中传递标头和HTML。

因此,撇开套接字部分不谈,您的方法可能如下所示:

std::cout << "<h1>Hello, world!</h1>" << std::endl;

事实上,绝大多数原始的动态网站都是这样工作的:它们只是C程序,只是碰巧在过去产生HTML作为输出(cgi-bin)。

这种方法的主要问题是,将代码编写到这种详细程度以生成 HTML 非常繁琐且耗时,尤其是当您考虑 CSS 和 JavaScript 时。

这是当今大多数Web应用程序都是用Java,.Net,Ruby,PHP等实现的关键原因之一,因为有大量功能齐全,稳定和成熟的Web开发框架,这些框架消除了创建动态网站的繁重工作(C/C++非常罕见)。

但是,如果这绝对是您想要使用的语言,那么有几个很好的框架可供C++。

维基百科有一个关于C++框架的有限部分,但它涵盖了我建议调查的2个框架(CppCMS和Wt):https://en.wikipedia.org/wiki/Comparison_of_web_frameworks#C.2B.2B

其中,我只有CppCMS的直接经验,但我可以推荐它 - 它的方法C++是惯用的(至少在我看来,但我必须承认我更经常是一个Java Web开发人员而不是C++)

此外,在这个线程上有一个非常有用的,如果有点教条的SO讨论可能是相关的:制作网站/Web 应用程序的C++受欢迎程度如何?

相关文章: