是否有像C ++这样的编译语言的Web框架?

时间:2009-01-26 15:47:52

标签: c++ frameworks embedded

在我们的嵌入式设备上,我们目前使用PHP作为其Web界面,不幸的是它很慢。我们一直在尝试使用Python,但似乎(至少在FPU-less ARM架构上)和PHP一样慢。

因此我们正在考虑用C ++这样的编译语言实现Web界面,但到目前为止,我们发现的唯一的东西是Wt,它看起来更像桌面而不是Web框架,它的文档相当复杂对于初学者。

所以我的问题是:你知道C / C ++的任何好的Web框架吗?什么会让我完全开心会像C ++ Django,但我怀疑这样的事情存在: - )

12 个答案:

答案 0 :(得分:11)

您的网站在PHP中速度慢的原因是什么?你有没有想过代码来弄清瓶颈?用另一种语言替换整个代码库可能对工作来说太大了。

也许如果某些部分是计算密集型的,那么也许你可以用C ++实现一个PHP模块来完成这项工作。

答案 1 :(得分:10)

您可以查看CppCMS。我不知道它有多成熟或多好,但听起来就像你在寻找它。

另一种选择是用Python / PHP编写主​​应用程序,然后用C语言重写关键部分,这对我来说似乎更加明智。

答案 2 :(得分:10)

如果我是你,我会试试Wt。我不认为你会发现另一个解决方案完整且易于使用,具有类似性能的Wt。邮件列表是活动的,并且定期发布在嵌入式设备上使用它的人员。该项目的Wiki(here)提到了ARM上嵌入式部署和性能的一些数字。

答案 3 :(得分:7)

我刚看到此链接是CppCMS的引荐来源。关于它的几个问题/答案。

Q值。它是如何成熟的?
答:有一个基于它的Wiki 100%。开发人员博客也在CppCMS上运行。所以你可以看到它很有效。    好。至少对作者而言 问:“让我完全开心的是C ++ Django” 答:实际上它是“C ++ Django”。许多想法都直接来自Django,就像    表单,模板继承等等。所以你可能会有宾至如归的感觉 问:Nanogear
答:我看过它......它有很多计划,但代码不多 问:有多少项目使用它。
答:不多。这是一个很新的项目 问:我是谁? 答:说实话,我是CppCMS的开发者。

答案 4 :(得分:6)

您真的需要一个Web框架还是一个html模板库? 有关模板选项,请参阅此处:C++ HTML template framework, templatizing library, HTML generator library

答案 5 :(得分:4)

这里要看的一件事是将C ++用于某种Web服务而不是实际的Web应用程序开发环境。在我目前的一个项目中,我们生成JSON(并解析请求),然后让客户端(Web浏览器)处理剩下的事情。您可以在客户端计算机上获得大量的计算能力,混合使用一些javascripty魔法和繁荣,现在您的嵌入式设备可以回归到它应该做的事情。我个人有点喜欢Wt,并认为如果你想在C ++中开发整个“web应用程序”,这是你最好的选择。

至于如何让你的C ++代码开始提供Web服务的细节,你可以使用惊人的boost.asio库(他们有一个http服务器的例子)和json_spirit(我认为它在codeproject上)

答案 6 :(得分:3)

Nanogear怎么样?我还没用过它,所以我不确定它是否合适。这是网站的引用。

  

C ++是一个很棒的通用目的   编程语言,但没有现代,   易于使用且功能强大的C ++ Web   框架是在这些期间制定的   年份。我们试图填补空白   Nanogear。受Zend的启发   我们想要带来的框架和Rails   C ++很容易上网。

以下是旧googlecode网站Google Code Nanogear的链接。似乎有更多信息。

答案 7 :(得分:2)

试试Lua。在LuaForge上的某处有Xavante嵌入式Web服务器。

它非常快,非常小,非常可扩展 - 就像lua一样。

你有权使用Lua,脚本更适合使用,并使用C ++函数,需要更快的速度和对现有本机代码的连接。

答案 8 :(得分:1)

由于没有人说过,我会的。试试Java。 Java是一种具有良好Web框架的编译语言。它也具有很高的可扩展性。我曾经合作过的每一次合作都使用java作为主要的网络技术,这主要归功于这种可扩展性因素。不确定它是否适用于您的架构,但它回答了这个问题:

是否有编译语言的网页框架喜欢 C ++?

答案 9 :(得分:1)

您可以尝试embedded versionCppCMS

这是一个相当新的和开创性的发展,但看起来确实如此 比Wt更合适,因为它是面向矿石的(更接近Django) 而不是像GUI一样。

答案 10 :(得分:1)

查看 ffead c ++应用程序框架(http://code.google.com/p/ffead-cpp/),它是基于Spring for JAVA开发的。

答案 11 :(得分:1)

您可以查看Tntnet。它使用自己的模板语言,看起来有点像PHP,只有更多的附加标签。