对于我的一个应用程序,我想提供一个最小的 Web 界面。这个核心应用程序是用 C++ 编写的,并使用 Qt4 作为框架。由于我还使用我编写的一些库来计算一些事情并进行一些复杂的数据管理,我想使用这个现有的代码作为 Web 界面的后端。
想法 1:使用嵌入式 Web 服务器
我尝试的第一件事(并且在某种程度上有效)是使用嵌入式 Web 服务器(猫鼬)。正如你可以想象的那样,它只是一个非常薄的库,你必须自己实现很多东西(如会话管理、cookie 等)。
想法 2:使用普通的 Web 服务器并将 fcgi/cgi/scgi 后端添加到我的应用程序
我想到的下一件事是使用成熟但紧凑的 Web 服务器(例如 lighttpd)并简单地为其提供 fcgi/scgi/cgi 后端。我可以使用一个好的框架来编写 Web 应用程序,比如 Pylons、PHP 或 RoR,(...),并且只需要一个 URL 前缀,这样/a/...
我就可以直接与后端对话。
我试图在我的应用程序中实现 libfcgi,但它看起来比需要的更混乱(例如,您必须实现自己的 TCP/IP 套接字才能在您的应用程序和 Web 服务器之间传递数据并通过 FCGI 库将其隧道化,嗯)
想法 3:创建我的应用程序的命令行版本,它执行最基本的操作,并使用普通的 Web 服务器和框架来完成其余的工作
这是我脑海中浮现的第三个想法。它基本上是关于使用传统方式(PHP、RoR 等)创建 Web 应用程序,并使用我的应用程序的命令行版本来处理数据并在需要时返回数据。
我有一些创建 Web 应用程序的经验,但我从来没有做过这样的事情,所以我想听听一些想法或建议。我想在浏览器(即 AJAX)上使用 JavaScript,并在 Web 浏览器和服务器之间传递一些 JSON 结构,以使用户体验更加流畅。
那么您对此有何建议和想法?老实说,我不想重新发明轮子。