有使用Wt C ++框架的经验吗?[关闭]


72
  • 有人认真使用过Wt吗?
  • 运作良好吗?
  • 您是否遇到某些限制?还是优势?

Wt是用于开发Web应用程序的C ++库。

请避免讨论C ++是否是Web开发的好语言。我只想尝试一下Wt,因为这样做似乎很有趣。


3
我不知道Wt。发现它与您的问题。我对答案很感兴趣。对于懒惰的人:webtoolkit.eu/wt
Neuro

为什么不...尝试一下。免费!(很棒)
矢量

@Vector远非免费,而是通过编写一个大型,周到,功能强大的网站来测试Web框架,并发现在尝试每天扩展到10,000个用户时它不能很好地工作,这是非常昂贵的,或者有些g昧创建非常好的UI或其他可能存在的问题。问别人便宜得多!
lmat-恢复莫妮卡2015年

1
@LimitedAtonement-尝试某些操作时,请勿将其用于认真的大规模尝试。在投入大量资源之前,您将编写一个代表您的重要需求的小型原型项目以及一个压力测试框架。
矢量

Answers:


34

我没有亲自使用过该框架,但是已经与一些使用过该框架的人进行了讨论。它们实际上没有任何限制,但是我很难相信它们每次都在编译。他们的主要评论是,就内存使用而言,这在服务器上的负载很小。就个人而言,我认为php,python,ruby等解释性语言可以很好地与Web开发的性质配合使用-但这不是您要问的问题。可能最大的优势是能够利用您现有的技能来在新媒体上工作。

在网上也有一些讨论利弊的好评论。这是我发现的一个http://discuss.joelonsoftware.com/default.asp?biz.5.599655.33

但是,我认为这里的主要答案是,在没有特定项目要求的情况下,很难评估任何适用性框架。如果您认为尝试用它编写一些东西会很有趣,那么就试试吧。这将是确定它是否满足您需求的最佳方法(如果不是唯一的话)。


我还没有发现编译有什么大不了的。g ++进行增量构建,您可以在多个内核上运行它。通常,您需要经过一定数量的编辑后进行编译,以确保您的内容始终不会损坏,除非您一直在更改包含在所有地方的内容,否则它不会花费很长时间(在我的大多数项目中都是几秒钟)使-j8)。
MrFox 2012年

6
我支持MrFox的意见。编译不是什么大问题。它可以帮助您捕获愚蠢的错误。编译时错误比运行时错误要好-解释语言只给您运行时错误,这比发出问题make -j8然后等待几秒钟要麻烦得多,恕我直言……
Laryx Decidua 2013年

1
如果您使用Java或C#进行Web开发(Struts / ASP.NET MVC等),则每次修改非静态内容时都将重新编译。因此,我想这没什么大不了的。
Animesh 2013年

3
我很惊讶这被投票并被标记为答案。
vikingben 2014年

35

我一直在使用Wt来构建直接链接到C ++库的应用程序,但是并没有特别花费很多精力来练习CSS等布局功能。到目前为止,在构建这类应用程序时,它可以很好地替代GTK。我是Linux的专用用户,也是真正喜欢用C ++编程的不受洗的异教徒之一,而该框架对于我来说是构建可在许多平台上实际使用的应用程序的理想方式。


20

我已经尝试了几种C ++嵌入式Web服务器。它们往往是使用上的挑战,而不是Windows友好的。

(您没有提到您的平台。如果您使用的是Unix,那么我怀疑您会发现可用的服务器更易于使用,并且可能会忽略此答案。如果您使用的是Windows,请继续阅读...)

我曾尝试过Wt,但是由于安装大量软件而失败,该安装需要花费数小时才能编译并生成一页又一页的警告以及广泛的学习曲线。Wt是基于Qt建模的,因此,如果您熟悉Qt,学习曲线将不再是难题。

我尝试过John Bartas的Webio, 我很喜欢这个概念,并且效果很好。但是,我发现它使用起来过于复杂,并且服务器代码难以理解。Webio的许多复杂性是由于使用“ HTML编译器”隐藏控制应用程序代码中嵌入的文件系统内的GUI外观的HTML页面而引起的。我更喜欢将HTML页面放在外面以纯视图显示,这样就可以在不重新编译应用程序的情况下调整GUI。

我也看过TWS,作者 是Richard Hipp,他负责SQLITE和FOSSIL,我是其中的忠实拥护者。但是,自2001年以来一直没有维护TWS,并且它并不是真正的WINDOWS,因此我很不情愿地决定不继续使用它。

最后,我基于boost :: asio Web服务器的最小修改版本推出了自己的WEBEM。在概念上与TWS类似,但比TWS简单,它允许html代码执行C ++方法。


31
对于通过google来到这里的人们:在2011年,我非常轻松地尝试了Wt,而无需进行“大规模安装”。我发现它非常适合我的需求。
Offirmo

我使用Aptitude将其安装在Ubuntu 14.04上-花费了大约15秒钟,并且立即可以正常工作。只需链接到库中就可以了。
矢量

@Vector正如我提到的,我的答案仅适用于Windows。当然,如果安装预构建的二进制文件,它的速度非常快,但是您已经失去了使用开源的大部分好处。
ravenspoint 2014年

@ravenspoint-好的,我没听懂。但是,并非Windows特有的东西都不是“ Windows友好的”……我使用开源已有多年了-我从未修改过所用工具的源代码,但我节省了很多钱,为我的项目做贡献使用并拥有大量赚钱的好工具。
矢量

3
2014年,它在Windows上不到半小时就编译完毕,没有任何警告。Boost可能需要一段时间才能编译,但是无需自己编译。
爱丽丝

11

老实说,我已经看过它了,但是我看到了Wt的一个重大缺陷-它以Qt为模型。尝试使Web应用程序外观和行为类似于GUI。

我认为这种方法是错误的。客户端和服务器端之间应该有清晰的分隔。

如果您对C ++ Web编程感兴趣,请查看具有更传统MVC模型的CppCMS

注意,我有偏见,因为我是CppCMS的开发人员。


3
Qt之后的建模怎么会成为设计缺陷;)但是,我明白了。
Christian Rau

3
@Cristian因为设计GUI和为Web设计是两件截然不同的事情
Artyom

7
Artyom缺乏远见。对于类似GUI的Web应用程序,Wt提供的快捷方式非常好。@Artyom您是为客户设计的,而不是为网络专家设计的。
Offirmo

14
许多网站的运作方式是,它们看起来不像静态文档,而更像功能齐全的动态桌面应用程序。我知道很多情况下网站都是作为前端来取代客户端-服务器体系结构而构建的。在这种情况下,将网站开发为桌面应用程序是很有意义的,恕我直言,如果它使人们的生活更轻松,那么抽象一些令人讨厌的东西也很有意义。
MrFox 2012年

3
试图使Web应用程序看起来像GUI一样:GUI是GUI:随着Web变得越来越复杂,基于浏览器的应用程序越来越像桌面应用程序……客户端之间的明显分离-您真的喜欢拥有处理这么多愚蠢的浏览器?Qt可以说是有史以来最好的OOP框架-Qt之后的建模怎么可能会有缺点?
矢量

11

使用它制作了一个待办事项列表应用程序。效果很好,没有问题。


我可以想象它被嵌入并显示在瘦Web浏览器控件(.net,qtwebview等)中。好像这样会很有趣。
swdev

9

我目前使用它基于C中实现的处理算法来开发GPS测量处理Web应用程序。它运行良好,并且与旧版C / C ++代码具有良好的协同作用。

它的文档不够广泛,缺乏学习教程和相关书籍使学习变得有些困难。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.